]> sjero.net Git - wget/commitdiff
Merging Ted Mielczarek's CSS changes with tip.
authorMicah Cowan <micah@cowan.name>
Tue, 22 Apr 2008 08:28:15 +0000 (01:28 -0700)
committerMicah Cowan <micah@cowan.name>
Tue, 22 Apr 2008 08:28:15 +0000 (01:28 -0700)
278 files changed:
.hgignore [new file with mode: 0644]
ABOUT-NLS [new file with mode: 0644]
AUTHORS
COPYING
ChangeLog
ChangeLog.README
GNUmakefile [new file with mode: 0644]
MAILING-LIST
Makefile.am [new file with mode: 0644]
Makefile.in [deleted file]
NEWS
PATCHES [deleted file]
README
README.checkout
TODO [deleted file]
autogen.sh
compile [new file with mode: 0755]
config.guess
config.rpath
config.sub
configure.ac [new file with mode: 0644]
configure.bat
configure.in [deleted file]
depcomp [new file with mode: 0755]
doc/ChangeLog
doc/Makefile.am [new file with mode: 0644]
doc/Makefile.in [deleted file]
doc/fdl.texi
doc/gpl.texi [deleted file]
doc/texi2pod.pl
doc/texinfo.tex [deleted file]
doc/version.texi [deleted file]
doc/wget.texi
install-sh
lib/Makefile.am [new file with mode: 0644]
lib/c-ctype.c [new file with mode: 0644]
lib/c-ctype.h [new file with mode: 0644]
lib/getopt.c [new file with mode: 0644]
lib/getopt.in.h [new file with mode: 0644]
lib/getopt1.c [new file with mode: 0644]
lib/getopt_int.h [new file with mode: 0644]
lib/gettext.h [new file with mode: 0644]
lib/stdbool.in.h [new file with mode: 0644]
lib/unistd.in.h [new file with mode: 0644]
link-warning.h [new file with mode: 0644]
m4/getopt.m4 [new file with mode: 0644]
m4/gettext.m4 [new file with mode: 0644]
m4/gnulib-cache.m4 [new file with mode: 0644]
m4/gnulib-common.m4 [new file with mode: 0644]
m4/gnulib-comp.m4 [new file with mode: 0644]
m4/gnulib-tool.m4 [new file with mode: 0644]
m4/iconv.m4 [new file with mode: 0644]
m4/include_next.m4 [new file with mode: 0644]
m4/lib-link.m4
m4/lib-prefix.m4
m4/nls.m4 [new file with mode: 0644]
m4/po.m4 [new file with mode: 0644]
m4/progtest.m4 [new file with mode: 0644]
m4/stdbool.m4 [new file with mode: 0644]
m4/unistd_h.m4 [new file with mode: 0644]
m4/wget.m4
maint.mk [new file with mode: 0644]
md5/Makefile.am [new file with mode: 0644]
md5/dummy.c [new file with mode: 0644]
md5/m4/gnulib-cache.m4 [new file with mode: 0644]
md5/m4/gnulib-common.m4 [new file with mode: 0644]
md5/m4/gnulib-comp.m4 [new file with mode: 0644]
md5/m4/gnulib-tool.m4 [new file with mode: 0644]
md5/m4/include_next.m4 [new file with mode: 0644]
md5/m4/longlong.m4 [new file with mode: 0644]
md5/m4/md5.m4 [new file with mode: 0644]
md5/m4/stdint.m4 [new file with mode: 0644]
md5/m4/wchar.m4 [new file with mode: 0644]
md5/md5.c [new file with mode: 0644]
md5/md5.h [new file with mode: 0644]
md5/stdint.in.h [new file with mode: 0644]
md5/wchar.in.h [new file with mode: 0644]
mdate-sh [new file with mode: 0755]
missing [new file with mode: 0755]
msdos/ChangeLog [new file with mode: 0644]
msdos/Makefile.DJ [new file with mode: 0644]
msdos/Makefile.WC [new file with mode: 0644]
msdos/config.h [new file with mode: 0644]
po/Makefile.in.in
po/Makevars [new file with mode: 0644]
po/POTFILES.in
po/Rules-quot [new file with mode: 0644]
po/be.po [new file with mode: 0644]
po/bg.po
po/boldquot.sed [new file with mode: 0644]
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en@boldquot.header [new file with mode: 0644]
po/en@boldquot.po [new file with mode: 0644]
po/en@quot.header [new file with mode: 0644]
po/en@quot.po [new file with mode: 0644]
po/en_GB.po
po/en_US.po [new file with mode: 0644]
po/eo.po
po/es.po
po/et.po
po/eu.po
po/fi.po
po/fr.po
po/ga.po
po/gl.po
po/he.po
po/hr.po
po/hu.po
po/id.po [new file with mode: 0644]
po/insert-header.sin [new file with mode: 0644]
po/it.po
po/ja.po
po/nb.po [new file with mode: 0644]
po/nl.po
po/no.po [deleted file]
po/pl.po
po/pt.po [new file with mode: 0644]
po/pt_BR.po
po/quot.sed [new file with mode: 0644]
po/remove-potcdate.sin [new file with mode: 0644]
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po
po/zh_TW.po
src/ChangeLog
src/Makefile.am [new file with mode: 0644]
src/Makefile.in [deleted file]
src/alloca.c
src/cmpt.c
src/config-post.h [deleted file]
src/connect.c
src/connect.h
src/convert.c
src/convert.h
src/cookies.c
src/cookies.h
src/ftp-basic.c
src/ftp-ls.c
src/ftp-opie.c
src/ftp.c
src/ftp.h
src/gen-md5.c
src/gen-md5.h
src/getopt.c [deleted file]
src/getopt.h [deleted file]
src/gettext.h [new file with mode: 0644]
src/gnu-md5.c [deleted file]
src/gnu-md5.h [deleted file]
src/gnutls.c
src/hash.c
src/hash.h
src/host.c
src/host.h
src/html-parse.c
src/html-parse.h
src/html-url.c
src/http-ntlm.c
src/http-ntlm.h
src/http.c
src/http.h
src/init.c
src/init.h
src/log.c
src/log.h
src/main.c
src/mswindows.c
src/mswindows.h
src/netrc.c
src/netrc.h
src/openssl.c
src/options.h
src/progress.c
src/progress.h
src/ptimer.c
src/ptimer.h
src/recur.c
src/recur.h
src/res.c
src/res.h
src/retr.c
src/retr.h
src/safe-ctype.c [deleted file]
src/safe-ctype.h [deleted file]
src/snprintf.c
src/spider.c
src/spider.h
src/ssl.h
src/sysdep.h
src/test.c
src/test.h
src/url.c
src/url.h
src/utils.c
src/utils.h
src/version.c [deleted file]
src/wget.h
src/xmalloc.c
src/xmalloc.h
stamp-h.in [deleted file]
tests/ChangeLog
tests/FTPServer.pm [new file with mode: 0644]
tests/FTPTest.pm [new file with mode: 0644]
tests/HTTPServer.pm [changed mode: 0755->0644]
tests/HTTPTest.pm [changed mode: 0755->0644]
tests/Makefile.am [new file with mode: 0644]
tests/Makefile.in [deleted file]
tests/Test--no-content-disposition-trivial.px [new file with mode: 0755]
tests/Test--no-content-disposition.px [new file with mode: 0755]
tests/Test--spider--no-content-disposition-trivial.px [new file with mode: 0755]
tests/Test--spider--no-content-disposition.px [new file with mode: 0755]
tests/Test--spider-HTTP-Content-Disposition.px [new file with mode: 0755]
tests/Test--spider-fail.px
tests/Test--spider-r--no-content-disposition-trivial.px [new file with mode: 0755]
tests/Test--spider-r--no-content-disposition.px [new file with mode: 0755]
tests/Test--spider-r-HTTP-Content-Disposition.px [new file with mode: 0755]
tests/Test--spider-r.px
tests/Test--spider.px
tests/Test-E-k-K.px
tests/Test-E-k.px
tests/Test-HTTP-Content-Disposition-1.px
tests/Test-HTTP-Content-Disposition-2.px
tests/Test-HTTP-Content-Disposition.px
tests/Test-N--no-content-disposition-trivial.px [new file with mode: 0755]
tests/Test-N--no-content-disposition.px [new file with mode: 0755]
tests/Test-N-HTTP-Content-Disposition.px [new file with mode: 0755]
tests/Test-N-current.px
tests/Test-N-old.px
tests/Test-N.px
tests/Test-O--no-content-disposition-trivial.px [new file with mode: 0755]
tests/Test-O--no-content-disposition.px [new file with mode: 0755]
tests/Test-O-HTTP-Content-Disposition.px [new file with mode: 0755]
tests/Test-O-nonexisting.px
tests/Test-O.px
tests/Test-Restrict-Lowercase.px
tests/Test-Restrict-Uppercase.px
tests/Test-auth-basic.px [new file with mode: 0755]
tests/Test-c-full.px
tests/Test-c-partial.px
tests/Test-c.px
tests/Test-ftp.px [new file with mode: 0755]
tests/Test-nonexisting-quiet.px
tests/Test-noop.px
tests/Test-np.px
tests/Test-proxy-auth-basic.px [new file with mode: 0755]
tests/Test.pm [deleted file]
tests/WgetTest.pm.in [new file with mode: 0644]
texinfo.tex [new file with mode: 0644]
util/Makefile.am [new file with mode: 0644]
util/Makefile.in [deleted file]
util/README
util/dist-wget [deleted file]
util/download-netscape.html [deleted file]
util/download.html [deleted file]
util/rmold.pl
util/trunc.c [new file with mode: 0644]
util/update_po_files.sh [deleted file]
util/wget.spec [deleted file]
windows/ChangeLog
windows/Makefile.am [new file with mode: 0644]
windows/Makefile.doc
windows/Makefile.in [deleted file]
windows/Makefile.src
windows/Makefile.top
windows/Makefile.top.bor
windows/Makefile.top.mingw
windows/config-compiler.h
windows/config.h

diff --git a/.hgignore b/.hgignore
new file mode 100644 (file)
index 0000000..666c5c3
--- /dev/null
+++ b/.hgignore
@@ -0,0 +1,68 @@
+# Automatically generated by `hgimportsvn`
+syntax:glob
+.svn
+**.orig
+aclocal.m4
+configure
+config.log
+**Makefile
+**Makefile.in
+config.status
+config.status.lineno
+autom4te.cache
+lib/.deps
+lib/*.o
+lib/libgnu.a
+lib/unistd.h
+lib/stdbool.h
+lib/stdint.h
+lib/wchar.h
+md5/.deps
+md5/*.o
+md5/libmd5.a
+tests/WgetTest.pm
+tests/unit-tests
+tests/*.o
+src/*.o
+src/.deps
+src/stamp-h1
+src/config.h
+src/config.h.in
+src/wget
+src/cscope.out
+src/tags
+src/TAGS
+src/libunittest.a
+src/version.c
+doc/stamp-vti
+doc/wget.1
+doc/wget.pod
+doc/wget.info
+doc/sample.wgetrc.munged_for_texi_inclusion
+doc/wget.aux
+doc/wget.cp
+doc/wget.cps
+doc/wget.dvi
+doc/wget.fn
+doc/wget.ky
+doc/wget.log
+doc/wget.pdf
+doc/wget.pg
+doc/wget.toc
+doc/wget.tp
+doc/wget.vr
+doc/wget_a4.ps
+doc/wget_us.ps
+doc/version.texi
+po/POTFILES
+po/*.gmo
+po/wget.pot
+po/remove-potcdate.sed
+po/stamp-po
+po/en@boldquot.insert-header
+po/en@quot.insert-header
+util/trunc
+util/trunc.o
+util/.deps
+**~
+**.*.swp
diff --git a/ABOUT-NLS b/ABOUT-NLS
new file mode 100644 (file)
index 0000000..30b81e1
--- /dev/null
+++ b/ABOUT-NLS
@@ -0,0 +1,1105 @@
+*** NOTE: Wget packages do not have gettext included; passages in
+the text below that describe how to configure with
+--with-included-gettext do _not_ apply. ***
+
+1 Notes on the Free Translation Project
+***************************************
+
+Free software is going international!  The Free Translation Project is
+a way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages.  A few packages already provide translations for their
+messages.
+
+   If you found this `ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU `gettext' internally,
+itself available at your nearest GNU archive site.  But you do _not_
+need to install GNU `gettext' prior to configuring, installing or using
+this package with messages translated.
+
+   Installers will find here some useful hints.  These notes also
+explain how users should proceed for getting the programs to use the
+available translations.  They tell how people wanting to contribute and
+work on translations can contact the appropriate team.
+
+   When reporting bugs in the `intl/' directory or bugs which may be
+related to internationalization, you should tell about the version of
+`gettext' which is used.  The information can be found in the
+`intl/VERSION' file, in internationalized packages.
+
+1.1 Quick configuration advice
+==============================
+
+If you want to exploit the full power of internationalization, you
+should configure it using
+
+     ./configure --with-included-gettext
+
+to force usage of internationalizing routines provided within this
+package, despite the existence of internationalizing capabilities in the
+operating system where this package is being installed.  So far, only
+the `gettext' implementation in the GNU C library version 2 provides as
+many features (such as locale alias, message inheritance, automatic
+charset conversion or plural form handling) as the implementation here.
+It is also not possible to offer this additional functionality on top
+of a `catgets' implementation.  Future versions of GNU `gettext' will
+very likely convey even more functionality.  So it might be a good idea
+to change to GNU `gettext' as soon as possible.
+
+   So you need _not_ provide this option if you are using GNU libc 2 or
+you have installed a recent copy of the GNU gettext package with the
+included `libintl'.
+
+1.2 INSTALL Matters
+===================
+
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language.  Most such
+packages use GNU `gettext'.  Other packages have their own ways to
+internationalization, predating GNU `gettext'.
+
+   By default, this package will be installed to allow translation of
+messages.  It will automatically detect whether the system already
+provides the GNU `gettext' functions.  If not, the included GNU
+`gettext' library will be used.  This library is wholly contained
+within this package, usually in the `intl/' subdirectory, so prior
+installation of the GNU `gettext' package is _not_ required.
+Installers may use special options at configuration time for changing
+the default behaviour.  The commands:
+
+     ./configure --with-included-gettext
+     ./configure --disable-nls
+
+will, respectively, bypass any pre-existing `gettext' to use the
+internationalizing routines provided within this package, or else,
+_totally_ disable translation of messages.
+
+   When you already have GNU `gettext' installed on your system and run
+configure without an option for your new package, `configure' will
+probably detect the previously built and installed `libintl.a' file and
+will decide to use this.  This might not be desirable.  You should use
+the more recent version of the GNU `gettext' library.  I.e. if the file
+`intl/VERSION' shows that the library which comes with this package is
+more recent, you should use
+
+     ./configure --with-included-gettext
+
+to prevent auto-detection.
+
+   The configuration process will not test for the `catgets' function
+and therefore it will not be used.  The reason is that even an
+emulation of `gettext' on top of `catgets' could not provide all the
+extensions of the GNU `gettext' library.
+
+   Internationalized packages usually have many `po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language.  Unless
+translations have been forbidden at `configure' time by using the
+`--disable-nls' switch, all available translations are installed
+together with the package.  However, the environment variable `LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+`LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+1.3 Using This Package
+======================
+
+As a user, if your language has been installed for this package, you
+only have to set the `LANG' environment variable to the appropriate
+`LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
+and `CC' is an ISO 3166 two-letter country code.  For example, let's
+suppose that you speak German and live in Germany.  At the shell
+prompt, merely execute `setenv LANG de_DE' (in `csh'),
+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
+This can be done from your `.login' or `.profile' file, once and for
+all.
+
+   You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries.  For
+example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
+country code serves to distinguish the dialects.
+
+   The locale naming convention of `LL_CC', with `LL' denoting the
+language and `CC' denoting the country, is the one use on systems based
+on GNU libc.  On other systems, some variations of this scheme are
+used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
+locales supported by your system for your language by running the
+command `locale -a | grep '^LL''.
+
+   Not all programs have translations for all languages.  By default, an
+English message is shown in place of a nonexistent translation.  If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
+for the purpose of message handling, but you still need to have `LANG'
+set to the primary language; this is required by other parts of the
+system libraries.  For example, some Swedish users who would rather
+read translations in German than English for when Swedish is not
+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+
+   Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from `no' to `nb' recently (in 2003).  During the
+transition period, while some message catalogs for this language are
+installed under `nb' and some older ones under `no', it's recommended
+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
+older translations are used.
+
+   In the `LANGUAGE' environment variable, but not in the `LANG'
+environment variable, `LL_CC' combinations can be abbreviated as `LL'
+to denote the language's main dialect.  For example, `de' is equivalent
+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
+(Portuguese as spoken in Portugal) in this context.
+
+1.4 Translating Teams
+=====================
+
+For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list.  The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
+area.
+
+   If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+`-request' appended.  For example, speakers of Swedish can send a
+message to `sv-request@li.org', having this message body:
+
+     subscribe
+
+   Keep in mind that team members are expected to participate
+_actively_ in translations, or at solving translational difficulties,
+rather than merely lurking around.  If your team does not exist yet and
+you want to start one, or if you are unsure about what to do or how to
+get started, please write to `translation@iro.umontreal.ca' to reach the
+coordinator for all translator teams.
+
+   The English team is special.  It works at improving and uniformizing
+the terminology in use.  Proven linguistic skills are praised more than
+programming skills, here.
+
+1.5 Available Packages
+======================
+
+Languages are not equally supported in all packages.  The following
+matrix shows the current state of internationalization, as of October
+2006.  The matrix shows, in regard of each package, for which languages
+PO files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+     Ready PO files       af am ar az be bg bs ca cs cy da de el en en_GB eo
+                        +----------------------------------------------------+
+     GNUnet             |                                  []                |
+     a2ps               |             []                [] [] []     []      |
+     aegis              |                                  ()                |
+     ant-phone          |                                  ()                |
+     anubis             |                                  []                |
+     ap-utils           |                                                    |
+     aspell             |                      [] []    [] []        []      |
+     bash               |                      []          []             [] |
+     batchelor          |                                  []                |
+     bfd                |                                                    |
+     bibshelf           |                                  []                |
+     binutils           |                               []                   |
+     bison              |                               [] []                |
+     bison-runtime      |                                                    |
+     bluez-pin          | []                      []       [] []          [] |
+     cflow              |                               []                   |
+     clisp              |                                  []    []          |
+     console-tools      |                         []       []                |
+     coreutils          |                []    []          []                |
+     cpio               |                                                    |
+     cpplib             |                      []       [] []                |
+     cryptonit          |                                  []                |
+     darkstat           |                []             () []                |
+     dialog             |                      [] [] [] [] [] []             |
+     diffutils          |                      [] []    [] [] []          [] |
+     doodle             |                                  []                |
+     e2fsprogs          |                         []       []                |
+     enscript           |                      []       [] []        []      |
+     error              |                      []       [] []        []      |
+     fetchmail          |                      []       [] () []             |
+     fileutils          |                               [] []                |
+     findutils          |                []    []       []                   |
+     flex               |                      []       [] []                |
+     fslint             |                                  []                |
+     gas                |                                                    |
+     gawk               |                      []       [] []                |
+     gbiff              |                                  []                |
+     gcal               |                      []                            |
+     gcc                |                                  []                |
+     gettext-examples   | []                   []          [] []          [] |
+     gettext-runtime    |             []       []       [] []             [] |
+     gettext-tools      |                      []          []                |
+     gimp-print         |                         []    [] []        []      |
+     gip                |                []                                  |
+     gliv               |                                  []                |
+     glunarclock        |                []                                  |
+     gmult              | []                               []                |
+     gnubiff            |                                  ()                |
+     gnucash            |                                  () ()     []      |
+     gnucash-glossary   |                               [] ()                |
+     gnuedu             |                                                    |
+     gnulib             | []          [] []    []       [] []                |
+     gnunet-gtk         |                                                    |
+     gnutls             |                                                    |
+     gpe-aerial         |                         []       []                |
+     gpe-beam           |                         []       []                |
+     gpe-calendar       |                                                    |
+     gpe-clock          |                         []       []                |
+     gpe-conf           |                         []       []                |
+     gpe-contacts       |                                                    |
+     gpe-edit           |                         []                         |
+     gpe-filemanager    |                                                    |
+     gpe-go             |                         []                         |
+     gpe-login          |                         []       []                |
+     gpe-ownerinfo      |                         []       []                |
+     gpe-package        |                                                    |
+     gpe-sketchbook     |                         []       []                |
+     gpe-su             |                         []       []                |
+     gpe-taskmanager    |                         []       []                |
+     gpe-timesheet      |                         []                         |
+     gpe-today          |                         []       []                |
+     gpe-todo           |                                                    |
+     gphoto2            |                         []    [] []        []      |
+     gprof              |                               [] []                |
+     gpsdrive           |                                  ()    ()          |
+     gramadoir          | []                               []                |
+     grep               | []          [] []    []          [] []             |
+     gretl              |                                                    |
+     gsasl              |                                                    |
+     gss                |                                                    |
+     gst-plugins        | []                   [] []    []                   |
+     gst-plugins-base   |                []    []       []                   |
+     gst-plugins-good   | []       []    []    [] []    []           []      |
+     gstreamer          | []             []    [] []    [] []        []      |
+     gtick              |                                  ()                |
+     gtkam              |                         []    [] []                |
+     gtkorphan          |                []                []                |
+     gtkspell           |             []                   [] []          [] |
+     gutenprint         |                               []                   |
+     hello              |                []    []       [] []             [] |
+     id-utils           |                               [] []                |
+     impost             |                                                    |
+     indent             |                      []          []             [] |
+     iso_3166           |                                  []             [] |
+     iso_3166_2         |                                                    |
+     iso_4217           |                                  []                |
+     iso_639            |                                  []             [] |
+     jpilot             |                         []                         |
+     jtag               |                                                    |
+     jwhois             |                                                    |
+     kbd                |                         []    [] [] []             |
+     keytouch           |                                                    |
+     keytouch-editor    |                                                    |
+     keytouch-keyboa... |                                                    |
+     latrine            |                                  ()                |
+     ld                 |                               []                   |
+     leafpad            |                []    [] []       [] []             |
+     libc               |                      [] []    [] [] []             |
+     libexif            |                                  []                |
+     libextractor       |                                  []                |
+     libgpewidget       |                         []    [] []                |
+     libgpg-error       |                                  []                |
+     libgphoto2         |                               [] []                |
+     libgphoto2_port    |                               [] []                |
+     libgsasl           |                                                    |
+     libiconv           |                                  []             [] |
+     libidn             |                               []                [] |
+     lifelines          |                               [] ()                |
+     lilypond           |                                  []                |
+     lingoteach         |                                                    |
+     lynx               |                      [] []    [] []                |
+     m4                 |                         []    [] [] []             |
+     mailutils          |                      []                            |
+     make               |                               [] []                |
+     man-db             |                      [] ()    [] []                |
+     minicom            |                         []    [] []                |
+     mysecretdiary      |                               [] []                |
+     nano               |                []    []          []                |
+     nano_1_0           |                      [] ()    [] []                |
+     opcodes            |                                  []                |
+     parted             |                                                    |
+     pilot-qof          |                                            []      |
+     psmisc             |                []                                  |
+     pwdutils           |                                                    |
+     python             |                                                    |
+     qof                |                                                    |
+     radius             |                      []                            |
+     recode             |             []       []       [] [] []          [] |
+     rpm                |                         []    []                   |
+     screem             |                                                    |
+     scrollkeeper       |          [] []       [] [] [] [] []        []      |
+     sed                |                      []          []             [] |
+     sh-utils           |                               [] []                |
+     shared-mime-info   |                []       []                 []   [] |
+     sharutils          |                []    [] []    [] [] []             |
+     shishi             |                                                    |
+     silky              |                                                    |
+     skencil            |                               [] ()                |
+     sketch             |                               [] ()                |
+     solfege            |                                                    |
+     soundtracker       |                               [] []                |
+     sp                 |                                  []                |
+     stardict           |                         []                         |
+     system-tools-ba... |       []       [] [] [] []    [] [] []     []      |
+     tar                |                []                                  |
+     texinfo            |                               [] []             [] |
+     textutils          |                      []       [] []                |
+     tin                |                                  ()        ()      |
+     tp-robot           |                                  []                |
+     tuxpaint           | []             []             [] []        []      |
+     unicode-han-tra... |                                                    |
+     unicode-transla... |                                                    |
+     util-linux         |                      [] []    [] []                |
+     vorbis-tools       |             []          []    []           []      |
+     wastesedge         |                                  ()                |
+     wdiff              |                      []       [] []        []      |
+     wget               |                      []          []                |
+     xchat              |             [] []    []          [] []     []      |
+     xkeyboard-config   |                                                    |
+     xpad               |                []             []                   |
+                        +----------------------------------------------------+
+                          af am ar az be bg bs ca cs cy da de el en en_GB eo
+                          10  0  1  2  9 22  1 42 41  2 60 95 16  1  17   16
+
+                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
+                        +--------------------------------------------------+
+     GNUnet             |                                                  |
+     a2ps               |    []       [] []                             () |
+     aegis              |                                                  |
+     ant-phone          |                []                                |
+     anubis             |                []                                |
+     ap-utils           |             [] []                                |
+     aspell             |                []  []                         [] |
+     bash               | []             []                    []          |
+     batchelor          |                []  []                            |
+     bfd                | []                                               |
+     bibshelf           | []                 []                         [] |
+     binutils           | []          [] []                                |
+     bison              | [] []          []  []                   []    [] |
+     bison-runtime      |    []          []  []                   []    [] |
+     bluez-pin          |             [] []  []                [] []       |
+     cflow              |                    []                            |
+     clisp              | []             []                                |
+     console-tools      |                                                  |
+     coreutils          | [] []       [] []  []                []          |
+     cpio               | []             []  []                            |
+     cpplib             | []             []                                |
+     cryptonit          |                []                                |
+     darkstat           | []             ()  []                [] []       |
+     dialog             | [] [] []    [] []  []                []       [] |
+     diffutils          | []          [] []  [] []    []       [] []    [] |
+     doodle             |                    []                         [] |
+     e2fsprogs          | []             []                             [] |
+     enscript           |                []  []             []             |
+     error              | []          [] []  []                []          |
+     fetchmail          | []                                               |
+     fileutils          | [] []          []  []                []       [] |
+     findutils          |    []          []  []                []          |
+     flex               | []             []  []                            |
+     fslint             |                []                                |
+     gas                | []             []                                |
+     gawk               | []             []  []       []                   |
+     gbiff              |                []                                |
+     gcal               | []             []                                |
+     gcc                | []                                               |
+     gettext-examples   | []             []  []                [] []    [] |
+     gettext-runtime    | []          [] []  []                   []    [] |
+     gettext-tools      | []             []                             [] |
+     gimp-print         | []             []                                |
+     gip                | []    []       []                                |
+     gliv               |                ()                                |
+     glunarclock        |             []     []                []          |
+     gmult              |       []       []                             [] |
+     gnubiff            |                ()                             () |
+     gnucash            | ()             ()                    ()          |
+     gnucash-glossary   | []                                            [] |
+     gnuedu             | []                                               |
+     gnulib             | [] [] []    [] []  [] []             []          |
+     gnunet-gtk         |                                                  |
+     gnutls             |                                                  |
+     gpe-aerial         | []             []                                |
+     gpe-beam           | []             []                                |
+     gpe-calendar       |                                                  |
+     gpe-clock          | []          [] []                    []          |
+     gpe-conf           |                []                                |
+     gpe-contacts       | []             []                                |
+     gpe-edit           | []             []                    [] []       |
+     gpe-filemanager    | []                                               |
+     gpe-go             | []             []                    []          |
+     gpe-login          | []             []                    []          |
+     gpe-ownerinfo      | []          [] []                    [] []       |
+     gpe-package        | []                                               |
+     gpe-sketchbook     | []             []                                |
+     gpe-su             | []          [] []                    []          |
+     gpe-taskmanager    | []          [] []                                |
+     gpe-timesheet      | []             []  []                   []       |
+     gpe-today          | []          [] []  []                            |
+     gpe-todo           | []                                               |
+     gphoto2            | []          [] []                    []       [] |
+     gprof              | []             []  []                   []       |
+     gpsdrive           | ()             ()                    []       () |
+     gramadoir          |                []  []                            |
+     grep               | [] [] []    [] []  [] []    []    [] [] []    [] |
+     gretl              | []             []                             [] |
+     gsasl              |                    []                   []       |
+     gss                |                []                                |
+     gst-plugins        |                []                    []       [] |
+     gst-plugins-base   |                                      []       [] |
+     gst-plugins-good   |       []                             []       [] |
+     gstreamer          |             []                       []       [] |
+     gtick              |                    []                            |
+     gtkam              | []             []                    []       [] |
+     gtkorphan          |                []                             [] |
+     gtkspell           | []    []    [] []  []                         [] |
+     gutenprint         |                                      []          |
+     hello              | [] [] [] [] [] []  [] []    []    [] [] []    [] |
+     id-utils           |                []  []                [] []    [] |
+     impost             |                []  []                            |
+     indent             | [] [] []    [] []  [] []             [] []    [] |
+     iso_3166           |             [] []                    []          |
+     iso_3166_2         |                []                                |
+     iso_4217           |    []       []        []             []          |
+     iso_639            |          [] [] []  []                []          |
+     jpilot             | []             []                                |
+     jtag               |                []                                |
+     jwhois             | []             []                    [] []    [] |
+     kbd                | []             []                                |
+     keytouch           |                    []                            |
+     keytouch-editor    |                    []                            |
+     keytouch-keyboa... |                    []                            |
+     latrine            |                []  []                         [] |
+     ld                 | []             []                                |
+     leafpad            | []             []  []       []       []       [] |
+     libc               | []          [] []     []             []          |
+     libexif            | []                                               |
+     libextractor       |                    []                            |
+     libgpewidget       | []             []  []                [] []       |
+     libgpg-error       |                                                  |
+     libgphoto2         | []             []                             [] |
+     libgphoto2_port    |                []                             [] |
+     libgsasl           |                []  []                            |
+     libiconv           |    []              []                            |
+     libidn             |                []                             [] |
+     lifelines          |                ()                                |
+     lilypond           |                []                                |
+     lingoteach         |                []                       []    [] |
+     lynx               |    []                                []       [] |
+     m4                 |                []  [] []                []       |
+     mailutils          | []             []                                |
+     make               | []          [] []  [] []    []    []    []       |
+     man-db             | ()                                               |
+     minicom            | []          [] []                    []          |
+     mysecretdiary      | []             []                       []       |
+     nano               | []    []       []  []                []       [] |
+     nano_1_0           | []             []     []                []    [] |
+     opcodes            | []          [] []  []                            |
+     parted             | []             []                       []    [] |
+     pilot-qof          |                                                  |
+     psmisc             |       []                             []       [] |
+     pwdutils           |                                                  |
+     python             |                                                  |
+     qof                |                                         []       |
+     radius             | []             []                                |
+     recode             | []             []  [] []    []       [] []    [] |
+     rpm                |                []                       []       |
+     screem             |                                                  |
+     scrollkeeper       | []          []                       []          |
+     sed                | [] []          []  []                []          |
+     sh-utils           | [] []       [] []  []                []       [] |
+     shared-mime-info   | []    []    [] []                    []       [] |
+     sharutils          | [] []       [] []  [] []             []       [] |
+     shishi             |                                                  |
+     silky              |                []                                |
+     skencil            | []             []                                |
+     sketch             | []             []                                |
+     solfege            |                                               [] |
+     soundtracker       | []             []                             [] |
+     sp                 |                []                                |
+     stardict           |                                      []          |
+     system-tools-ba... | []    []    [] []                 [] [] []    [] |
+     tar                | [] []       [] []  []                []       [] |
+     texinfo            |                []           []                   |
+     textutils          | []             []  [] []             []          |
+     tin                |    []          ()                                |
+     tp-robot           |             [] []  []                []          |
+     tuxpaint           |                    []                []          |
+     unicode-han-tra... |                                                  |
+     unicode-transla... |                []  []                            |
+     util-linux         | [] []       [] []                    [] []    [] |
+     vorbis-tools       | []             []                                |
+     wastesedge         |                ()                                |
+     wdiff              | [] []          []  [] []             [] []    [] |
+     wget               |    []       [] []  []             [] [] []    [] |
+     xchat              | []    []    [] []        []    []    []       [] |
+     xkeyboard-config   |             [] []                    []       [] |
+     xpad               | []                 []                []          |
+                        +--------------------------------------------------+
+                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
+                          88 22 14  2 40 115 61 14  1  8  1  6 59 31  0 52
+
+                          ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
+                        +-------------------------------------------------+
+     GNUnet             |                                                 |
+     a2ps               |    ()                      []          []    () |
+     aegis              |                                        ()       |
+     ant-phone          |                                        []       |
+     anubis             |                            []    []    []       |
+     ap-utils           |                            []                   |
+     aspell             |                         []             []       |
+     bash               |                                        []       |
+     batchelor          |                            []          []       |
+     bfd                |                                                 |
+     bibshelf           |                            []                   |
+     binutils           |                                                 |
+     bison              |                            []    []    []       |
+     bison-runtime      |                            []    []    []       |
+     bluez-pin          |       []                   []          []       |
+     cflow              |                                                 |
+     clisp              |                                        []       |
+     console-tools      |                                                 |
+     coreutils          |                                        []       |
+     cpio               |                                                 |
+     cpplib             |                                        []       |
+     cryptonit          |                                        []       |
+     darkstat           |                            []          []       |
+     dialog             |                            []          []       |
+     diffutils          | []                         []          []       |
+     doodle             |                                                 |
+     e2fsprogs          |                                        []       |
+     enscript           |                                        []       |
+     error              |                                        []       |
+     fetchmail          | []                                     []       |
+     fileutils          | []          []                                  |
+     findutils          |                                        []       |
+     flex               |    []                                  []       |
+     fslint             |                            []          []       |
+     gas                |                                                 |
+     gawk               | []                                     []       |
+     gbiff              |                                        []       |
+     gcal               |                                                 |
+     gcc                |                                                 |
+     gettext-examples   | []                                     []       |
+     gettext-runtime    | [] []                                  []       |
+     gettext-tools      | [] []                                           |
+     gimp-print         | []                                     []       |
+     gip                |                            []          []       |
+     gliv               |                                        []       |
+     glunarclock        |                            []          []       |
+     gmult              | []                         []                   |
+     gnubiff            |                                                 |
+     gnucash            | ()                               ()             |
+     gnucash-glossary   |                                        []       |
+     gnuedu             |                                                 |
+     gnulib             | [] []                      []          []       |
+     gnunet-gtk         |                                                 |
+     gnutls             |                                                 |
+     gpe-aerial         |                                        []       |
+     gpe-beam           |                                        []       |
+     gpe-calendar       | []                                              |
+     gpe-clock          | [] []                                  []       |
+     gpe-conf           |    []                                  []       |
+     gpe-contacts       |    []                                           |
+     gpe-edit           | [] []                                  []       |
+     gpe-filemanager    | [] []                                           |
+     gpe-go             | [] []                                  []       |
+     gpe-login          | [] []                                  []       |
+     gpe-ownerinfo      | []                                     []       |
+     gpe-package        | [] []                                           |
+     gpe-sketchbook     |    []                                  []       |
+     gpe-su             | [] []                                  []       |
+     gpe-taskmanager    | [] [] []                               []       |
+     gpe-timesheet      |                                        []       |
+     gpe-today          | []                                     []       |
+     gpe-todo           | []                                              |
+     gphoto2            | []                                     []       |
+     gprof              |                                                 |
+     gpsdrive           | ()                                     ()    () |
+     gramadoir          |                                        ()       |
+     grep               | []       []                      []    []       |
+     gretl              |                                                 |
+     gsasl              |                                        []       |
+     gss                |                                                 |
+     gst-plugins        |                                        []       |
+     gst-plugins-base   |                                                 |
+     gst-plugins-good   |                                        []       |
+     gstreamer          |                                        []       |
+     gtick              |                                                 |
+     gtkam              | []                                              |
+     gtkorphan          |                                        []       |
+     gtkspell           |                         []             []       |
+     gutenprint         |                                                 |
+     hello              | [] []                      []    []    [] []    |
+     id-utils           |                                        []       |
+     impost             |                                                 |
+     indent             | []                                     []       |
+     iso_3166           |                                        []       |
+     iso_3166_2         |                                        []       |
+     iso_4217           | []                      []             []       |
+     iso_639            | []                                     []       |
+     jpilot             | ()                                     ()    () |
+     jtag               |                                                 |
+     jwhois             |                                        []       |
+     kbd                |                                        []       |
+     keytouch           |                                        []       |
+     keytouch-editor    |                                                 |
+     keytouch-keyboa... |                                                 |
+     latrine            |                                        []       |
+     ld                 |                                                 |
+     leafpad            | []             []                               |
+     libc               | [] []                            []    []    [] |
+     libexif            |                                                 |
+     libextractor       |                                                 |
+     libgpewidget       |                                        []       |
+     libgpg-error       |                                                 |
+     libgphoto2         | []                                              |
+     libgphoto2_port    | []                                              |
+     libgsasl           |                                        []       |
+     libiconv           |                                                 |
+     libidn             | []                                     []       |
+     lifelines          |                                        []       |
+     lilypond           |                                                 |
+     lingoteach         |                                        []       |
+     lynx               | []                                     []       |
+     m4                 | []                                     []       |
+     mailutils          |                                                 |
+     make               | [] []                                  []       |
+     man-db             | ()                                              |
+     minicom            | []                                              |
+     mysecretdiary      |                                        []       |
+     nano               |                            []    []    []       |
+     nano_1_0           |                            []    []       []    |
+     opcodes            |                                        []       |
+     parted             | []                                     []       |
+     pilot-qof          |                                                 |
+     psmisc             | []                               []    []       |
+     pwdutils           |                                                 |
+     python             |                                                 |
+     qof                |                                                 |
+     radius             |                                                 |
+     recode             |                                        []       |
+     rpm                | [] []                                           |
+     screem             | []                                              |
+     scrollkeeper       |                                  [] [] [] []    |
+     sed                | []                                     []       |
+     sh-utils           | []                               []             |
+     shared-mime-info   |    []          []                []    [] []    |
+     sharutils          | []                                     []       |
+     shishi             |                                                 |
+     silky              |                                        []       |
+     skencil            |                                                 |
+     sketch             |                                                 |
+     solfege            |                                                 |
+     soundtracker       |                                                 |
+     sp                 | ()                                              |
+     stardict           |                      []                []       |
+     system-tools-ba... | [] []          []                      []       |
+     tar                | []       []                            []       |
+     texinfo            | []                               []    []       |
+     textutils          | [] []                            []             |
+     tin                |                                                 |
+     tp-robot           |                                        []       |
+     tuxpaint           |                                           []    |
+     unicode-han-tra... |                                                 |
+     unicode-transla... |                                                 |
+     util-linux         | []                                     []       |
+     vorbis-tools       |                                        []       |
+     wastesedge         |                                        []       |
+     wdiff              |                            []    []             |
+     wget               | []                                     []       |
+     xchat              | [] []                []                []       |
+     xkeyboard-config   |                                        []       |
+     xpad               |    []                      []          []       |
+                        +-------------------------------------------------+
+                          ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
+                          52 24  2  2  1  3  0  2  3 21  0 15  1 97  5  1
+
+                          nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
+                        +------------------------------------------------------+
+     GNUnet             |                                                      |
+     a2ps               |           ()     []      [] []       []    [] []     |
+     aegis              |                          () ()                       |
+     ant-phone          |                          []                   []     |
+     anubis             |           []             [] []                       |
+     ap-utils           |           ()                                         |
+     aspell             |                          [] []                       |
+     bash               |                  []      [] []                       |
+     batchelor          |                          []                   []     |
+     bfd                |                                                      |
+     bibshelf           |                                               []     |
+     binutils           |                             []                []     |
+     bison              |           []     []      [] []                []     |
+     bison-runtime      |           []             []          []       []     |
+     bluez-pin          |           []     []   [] [] []    [] []    [] []     |
+     cflow              |           []                                         |
+     clisp              |                             []                       |
+     console-tools      |                             []                       |
+     coreutils          |           []                []       []       []     |
+     cpio               |           []                []                []     |
+     cpplib             |                                               []     |
+     cryptonit          |                  []                           []     |
+     darkstat           |           []     []      []       []       [] []     |
+     dialog             |           [] []  []   [] [] [] []          [] []     |
+     diffutils          |           []     []      [] []             [] []     |
+     doodle             |                                         []    []     |
+     e2fsprogs          |           []                                  []     |
+     enscript           |                  []      [] []       []       []     |
+     error              |                  []      []       []          []     |
+     fetchmail          |           []                []          []           |
+     fileutils          |           []             [] []       []       []     |
+     findutils          |           [] []          []       [] []       []     |
+     flex               |           []     []      [] []                []     |
+     fslint             |                  []      []                [] []     |
+     gas                |                                                      |
+     gawk               |           []     []      []                   []     |
+     gbiff              |                          []                          |
+     gcal               |                                               []     |
+     gcc                |                                               []     |
+     gettext-examples   |           [] []          [] []    [] []    [] []     |
+     gettext-runtime    |           [] []          [] []    [] []    [] []     |
+     gettext-tools      |           []             [] []    [] []    [] []     |
+     gimp-print         |                                   []          []     |
+     gip                |                       []          []       [] []     |
+     gliv               |                  []      []       []          []     |
+     glunarclock        |                  []      [] []    []       [] []     |
+     gmult              |                       [] []                [] []     |
+     gnubiff            |                          ()                          |
+     gnucash            |           ()                                  []     |
+     gnucash-glossary   |              []                   []          []     |
+     gnuedu             |                                                      |
+     gnulib             |           []             [] []       []       []     |
+     gnunet-gtk         |                                               []     |
+     gnutls             |           []                                  []     |
+     gpe-aerial         |              []  []      [] []       []    [] []     |
+     gpe-beam           |              []  []      [] []       []    [] []     |
+     gpe-calendar       |                             []                       |
+     gpe-clock          |              []  []      [] []    [] []    [] []     |
+     gpe-conf           |              []  []      [] []    [] []       []     |
+     gpe-contacts       |                          [] []       []    [] []     |
+     gpe-edit           |              []  []      [] []    [] []    [] []     |
+     gpe-filemanager    |                                      []       []     |
+     gpe-go             |                  []      [] []       []    [] []     |
+     gpe-login          |              []  []      [] []    [] []    [] []     |
+     gpe-ownerinfo      |              []  []      [] []    [] []    [] []     |
+     gpe-package        |                                      []       []     |
+     gpe-sketchbook     |              []  []      [] []    [] []    [] []     |
+     gpe-su             |              []  []      [] []    [] []    [] []     |
+     gpe-taskmanager    |              []  []      [] []    [] []    [] []     |
+     gpe-timesheet      |              []  []      [] []    [] []    [] []     |
+     gpe-today          |              []  []      [] []    [] []    [] []     |
+     gpe-todo           |                             []       []    [] []     |
+     gphoto2            |           []             []       []       [] []     |
+     gprof              |                  []      []                   []     |
+     gpsdrive           |        []                []                   []     |
+     gramadoir          |                                   []          []     |
+     grep               |           [] []  []      [] []       []    [] []     |
+     gretl              |           []                                         |
+     gsasl              |           []                               [] []     |
+     gss                |           []             []                   []     |
+     gst-plugins        |     []                                  [] [] []     |
+     gst-plugins-base   |                                               []     |
+     gst-plugins-good   |     []                                  [] [] []     |
+     gstreamer          |                                         [] [] []     |
+     gtick              |                             []                       |
+     gtkam              |           []     []         []                []     |
+     gtkorphan          |                                               []     |
+     gtkspell           |                  []   [] [] []    [] []    [] []     |
+     gutenprint         |                                               []     |
+     hello              |           []     []      [] []    [] []    [] []     |
+     id-utils           |                  []      [] []                []     |
+     impost             |                                               []     |
+     indent             |                  []      [] []    []       [] []     |
+     iso_3166           |              []                []    [] [] [] []     |
+     iso_3166_2         |                                                      |
+     iso_4217           |                                []    []    [] []     |
+     iso_639            |                                []    []    [] []     |
+     jpilot             |                                                      |
+     jtag               |                                   []                 |
+     jwhois             |           []     []      []                   []     |
+     kbd                |           []             []                   []     |
+     keytouch           |                                               []     |
+     keytouch-editor    |                                               []     |
+     keytouch-keyboa... |                                               []     |
+     latrine            |                          []                   []     |
+     ld                 |                                               []     |
+     leafpad            |           [] []             []    []          []  [] |
+     libc               |           []     []         []    []          []     |
+     libexif            |           []                                         |
+     libextractor       |                          []                   []     |
+     libgpewidget       |              []  []      []       [] []    [] []     |
+     libgpg-error       |           []             []                          |
+     libgphoto2         |           []                                         |
+     libgphoto2_port    |           []                []                []     |
+     libgsasl           |           []             []                [] []     |
+     libiconv           |                                      []    []        |
+     libidn             |           []                               [] ()     |
+     lifelines          |           []                                  []     |
+     lilypond           |                                                      |
+     lingoteach         |                  []                                  |
+     lynx               |                  []         []                []     |
+     m4                 |           []     []      [] []                []     |
+     mailutils          |           []             [] []                []     |
+     make               |           []     []         []                []     |
+     man-db             |                          []                   []     |
+     minicom            |           []     []      [] []                []     |
+     mysecretdiary      |                  []      [] []                []     |
+     nano               |                  []      []                   []     |
+     nano_1_0           |           []             [] []                []     |
+     opcodes            |                          []                   []     |
+     parted             |           []                                         |
+     pilot-qof          |                                               []     |
+     psmisc             |           []                                  []     |
+     pwdutils           |           []                                  []     |
+     python             |                                                      |
+     qof                |                  []                           []     |
+     radius             |           []                []                       |
+     recode             |           [] []  []      [] []       []       []     |
+     rpm                |           [] []             []                []     |
+     screem             |                                                      |
+     scrollkeeper       |           []             [] []    []    [] [] []     |
+     sed                |           [] []  []      [] []    [] []    [] []     |
+     sh-utils           |                             []       []    []        |
+     shared-mime-info   |              []  []                     [] [] []     |
+     sharutils          |           []                []             [] []     |
+     shishi             |           []                                         |
+     silky              |                                   []                 |
+     skencil            |              []  []                           []     |
+     sketch             |              []  []                           []     |
+     solfege            |                                               []     |
+     soundtracker       |                                   []          []     |
+     sp                 |                                                      |
+     stardict           |                             []    []          []     |
+     system-tools-ba... |        [] [] []  []      []             [] [] []  [] |
+     tar                |           []             [] []       []       []     |
+     texinfo            |           []             [] []                []     |
+     textutils          |                             []       []       []     |
+     tin                |                             ()                       |
+     tp-robot           |                             []                       |
+     tuxpaint           |              []                      [] [] [] []     |
+     unicode-han-tra... |                                                      |
+     unicode-transla... |                                                      |
+     util-linux         |                  []         []       []       []     |
+     vorbis-tools       |                          [] []                       |
+     wastesedge         |                                                      |
+     wdiff              |           []     []      [] []    []          []     |
+     wget               |              []             []    []          []     |
+     xchat              |        []                   []    [] [] [] [] []     |
+     xkeyboard-config   |                                      []       []     |
+     xpad               |                                   [] []       []     |
+                        +------------------------------------------------------+
+                          nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
+                           0   2  3 58 30  54    5 73 72  4 40 46 11 50 128  2
+
+                          tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
+                        +---------------------------------------------------+
+     GNUnet             |                    []                             |  2
+     a2ps               |          [] []     []                             | 19
+     aegis              |                                                   |  0
+     ant-phone          |          []        []                             |  6
+     anubis             |          [] []     []                             | 11
+     ap-utils           |             ()     []                             |  4
+     aspell             |             []     []  []                         | 15
+     bash               |                    []                             | 11
+     batchelor          |          []        []                             |  9
+     bfd                |                                                   |  1
+     bibshelf           |                    []                             |  7
+     binutils           |          []        []                     []      |  9
+     bison              |          []        []                     []      | 19
+     bison-runtime      |                    []         []          []      | 15
+     bluez-pin          |          [] []     []  []     []          []      | 28
+     cflow              |             []     []                             |  5
+     clisp              |                                                   |  6
+     console-tools      |          []        []                             |  5
+     coreutils          |          []        []                             | 16
+     cpio               |          [] []     []                             |  9
+     cpplib             |          []        []         []          []      | 11
+     cryptonit          |                                                   |  5
+     darkstat           |                    []         ()          ()      | 15
+     dialog             |          [] []     []         []          []      | 30
+     diffutils          |          []        []         []          []      | 28
+     doodle             |                    []                             |  6
+     e2fsprogs          |          []        []                             | 10
+     enscript           |          [] []     []                             | 16
+     error              |          []        []         []          []      | 18
+     fetchmail          |          []        []                             | 12
+     fileutils          |          []                   []          []      | 18
+     findutils          |          []        []                     []      | 17
+     flex               |          []        []                             | 15
+     fslint             |                    []                             |  9
+     gas                |          []                                       |  3
+     gawk               |          []        []                             | 15
+     gbiff              |                    []                             |  5
+     gcal               |          []                                       |  5
+     gcc                |          []                   []          []      |  6
+     gettext-examples   |          [] []     []         []    []    []      | 27
+     gettext-runtime    |          [] []     []         []    []    []      | 28
+     gettext-tools      |          [] []     []         []          []      | 19
+     gimp-print         |             []     []                             | 12
+     gip                |                    []                     []      | 12
+     gliv               |          []        []                             |  8
+     glunarclock        |                    []  []                 []      | 15
+     gmult              |          []        []         []          []      | 15
+     gnubiff            |                    []                             |  1
+     gnucash            |          ()                                       |  2
+     gnucash-glossary   |                    []                     []      |  9
+     gnuedu             |                    []                             |  2
+     gnulib             |          [] []     []         []          []      | 28
+     gnunet-gtk         |                                                   |  1
+     gnutls             |                                                   |  2
+     gpe-aerial         |                    []         []                  | 14
+     gpe-beam           |                    []         []                  | 14
+     gpe-calendar       |                    []                             |  3
+     gpe-clock          |          []        []  []     []                  | 21
+     gpe-conf           |                    []         []                  | 14
+     gpe-contacts       |                    []         []                  | 10
+     gpe-edit           |          []        []  []                 []      | 20
+     gpe-filemanager    |                    []                             |  6
+     gpe-go             |          []        []                             | 15
+     gpe-login          |          []        []  []     []          []      | 21
+     gpe-ownerinfo      |          []        []         []          []      | 21
+     gpe-package        |                    []                             |  6
+     gpe-sketchbook     |          []        []                             | 16
+     gpe-su             |          []        []         []                  | 20
+     gpe-taskmanager    |          []        []         []                  | 20
+     gpe-timesheet      |          []        []         []          []      | 18
+     gpe-today          |          []        []  []     []          []      | 21
+     gpe-todo           |                    []                             |  7
+     gphoto2            |             []     []         []          []      | 20
+     gprof              |          []        []                             | 11
+     gpsdrive           |                                                   |  4
+     gramadoir          |                    []                             |  7
+     grep               |          [] []     []                     []      | 34
+     gretl              |                                                   |  4
+     gsasl              |                    []         []                  |  8
+     gss                |                    []                             |  5
+     gst-plugins        |             []     []                     []      | 15
+     gst-plugins-base   |             []     []         []                  |  9
+     gst-plugins-good   |             []     []         []    []    []      | 20
+     gstreamer          |          [] []     []                             | 17
+     gtick              |                    []                             |  3
+     gtkam              |                    []                             | 13
+     gtkorphan          |                    []                             |  7
+     gtkspell           |             []     []  []     []    []    []      | 26
+     gutenprint         |                                                   |  3
+     hello              |          [] []     []         []          []      | 37
+     id-utils           |          []        []                             | 14
+     impost             |                    []                             |  4
+     indent             |          []        []         []          []      | 25
+     iso_3166           |       [] []        []               []            | 16
+     iso_3166_2         |                                                   |  2
+     iso_4217           |          []        []                             | 14
+     iso_639            |                    []                             | 14
+     jpilot             |          [] []     []         []                  |  7
+     jtag               |                    []                             |  3
+     jwhois             |          []        []                     []      | 13
+     kbd                |          []        []                             | 12
+     keytouch           |                    []                             |  4
+     keytouch-editor    |                                                   |  2
+     keytouch-keyboa... |                    []                             |  3
+     latrine            |          []        []                             |  8
+     ld                 |          []        []         []          []      |  8
+     leafpad            |          []        []         []          []      | 23
+     libc               |          []                   []          []      | 23
+     libexif            |                    []                             |  4
+     libextractor       |                    []                             |  5
+     libgpewidget       |                    []  []     []                  | 19
+     libgpg-error       |                    []                             |  4
+     libgphoto2         |             []                                    |  8
+     libgphoto2_port    |             []     []                     []      | 11
+     libgsasl           |                    []                             |  8
+     libiconv           |                    []                             |  7
+     libidn             |                    []         []                  | 10
+     lifelines          |                                                   |  4
+     lilypond           |                                                   |  2
+     lingoteach         |                    []                             |  6
+     lynx               |          [] []     []                             | 15
+     m4                 |                    []         []          []      | 18
+     mailutils          |             []                                    |  8
+     make               |          []        []         []                  | 20
+     man-db             |                    []                             |  6
+     minicom            |                    []                             | 14
+     mysecretdiary      |          []        []                             | 12
+     nano               |                    []                     []      | 17
+     nano_1_0           |          [] []     []                             | 18
+     opcodes            |          []        []                             | 10
+     parted             |          [] []                            []      | 10
+     pilot-qof          |                    []                             |  3
+     psmisc             |                    []                             | 10
+     pwdutils           |                    []                             |  3
+     python             |                                                   |  0
+     qof                |                    []                             |  4
+     radius             |             []                                    |  6
+     recode             |          []        []         []                  | 25
+     rpm                |          [] []     []                     []      | 14
+     screem             |                    []                             |  2
+     scrollkeeper       |          [] []     []                     []      | 26
+     sed                |          []        []                     []      | 22
+     sh-utils           |          []                                       | 15
+     shared-mime-info   |             []     []         []          []      | 24
+     sharutils          |          []        []                     []      | 23
+     shishi             |                                                   |  1
+     silky              |                    []                             |  4
+     skencil            |                    []                             |  7
+     sketch             |                                                   |  6
+     solfege            |                                                   |  2
+     soundtracker       |          []        []                             |  9
+     sp                 |          []                                       |  3
+     stardict           |             []     []         []          []      | 11
+     system-tools-ba... |    []    [] []     []     []  []          []      | 37
+     tar                |          [] []     []                     []      | 20
+     texinfo            |          []        []         []                  | 15
+     textutils          |          []                   []          []      | 17
+     tin                |                                                   |  1
+     tp-robot           |                    []         []          []      | 10
+     tuxpaint           |                    []  []                 []      | 16
+     unicode-han-tra... |                                                   |  0
+     unicode-transla... |                                                   |  2
+     util-linux         |          [] []     []                             | 20
+     vorbis-tools       |             []     []                             | 11
+     wastesedge         |                                                   |  1
+     wdiff              |          []        []                             | 22
+     wget               |          []        []                     []      | 19
+     xchat              |             []     []         []          []      | 29
+     xkeyboard-config   |          [] []     []                     []      | 11
+     xpad               |                    []         []          []      | 14
+                        +---------------------------------------------------+
+       77 teams           tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
+      170 domains          0  1  1 77 39  0  136 10  1  48     5    54    0  2028
+
+   Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect.  This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+   For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and
+distributed as such by its maintainer.  There might be an observable
+lag between the mere existence a PO file and its wide availability in a
+distribution.
+
+   If October 2006 seems to be old, you may fetch a more recent copy of
+this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
+matrix with full percentage details can be found at
+`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+
+1.6 Using `gettext' in new packages
+===================================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU `gettext' in your
+package.  Of course you have to respect the GNU Library General Public
+License which covers the use of the GNU `gettext' library.  This means
+in particular that even non-free programs can use `libintl' as a shared
+library, whereas only free software can use `libintl' as a static
+library or use modified versions of `libintl'.
+
+   Once the sources are changed appropriately and the setup can handle
+the use of `gettext' the only thing missing are the translations.  The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project.  Therefore the information given above
+applies also for every other Free Software Project.  Contact
+`translation@iro.umontreal.ca' to make the `.pot' files available to
+the translation teams.
+
diff --git a/AUTHORS b/AUTHORS
index 96767967860f9523b8c5631b62c30ed0119ed2f1..219877e9a4fb65bad0661875c0f5d7ef8376215b 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -17,7 +17,8 @@ Junio Hamano.  Added support for FTP Opie and HTTP digest
 authentication.
 
 Dan Harkless.  Added --backup-converted, --follow-tags, --html-extension,
---ignore-tags, and --page-requisites; improved documentation; etc.
+--ignore-tags, and --page-requisites; improved documentation; etc. Was
+the principle maintainer of GNU Wget for some time.
 
 Christian Fraenkel.  Initially implemented SSL support.
 
@@ -25,15 +26,22 @@ Thomas Lussnig.  Initially implemented IPv6 support.
 
 Ian Abbott.  Contributed bugfixes, Windows-related fixes, provided a
 prototype implementation of the new recursive code, and more.
+Co-maintained Wget during the 1.8 release cycle.
 
-Gisle Vanem.  Contributed Windows improvements, including a port of
-run_with_timeout to Windows, additions to Makefiles, and many bug
-reports and fixes.
+Gisle Vanem.  Contributed Windows and MS-DOS improvements, including a
+port of run_with_timeout to Windows, additions to Makefiles, and many
+bug reports and fixes.
 
 Mauro Tortonesi.  Improved IPv6 support, adding support for dual
-family systems.  Refactored and enhanced FTP IPv6 code.
+family systems.  Refactored and enhanced FTP IPv6 code. Maintained GNU
+Wget from 2004-2007.
 
 Nicolas Schodet.  Contributed to cookie code and documentation.
 
 Daniel Stenberg.  NTLM authentication in http-ntlm.c and http-ntlm.h
 originally written for curl donated for use in GNU Wget.
+
+Micah Cowan.  Current Wget maintainer, from mid-2007.
+
+Ralf Wildenhues.  Contributed patches to convert Wget to use Automake as
+part of its build process, and various bugfixes.
diff --git a/COPYING b/COPYING
index 3912109b5cd65a68039d473c11c9f7ac2303e06d..94a9ed024d3859793618152ea559a168bbcbb5e2 100644 (file)
--- a/COPYING
+++ b/COPYING
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
 
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-                           Preamble
+                            Preamble
 
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
 price.  Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
 
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
 
   For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
 this License.
 
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
 otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
 be similar in spirit to the present version, but may differ in detail to
 address new problems or concerns.
 
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Programs
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
 possible use to the public, the best way to achieve this is to make it
@@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms.
 
   To do so, attach the following notices to the program.  It is safest
 to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
+state the exclusion of warranty; and each file should have at least
 the "copyright" line and a pointer to where the full notice is found.
 
     <one line to give the program's name and a brief idea of what it does.>
     Copyright (C) <year>  <name of author>
 
-    This program is free software; you can redistribute it and/or modify
+    This program 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 2 of the License, or
+    the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -304,37 +645,30 @@ the "copyright" line and a pointer to where the full notice is found.
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 Also add information on how to contact you by electronic and paper mail.
 
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
 
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
 
 The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
index ded665516c8d7e26063fa93c0a44996ad8a2a741..059157fa18cfc18d9c0be3c547cc003185eea6a0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,283 @@
+2008-03-20  Micah Cowan  <micah@cowan.name>
+
+       * ABOUT-NLS: Reinstated, but with a message mentioning that
+       gettext is not included.
+       * Makefile.am: Removed "test" target; "check" should be used
+       instead (and "test" was mildly broken, anyway).
+
+2008-03-24  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: Added documentation change re: --no-parents, and various
+       caveats on accept/reject lists behavior. Rearranged some items in
+       order of priority.
+
+2008-02-14  Micah Cowan  <micah@cowan.name>
+
+       * ABOUT-NLS: Removed.
+
+2008-02-10  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: Added note re interrupted files resulting in renames,
+       and new --auth-no-challenge option.
+
+2008-02-06  Micah Cowan  <micah@cowan.name>
+
+       * configure.ac (AC_CHECK_FUNCS): Added check for mbtowc.
+       * NEWS: Added notes regarding fixes for the localized progress
+       bar and --no-clobber wasted GET request.
+       * po/be.po: Added from the TP.
+
+2008-02-03  Micah Cowan  <micah@cowan.name>
+
+       * configure.in: Add checks for wchar.h, wcwidth function (to
+       support column-counting in progress.c).
+       * NEWS: Added line for 1.11.1.
+       * util/README, util/Makefile.am, util/trunc.c: Added a small
+       utility program to create files of arbitrary size (useful for
+       testing certain situations with --continue).
+
+2008-01-31  Micah Cowan  <micah@cowan.name>
+
+       * util/README, util/dist-wget, util/download-netscape.html,
+       util/download.html, util/update_po_files.sh, util/wget.spec:
+       Removed (obsolete and/or incomplete).
+       * Makefile.am: Removed no-longer-existant util stuff from
+       extra_DIST (but added the README).
+
+2008-01-28  Micah Cowan  <micah@cowan.name>
+
+       * po/en@quot.po, po/en@boldquot.po, po/en_US.po: Updated
+       translations for copyright year in --version.
+       * po/Rules-quot: Make en@*-update should create wget.pot.
+       * configure.ac: Ensure that en_US appears in ALL_LINGUAS exactly
+       once.
+
+2008-01-25  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am, NEWS, README, configure.ac, configure.bat,
+       m4/wget.m4, po/POTFILES.in, util/Makefile.am, util/dist-wget,
+       util/rmold.pl, files: Updated copyright year.
+
+2008-01-24  Micah Cowan  <micah@cowan.name>
+
+       * configure.ac: Added en_US LINGUA (generated).
+       * po/Rules-quot: Added rule to copy en_US.po from en@quot.po.
+       * po/boldquot.sed, po/quot.sed: Translate _all_ apostrophes we
+       find, not just the ones used for quotes; and add rules to use
+       the copyight symbol, and write Hrvoje's last name properly. ^_^
+       * po/en@quot.po, po/en@boldquot.po: Updated by new rules.
+       * po/en_US.po: Added.
+
+2007-12-10  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: Removed developer-only notices (Autoconf, TODO, PATCHES,
+       GNUTLS).
+
+2007-12-07  Micah Cowan  <micah@cowan.name>
+
+       * lib/Makefile.am, lib/c-ctype.c, lib/c-ctype.h, lib/gettext.h,
+       lib/stdbool.in.h, lib/unistd.in.h, m4/gnulib-cache.m4,
+       m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/unistd_h.m4:
+       Updated from gnulib.
+       * Makefile.am, configure.ac: Plugged in the md5/ stuff.
+       * lib/md5.c, lib/md5.h, lib/stdint.in.h, lib/wchar.in.h,
+       m4/longlong.m4, m4/md5.m4, m4/stdint.m4, m4/wchar.m4: Moved to
+       md5/.
+       * md5/Makefile.am, md5/dummy.c, md5/m4/gnulib-cache.m4,
+       md5/m4/gnulib-common.m4, md5/m4/gnulib-comp.m4,
+       md5/m4/gnulib-tool.m4, md5/m4/include_next.m4,
+       md5/m4/longlong.m4, md5/m4/md5.m4, md5/m4/stdint.m4,
+       md5/m4/wchar.m4, md5/md5.c, md5/md5.h, md5/stdint.in.h,
+       md5/wchar.in.h: Moved/copied from lib/, m4/; updated from
+       gnulib.
+       * m4/ulonglong.m4: Removed (via update from gnulib).
+
+2007-12-05  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: Reword warnings regarding --content-disposition.
+
+2007-11-28  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am, README, autogen.sh, configure.bat, configure.in,
+       m4/wget.m4, util/Makefile.am, util/dist-wget: Updated license
+       exception for OpenSSL, per the SFLC.
+
+2007-10-23  Micah Cowan  <micah@schmendrick>
+
+       * lib/stdbool.in.h, lib/stdint.in.h: gnulib-tool --update.
+       Includes fix for broken stdbool.h on Tru64.
+
+2007-10-22  Micah Cowan  <micah@cowan.name>
+
+       * po/*.po: Refresh from TP and update-po.
+       * lib/Makefile.am, m4/gnulib-cache.m4, m4/longlong.m4,
+       m4/ulonglong.m4, maint.mk:  gnulib-tool --update. Includes fix
+       for maint.mk with old versions of gzip.
+
+2007-10-18  Micah Cowan  <micah@cowan.name>
+
+       * po/POTFILES.in: Removed no-longer-existing or generated files.
+       * autogen.sh: Reinstated, in case we have to do something at
+       some point other than autoreconf.
+       * Makefile.am: Put autogen.sh back in EXTRA_DIST. Just in case
+       someone needs to rebuild configure.
+       * configure.ac: Removed config-post.h inclusion from bottom of
+       generated config.h.
+
+2007-10-16  Micah Cowan  <micah@cowan.name>
+
+       * README: Draw attention to wiki:PatchGuidelines.
+
+2007-10-14  Micah Cowan  <micah@cowan.name>
+
+       * configure.ac: Let gnulib handle builtin MD5 functionality.
+       * NEWS: Mention gnulib.
+
+2007-10-13  Micah Cowan  <micah@cowan.name>
+
+       * GNUMakefile, maint.mk: Added as part of the gnulib-ization.
+       * Makefile.am: gnulib-ized.
+       * configure.ac: gnulib-ized. Removed built-in getopt checks.
+
+2007-10-12  Micah Cowan  <micah@cowan.name>
+
+       * PATCHES: Removed.
+       * NEWS: Updated info about source repositories, removal of
+       PATCHES file.
+
+2007-10-09  Micah Cowan  <micah@cowan.name>
+
+       * configure.in: Renamed to configure.ac
+       * configure.ac: Renamed from configure.in. Added invocations of
+       AM_GNU_GETTEXT, etc. Added en@quot and en@boldquot pseudo-LINGUA
+       support.
+       * ABOUT-NLS: Added back in (required by autoreconf :\).
+       * Makefile.am: Added ABOUT-NLS and msdos/Makefile.WC to EXTRA_DIST.
+       * m4/wget.m4: Removed no-longer-used NLS stuff.
+       * Makefile.in.in: Restore previous policy of not updating .po's
+       unless explicitly asked (via update-po).
+
+2007-10-09  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * m4/gettext.m4: New file, from gettext-0.16.1.
+       * m4/iconv.m4: New file, from gettext-0.16.1.
+       * m4/lib-ld.m4: Upgrade to gettext-0.16.1.
+       * m4/lib-link.m4: Upgrade to gettext-0.16.1.
+       * m4/lib-prefix.m4: Upgrade to gettext-0.16.1.
+       * m4/nls.m4: New file, from gettext-0.16.1.
+       * m4/po.m4: New file, from gettext-0.16.1.
+       * m4/progtest.m4: New file, from gettext-0.16.1.
+       * po/Makefile.in.in: Upgrade to gettext-0.16.1.
+       * po/Rules-quot: New file, from gettext-0.16.1.
+       * po/boldquot.sed: New file, from gettext-0.16.1.
+       * po/en@boldquot.header: New file, from gettext-0.16.1.
+       * po/en@quot.header: New file, from gettext-0.16.1.
+       * po/insert-header.sin: New file, from gettext-0.16.1.
+       * po/quot.sed: New file, from gettext-0.16.1.
+       * po/remove-potcdate.sin: New file, from gettext-0.16.1.
+
+2007-10-08  Micah Cowan  <micah@cowan.name>
+
+       * AUTHORS: Credit to Ralf Wildenhues for automakifying patches.
+
+2007-10-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * po/Makefile.in.in: Since `distdir' is used now, adjust
+       DISTFILES to the missing ChangeLog file.
+       Add trivial targets ps, pdf, html.
+       * Makefile.in: Removed, replaced by Makefile.am.
+       * Makefile.am: Converted from Makefile.in.
+       * util/Makefile.in: Removed, replaced by Makefile.am.
+       * util/Makefile.am: Converted from Makefile.in.
+       * configure.in: Adjust for automake support.
+
+2007-10-05  Micah Cowan  <micah@cowan.name>
+
+       * config.guess, config.sub, install-sh: Update from versions
+       found in /usr/share/automake/.
+       * autogen.sh: Removed, in favor of just running autoreconf.
+
+2007-10-03  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: Note missing functionality from GnuTLS support. Call out
+       attention to content_disposition's experimental status.
+
+2007-09-25  Micah Cowan  <micah@cowan.name>
+
+       * configure.in: Remove unnecessary heuristic to generate exeext
+       variable, since AC_PROG_CC and others automatically set EXEEXT.
+       Pointed out by Steve Kenton <skenton@ou.edu>.
+
+2007-09-12  Micah Cowan  <micah@cowan.name>
+
+       * AUTHORS: Added... me...
+       * TODO: file removed, bugtracker is authoritative source for
+       planned changes.
+
+2007-08-26  Micah Cowan  <micah@cowan.name>
+
+       * po/POTFILES.in: Added spider.c.
+
+2007-08-24  Micah Cowan  <micah@cowan.name>
+
+       * po/no.po: removed; replaced by nb.po (per the translation
+       project coordinator, Benno Schulenberg).
+
+2007-08-22  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.in: Exclude .svn directories and below from
+       distribution.
+
+2007-08-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * m4/wget.m4 (WGET_PROCESS_PO, AM_PATH_PROG_WITH_TEST): Add
+       missing M4 quotation.  Delete serial number.
+
+2007-08-09  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: Timestamping from most recent response.
+
+2007-08-08  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: Call attention to the fact that Content-Disposition is
+       not enabled by default.
+
+2007-08-07  Micah Cowan  <micah@cowan.name>
+
+       * configure.in: Fix --with-libssl-prefix failure by replacing
+       usage of sh "if" statement with "AS_IF" macros, to force
+       AC_REQUIRE'd macros to be expanded before the conditional
+       statement body.
+       * NEWS: Note that configure.in now requires autoconf >= 2.61,
+       to support AS_IF and its expansion of AC_REQUIREs.
+
+2007-07-29  Micah Cowan  <micah@cowan.name>
+
+       * NEWS: No more auth before challenge. No more auth info in
+       Referer. New --max-redirect option.
+
+2007-07-09  Micah Cowan  <micah@cowan.name>
+
+       * README, util/wget.spec: Removed references to wget.sunsite.dk.
+
+2007-07-05  Micah Cowan  <micah@cowan.name>
+
+       * AUTHORS:
+       Draw attention to previous maintainers.
+
+       * autogen.sh, config.guess, config.sub, configure.bat:
+       * configure.in, m4/wget.m4, Makefile.in, util/dist-wget:
+       * util/Makefile.in, util/rmold.pl:
+       Updated GPL reference to version 3 or later, removed FSF
+       address.
+
+       * README:
+       Updated reference to maintainer, and updated GPL reference to
+       version 3 or later.
+
+       * COPYING:
+       Replaced with verson 3.
+
 2006-08-28  Noèl Köthe <noel@debian.org>
 
        * Makefile.in: Fixed a DESTDIR-related bug.
 2001-03-20  Dan Harkless  <wget@harkless.org>
 
        * TODO: Oops.  Hostless absolute link conversion _is_ working.  My
-       test that led me to believe it wasn't was exposing a different bug
-       -- URLs specified on the commandline as opposed to being recursed
+       test that led me to believe it wasn't was exposing a different bug
+       -- URLs specified on the commandline as opposed to being recursed
        to don't always get re-converted at the end of the Wget run.
 
 2001-03-17  Dan Harkless  <wget@harkless.org>
 2001-03-12  Dan Harkless  <wget@harkless.org>
 
        * TODO: Only normal recursion should respect -np -- page-requisite
-       recursion should not.
+       recursion should not.
 
 2001-03-07  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
 
 2001-03-01  Dan Harkless  <wget@harkless.org>
 
        * ChangeLog.README: Renamed from README.branches and added a note
-       that Wget has multiple ChangeLog files (currently ./ChangeLog,
-       doc/ChangeLog, and src/ChangeLog), since this is unusual and
-       people have complained their patches hadn't been applied after
-       checking only the top-level ChangeLog.
+       that Wget has multiple ChangeLog files (currently ./ChangeLog,
+       doc/ChangeLog, and src/ChangeLog), since this is unusual and
+       people have complained their patches hadn't been applied after
+       checking only the top-level ChangeLog.
 
 2001-02-28  Dan Harkless  <wget@harkless.org>
 
        moving -nr to a different category.
 
        * TODO: "Timestamps are sometimes not copied over on files
-       retrieved by FTP." removed.  Hopefully all the failures I was
-       seeing were due to the fact that it wasn't documented that
-       non-globbing, non-recursive FTP downloads need -N to get the
-       remote timestamp to be preserved.
+       retrieved by FTP." removed.  Hopefully all the failures I was
+       seeing were due to the fact that it wasn't documented that
+       non-globbing, non-recursive FTP downloads need -N to get the
+       remote timestamp to be preserved.
 
 2001-02-22  Dan Harkless  <wget@harkless.org>
 
 2001-01-11  Dan Harkless  <wget@harkless.org>
 
        * TODO: If -c used with -N, check to make sure a file hasn't
-       changed on the server before "continuing" to download it.
+       changed on the server before "continuing" to download it.
        
 2001-01-11  Adrian Aichner  <Adrian.Aichner@t-online.de>
 
        directory got fixed without the TODO entry for it being removed.
 
        * TODO: Add a "rollback" option to have --continue throw away X
-       corrupted (e.g. by proxy) bytes from end of file before resuming.
+       corrupted (e.g. by proxy) bytes from end of file before resuming.
 
        * po/*.po*: Updated after changing --help's description of -c.
 
        * README.branches: Explains the 1.6_branch.ChangeLog files.
 
        * README.cvs: Falsely claimed you only needed GNU autoconf to
-       build from the CVS sources.  You also need GNU gettext and
-       texinfo.  I also did a bunch of general re-writing of this file.
+       build from the CVS sources.  You also need GNU gettext and
+       texinfo.  I also did a bunch of general re-writing of this file.
 
 2001-01-03  Dan Harkless  <wget@harkless.org>
 
index d50b07821e59805de91f110940f1fcd172eaecc9..19394501798117fb869b93579188291e382adc3f 100644 (file)
@@ -10,5 +10,7 @@ Please note that Wget has more than one ChangeLog file:
 
     windows/ChangeLog: documents only changes to files in the windows directory
 
+    msdos/ChangeLog: documents only changes to files in the msdos directory
+
 When checking to see if a patch you sent in has been applied, please
 look in the appropriate ChangeLog(s).
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644 (file)
index 0000000..35c8869
--- /dev/null
@@ -0,0 +1,60 @@
+# Having a separate GNUmakefile lets me `include' the dynamically
+# generated rules created via Makefile.maint as well as Makefile.maint itself.
+# This makefile is used only if you run GNU Make.
+# It is necessary if you want to build targets usually of interest
+# only to the maintainer.
+
+# Copyright (C) 2001, 2003, 2006, 2007 Free Software Foundation, Inc.
+#
+# This program 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 3 of the License,
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Systems where /bin/sh is not the default shell need this.  The $(shell)
+# command below won't work with e.g. stock DOS/Windows shells.
+ifeq ($(wildcard /bin/s[h]),/bin/sh)
+SHELL = /bin/sh
+else
+# will be used only with the next shell-test line, then overwritten
+# by a configured-in value
+SHELL = sh
+endif
+
+# Make tar archive easier to reproduce.
+export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
+
+# Ran autoreconf and configure or not?
+have-Makefile := $(shell test -f Makefile && echo yes)
+ifeq ($(have-Makefile),yes)
+
+include Makefile
+-include $(srcdir)/maint-cfg.mk
+include $(srcdir)/maint.mk
+
+else
+
+.DEFAULT_GOAL := abort-due-to-no-makefile
+
+-include ./maint-cfg.mk
+include ./maint.mk
+
+abort-due-to-no-makefile:
+       @echo There seems to be no Makefile in this directory.   1>&2
+       @echo "You must run ./configure before running \`make'." 1>&2
+       @exit 1
+
+endif
+
+# Tell version 3.79 and up of GNU make to not build goals in this
+# directory in parallel.  This is necessary in case someone tries to
+# build multiple targets on one command line.
+.NOTPARALLEL:
index 1268cf8eaf3ae8834b178aa193e474030f55f9c7..bab1629ca172d64ad0bf4eadf6578f782d41929d 100644 (file)
@@ -1,48 +1,33 @@
-                                                                -*- text -*-
-
-                     WGET-RELATED MAILING LISTS
-
-There are several mailing lists related to GNU Wget, all of them
-hosted by dotsrc.org, previously known as SunSITE.dk.
-
-wget@sunsite.dk:
-
-    The mailing list for users and developers.  This is the preferred
-    place to post bug reports and suggestions, as well as discuss
-    development-related matters.
-
-    To post to the list, send mail to <wget@sunsite.dk>.  To
-    subscribe, send mail to <wget-subscribe@sunsite.dk>.
-
-    NOTE: The list allows posts from non-subscribers.  This is
-    intentional; I hate having to subscribe to a list only to ask a
-    single question.  However, to protect the list members from spam,
-    non-subscribers must confirm messages they send to the list.
-
-    If you're not subscribed to the list and ask something, don't
-    forget to request that the responses be Cc'ed to you.
-
-    The list is archived at:
-
-       http://www.mail-archive.com/wget%40sunsite.dk/
-        http://news.gmane.org/gmane.comp.web.wget.general
-
-wget-patches@sunsite.dk:
-
-    The mailing list for patch submission.  Please see the PATCHES
-    file for a detailed description of how to send patches to this
-    list.
-
-    This is list is also open to non-subscribers, but it is *not* a
-    discussion list.  It only ever distribute patches and immediate
-    responses to a patch.  If you wish to take very active part in
-    development, you might wish to subscribe to it anyway, and receive
-    the new patches.  To do that, send mail to
-    <wget-patches-subscribe@sunsite.dk>.
-
-    The list is archived at:
-
-        http://news.gmane.org/gmane.comp.web.wget.patches
-
-As of this writing, the mail alias <bug-wget@gnu.org> is an alias for
-<wget@sunsite.dk>.
+Mailing List
+================
+
+There are several Wget-related mailing lists.  The general discussion
+list is at <wget@sunsite.dk>.  It is the preferred place for support
+requests and suggestions, as well as for discussion of development.
+You are invited to subscribe.
+
+   To subscribe, simply send mail to <wget-subscribe@sunsite.dk> and
+follow the instructions.  Unsubscribe by mailing to
+<wget-unsubscribe@sunsite.dk>.  The mailing list is archived at
+`http://www.mail-archive.com/wget%40sunsite.dk/' and at
+`http://news.gmane.org/gmane.comp.web.wget.general'.
+
+   Another mailing list is at <wget-patches@sunsite.dk>, and is used to
+submit patches for review by Wget developers.  A "patch" is a textual
+representation of change to source code, readable by both humans and
+programs.  The file `PATCHES' that comes with Wget covers the creation
+and submitting of patches in detail.  Please don't send general
+suggestions or bug reports to `wget-patches'; use it only for patch
+submissions.
+
+   Subscription is the same as above for <wget@sunsite.dk>, except that
+you send to <wget-patches-subscribe@sunsite.dk>, instead.  The mailing
+list is archived at `http://news.gmane.org/gmane.comp.web.wget.patches'.
+
+   Finally, there is the <wget-notify@addictivecode.org> mailing list.
+This is a non-discussion list that receives commit notifications from
+the source repository, and also bug report-change notifications.  This
+is the highest-traffic list for Wget, and is recommended only for
+people who are seriously interested in ongoing Wget development.
+Subscription is through the `mailman' interface at
+`http://addictivecode.org/mailman/listinfo/wget-notify'.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..4bff177
--- /dev/null
@@ -0,0 +1,43 @@
+# Makefile for `Wget' utility
+# Copyright (C) 1995, 1996, 1997, 2006, 2007,
+#   2008 Free Software Foundation, Inc.
+
+# This program 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 3 of the License, 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
+
+#
+# Version: @VERSION@
+#
+
+# Search for macros in the m4 subdirectory:
+ACLOCAL_AMFLAGS = -I m4 -I md5/m4
+
+# subdirectories in the distribution
+SUBDIRS = lib @MD5_SUBDIR@ src doc po tests util windows
+
+EXTRA_DIST = ChangeLog.README configure.bat MAILING-LIST \
+            msdos/ChangeLog msdos/config.h msdos/Makefile.DJ \
+            msdos/Makefile.WC ABOUT-NLS autogen.sh
+
+CLEANFILES = *~ *.bak $(DISTNAME).tar.gz
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644 (file)
index 4d32134..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-# Makefile for `Wget' utility
-# Copyright (C) 1995, 1996, 1997, 2006 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
-#
-# Version: @VERSION@
-#
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-top_builddir = .
-
-srcdir = @srcdir@
-VPATH  = @srcdir@
-
-#
-# User configuration section
-#
-
-#
-# Install variables
-#
-prefix      = @prefix@
-exec_prefix = @exec_prefix@
-bindir      = @bindir@
-infodir     = @infodir@
-sysconfdir  = @sysconfdir@
-mandir      = @mandir@
-manext      = 1
-localedir   = $(prefix)/share/locale
-
-CC = @CC@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-DEFS = @DEFS@ -DSYSTEM_WGETRC=\"$(sysconfdir)/wgetrc\" -DLOCALEDIR=\"$(localedir)\"
-LIBS = @LIBS@ @LIBSSL@ @LIBGNUTLS@
-LDFLAGS = @LDFLAGS@
-
-#
-# End of user configuration section.  There should be no need to change
-# anything below this line.
-#
-
-DISTNAME = wget-@VERSION@
-RM = rm -f
-
-# These are used for maintenance only, so they are safe without
-# special autoconf cruft.
-FIND = find
-GZIP = gzip
-TAR = tar
-
-# flags passed to recursive makes in subdirectories
-MAKEDEFS = CC='$(CC)' CPPFLAGS='$(CPPFLAGS)' DEFS='$(DEFS)' \
-CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \
-DESTDIR='$(DESTDIR)' prefix='$(prefix)' exec_prefix='$(exec_prefix)' \
-bindir='$(bindir)' infodir='$(infodir)' mandir='$(mandir)' \
-manext='$(manext)'
-
-# subdirectories in the distribution
-SUBDIRS = src doc po tests util windows
-
-# default target
-all: src/config.h Makefile $(SUBDIRS)
-
-unittest: src/config.h Makefile 
-       cd tests && $(MAKE) $(MAKEDEFS) $@
-       
-check: all
-
-$(SUBDIRS): FORCE
-       cd $@ && $(MAKE) $(MAKEDEFS)
-
-# install everything
-install: install.bin install.info install.wgetrc \
-        install.mo @COMMENT_IF_NO_POD2MAN@install.man
-
-# install/uninstall the binary
-install.bin uninstall.bin:
-       cd src && $(MAKE) $(MAKEDEFS) $@
-
-# install/uninstall the info/man pages
-install.info uninstall.info install.man uninstall.man install.wgetrc:
-       cd doc && $(MAKE) $(MAKEDEFS) $@
-
-# Install `.mo' files
-install.mo:
-       cd po && $(MAKE) $(MAKEDEFS) $@
-
-# create tag files for Emacs
-TAGS:
-       cd src && $(MAKE) $@
-
-dist: $(srcdir)/configure DISTFILES
-       mkdir $(DISTNAME)
-       for d in `$(FIND) . -type d ! -name CVS -a ! -name RCS -print`; do \
-               if [ "$$d" != "." -a "$$d" != "./$(DISTNAME)" ]; then \
-                       mkdir $(DISTNAME)/$$d; \
-               fi; \
-       done
-       for f in `cat DISTFILES`; do \
-               ln $(srcdir)/$$f $(DISTNAME)/$$f || \
-               { echo copying $$f; cp -p $(srcdir)/$$f $(DISTNAME)/$$f ; } \
-       done
-       (cd $(DISTNAME); $(MAKE) distclean)
-       $(TAR) chvf - $(DISTNAME) | $(GZIP) -c --best >$(DISTNAME).tar.gz
-       $(RM) -r $(DISTNAME)
-       $(RM) DISTFILES
-
-DISTFILES: FORCE
-       rm -rf $(DISTNAME)      
-       (cd $(srcdir); find . ! -type d -print) \
-       | sed '/\/\(CVS\|RCS\)\//d; /$@/d; /\.tar.*/d; s/^.\///; /^\.$$/d;' \
-       | sort | uniq > $@
-
-#
-# Cleanup dependencies
-#
-
-clean:         clean-recursive         clean-top
-distclean:     distclean-recursive     distclean-top
-realclean:     realclean-recursive     realclean-top
-
-clean-top:
-       $(RM) *~ *.bak $(DISTNAME).tar.gz
-
-distclean-top: clean-top
-       $(RM) Makefile config.status config.log config.cache libtool stamp-h
-       $(RM) -r autom4te.cache
-
-realclean-top: distclean-top
-       $(RM) configure
-
-clean-recursive distclean-recursive realclean-recursive:
-       for subdir in $(SUBDIRS); do \
-          target=`echo $@ | sed s/-recursive//`; \
-          (cd $$subdir && $(MAKE) $(MAKEDEFS) $$target) || exit 1; \
-       done
-
-#
-# Dependencies for maintenance
-#
-
-$(srcdir)/configure: configure.in
-       cd $(srcdir) && autoconf
-
-# autoheader might not change config.h.in, so touch a stamp file.
-$(srcdir)/src/config.h.in: stamp-h.in
-$(srcdir)/stamp-h.in: configure.in
-       @true; # running autoheader here breaks: cd $(srcdir) && autoheader
-       echo timestamp > $(srcdir)/stamp-h.in
-
-src/config.h: stamp-h
-stamp-h: src/config.h.in config.status
-       ./config.status
-
-Makefile: Makefile.in config.status
-       ./config.status
-
-config.status: configure
-       ./config.status --recheck
-
-FORCE:
diff --git a/NEWS b/NEWS
index 4d3a51b0785507cccf583ef303867a72014d6f11..b87f9d98cb4ac40337d1de416b124d6ceb2aa140 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,20 +1,65 @@
 GNU Wget NEWS -- history of user-visible changes.
 
-Copyright (C) 1997-2006 Free Software Foundation, Inc.
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+2006, 2007, 2008 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send GNU Wget bug reports to <bug-wget@gnu.org>.
 \f
+* Changes in Wget (MAINLINE).
+
+** Gnulib is now used to provide code for certain portability aspects in
+GNU Wget.
+
+** Wget uses Automake now as part of its build infrastructure.
+\f
+* Changes in Wget 1.11.1.
+
+** Interrupted downloads no longer result in renaming the file
+(regression in 1.11 over 1.10.2).
+
+** Progress bar now displays correctly in non-English locales (and a
+related assertion failure was fixed).
+
+** Wget no longer issues a GET request over HTTP for files it should
+know it's not going to download (regression in 1.11 over 1.10.2).
+
+** Added option --auth-no-challenge, to support broken pre-1.11
+authentication-before-server-challenge, which turns out to still be
+useful for some limited cases.
+
+** Documentation of accept/reject lists in the manual's "Types of
+Files" section now explains various aspects of their behavior that may
+be surprising, and notes that they may change in the future.
+
+** Documentation of --no-parents now explains how a trailing slash, or
+lack thereof, in the specified URL, will affect behavior.
+\f
 * Changes in Wget 1.11.
 
-** Wget now saves HTTP downloads using file names specified by the
-`Content-Disposition' header.  This is a standard way of specifying
-the file name used by many web dynamically generated pages.
+** Timestamping now uses the value from the most recent HTTP response,
+rather than the first one it got.
+
+** Authentication information is no longer sent as part of the Referer
+header in recursive fetches.
+
+** No authentication credentials are sent until a challenge is issued,
+for improved security. Authentication handling is still not
+RFC-compliant, as once a Basic challenge has been received, it will
+assume it can send credentials to any URL at that same host, and not
+just the ones at or below the original authenticated location.
+Credentials for Digest authentication are still never saved or issued
+automatically, and continue to require a challenge for each resource.
+
+** Added --max-redirect option, allowing the user to specify what should
+be the maximum number of HTTP redirects to follow.
 
-** The GnuTLS library is now also supported for https downloads.
-This is still work-in-progress.  OpenSSL is still used by default; use
---with-ssl=gnutls to build with GnuTLS.  OpenSSL is still required for
-NTLM authorization to work, but this should eventually change.
+** Wget now supports saving HTTP downloads using file names specified by
+the `Content-Disposition' header.  This is a standard way of specifying
+the file name used by many web dynamically generated pages. However, the
+current implementation is inefficient, and known to have bugs. It is
+EXPERIMENTAL only, and not enabled by default. Use --content-disposition
+to enable it.
 
 ** The new option `--ignore-case' makes Wget ignore case when
 matching files, directories, and wildcards.  This affects the -X, -I,
@@ -30,10 +75,11 @@ broken scripts or Perl modules that unconditionally specify
 `--passive-ftp' and your firewall disallows it, you can override them
 by replacing wget with a script that execs wget "$@" --no-passive-ftp.
 
-** The source code has migrated from CVS to Subversion.  The
-repository is available at http://svn.dotsrc.org/repo/wget/; to
-checkout the trunk to a directory named `wget', use something like
-`svn checkout http://svn.dotsrc.org/repo/wget/trunk/ wget'.
+** The source code has been migrated to Mercurial. The repositories are
+available at http://hg.addictivecode.org/. Prior to this, the source
+code was hosted on Subversion (migrated from the original CVS); you can
+still get access to older tags and branches for Wget in the Subversion
+repository at http://addictivecode.org/svn/wget/.
 \f
 * Changes in Wget 1.10.
 
diff --git a/PATCHES b/PATCHES
deleted file mode 100644 (file)
index b5bb1f6..0000000
--- a/PATCHES
+++ /dev/null
@@ -1,160 +0,0 @@
-* Guidelines for patch submissions.
-===================================
-
-** What is a patch?
--------------------
-
-A patch file, also known as a "diff", is a textual representation of
-changes to source code.  Patches are readable enough to be reviewed by
-humans and at the same time regular enough to be processed by
-programs.  The `patch' utility is used to change the source code in
-the manner that the patch describes, this being called "applying" the
-patch.  Patches work even on files that have been modified
-independently of the modifications in the patch, as long as those
-other changes do not conflict with the patch.
-
-Because of these properties, patches are the preferred means of
-distributing the changes to a free software project.  If you have made
-a change to Wget and would like to contribute it, you will need to
-create a patch and send it to the developers; please read on.
-
-** Where to send the patches.
------------------------------
-
-Patches intended to be applied to Wget should be mailed to
-<wget-patches@sunsite.dk>.  Each patch will be reviewed by the
-developers, and will be acked and added to the distribution, or
-rejected with an explanation.  Unfortunately, the developers are often
-busy with their day jobs, so the review process can take a while.
-
-If you want to discuss your patch with the community of Wget users and
-developers, it is OK to send it to the main list at <wget@sunsite.dk>.
-If the patch is really huge (more than 100K or so), you may want to
-put it on the web and post the URL.
-
-EVERY patch should be accompanied by an explanation of what the patch
-changes, and why the change is desirable or necessary.  The
-explanation need not be long, but please don't just send a patch
-without any accompanying text.
-
-Normally, a patch can be just inserted into the message, after the
-explanation and the ChangeLog entry.  However, if your mail composer
-or gateway is inclined to munge patches, e.g. by wrapping long lines,
-please send them out as a MIME attachment.  It is important that the
-patch survives the travel unchanged so that we can feed it to the
-`patch' utility after reviewing it.
-
-** How to create patches.
--------------------------
-
-First, please make sure that you are working with the latest version
-of the source -- changing obsolete code is a waste of time.  Working
-on the latest release is acceptable in most cases, but it is better
-yet to download the very latest sources from the public Subversionn
-server and work on those.  The web page at
-<http://www.gnu.org/software/wget/> explains how to get the source
-code from the repository.
-
-Patches are created using the `diff' program.  When making patches,
-please use the `-u' option, or if your diff doesn't support it, `-c'.
-Ordinary (context-free) diffs are notoriously prone to errors, since
-line numbers tend to change when others make changes to the same
-source file.
-
-In the general case, `diff' is used like this:
-
-    diff -u ORIGFILE CHANGEDFILE > patch.txt
-
-Also, it is helpful if you create the patch in the top level of
-the Wget source directory.  For example:
-
-    cp src/http.c src/http.c.orig
-    ... modify src/http.c ....
-    diff -u src/http.c.orig src/http.c > patch.txt
-
-If your patch changes more than one file, feel free to simply
-concatenate the diffs of different files into a large diff:
-
-    (diff -u foo.orig foo; diff -u bar.orig bar) > patch.txt
-
-The alternative is to leave the unchanged source lying around and use
-the `-r' option to compare entire directories:
-
-    diff -ru wget-1.9.orig wget-1.9 > patch.txt
-
-If you do that, please be careful not to include the differences to
-automatically generated files, such as `.info*'.
-
-If you are using Subversion, generating diffs is even simpler -- after
-changing the files, all you need to do is run the following command
-from Wget's top-level directory:
-
-    svn diff > patch.txt
-
-If you run on Windows and don't have `diff' handy, please obtain it.
-It's extremely hard to review changes to files unless they're in the
-form of a patch.  If you really cannot use a variant of `diff', then
-mail us the whole new file and indicate which version of Wget you
-changed; that way we will be able to generate the diff ourselves.
-
-Finally, if your changes introduce new files, or if they change the
-old files past all recognition (e.g. by completely reimplementing the
-old stuff), sending a patch might not make sense.  In that case, just
-attach the files along with an explanation of what is being changed.
-
-** Standards and coding style.
-------------------------------
-
-Wget abides by the GNU coding standards, available at:
-
-    http://www.gnu.org/prep/standards.html
-
-I consider perhaps the most important single point in that entire
-document to be the "no arbitrary limits" rule.  Even where Wget's
-coding is less than exemplary, it respects that rule.  There should be
-no exceptions.
-
-Here is a short recap of the GNU formatting and naming conventions,
-partly borrowed from XEmacs:
-
-  * Put a space after every comma.
-
-  * Put a space before the parenthesis that begins a function call,
-    macro call, function declaration or definition, or control
-    statement (if, while, switch, for).  (DO NOT do this for macro
-    definitions; this is invalid preprocessor syntax.)
-
-  * The brace that begins a control statement (if, while, for, switch,
-    do) or a function definition should go on a line by itself.
-
-  * In function definitions, put the return type and all other
-    qualifiers on a line before the function name.  Thus, the function
-    name is always at the beginning of a line.
-
-  * Indentation level is two spaces.  (However, the first and
-    following statements of a while/for/if/etc. block are indented
-    four spaces from the while/for/if keyword.  The opening and
-    closing braces are indented two spaces.)
-
-  * Variable and function names should be all lowercase, with
-    underscores separating words, except for a prefixing tag, which may
-    be in uppercase.  Do not use the mixed-case convention (e.g.
-    SetVariableToValue ()) and *especially* do not use Microsoft
-    Hungarian notation (char **rgszRedundantTag).
-
-  * Preprocessor constants and enumerations should be all uppercase,
-    and should be prefixed with a tag that groups related constants
-    together.
-
-** ChangeLog policy.
---------------------
-
-Each patch should be accompanied by an update to the appropriate
-ChangeLog file.  Please don't mail diffs of ChangeLog files because
-they have an extremely high rate of failure; just mail us the new
-entries you added to the ChangeLog.  Patches without a ChangeLog entry
-will be accepted, but this creates additional work for the
-maintainers, so please do take the time to write one.
-
-Guidelines for writing ChangeLog entries are also governed by the GNU
-coding standards, under the "Change Logs" section.
diff --git a/README b/README
index 109b7a620614f4262d7de1048a7a3fb81c16f565..4d3ce2f005b2c78679410fcd42c027f0539d11fb 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
                                                           -*- text -*-
 GNU Wget
 ========
-                             Current Web home: http://wget.sunsite.dk/
+                  Current Web home: http://www.gnu.org/software/wget/
 
 GNU Wget is a free utility for non-interactive download of files from
 the Web.  It supports HTTP, HTTPS, and FTP protocols, as well as
@@ -50,23 +50,24 @@ resides at <ftp://ftp.gnu.org/pub/gnu/wget/>.
 Please report bugs in Wget to <bug-wget@gnu.org>.
 
 See the file `MAILING-LIST' for information about Wget mailing lists.
-Wget's home page is temporarily at <http://wget.sunsite.dk/>.  It is
-being migrated to <http://www.gnu.org/software/wget/>, where will be
-its permanent home.
+Wget's home page is at <http://www.gnu.org/software/wget/>.
 
+If you would like to contribute code for Wget, please read
+http://wget.addictivecode.org/PatchGuidelines.
 
-MAINTAINER: Mauro Tortonesi <mauro@ferrara.linux.it>
+MAINTAINER: Micah Cowan <micah@cowan.name>
 
-Wget was originally written by Hrvoje Niksic.  Please see the file
-AUTHORS for a list of major contributors, and the ChangeLogs for a
-detailed listing of all contributions.
+Wget was originally written and mainained by Hrvoje Niksic.  Please see
+the file AUTHORS for a list of major contributors, and the ChangeLogs
+for a detailed listing of all contributions.
 
 
-Copyright (C) 1995-2005 Free Software Foundation, Inc.
+Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This program 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
@@ -79,12 +80,13 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
 USA.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.
index 1928b6fbd30941f3e46226cea14546b391e6f937..3f85767db28be5b52235f7fa6507a78f1bcccda4 100644 (file)
@@ -1,17 +1,18 @@
 Important note:
 
-To reduce bandwidth and needless updates, the Subversion tree does not
+To reduce bandwidth and needless updates, the source repository does not
 contain automatically-generated files, even when those files are
 normally present in the distribution tarballs.
 
-Therefore, if you're building from the sources obtained via
-Subversion, you'll need to have at least GNU Autoconf (2.59 or newer)
-installed on your system.  To generate the Info documentation, you
-will need the GNU Texinfo package. Those packages are available from
-<ftp://ftp.gnu.org/pub/gnu/<package>/> and its mirrors, listed at
-<http://www.gnu.org/order/ftp.html>.
+Therefore, if you're building from the sources obtained from the source
+repository, you'll need to have at least GNU Autoconf (2.61 or newer)
+and GNU Automake (1.10 or newer) installed on your system.  To generate
+the Info documentation, you will need the GNU Texinfo package. Those
+packages are available from <ftp://ftp.gnu.org/pub/gnu/<package>/> and
+its mirrors, listed at <http://www.gnu.org/order/ftp.html>. Generating
+the wget.1 manpage, and running some tests, requires Perl.
 
-In case you aren't used to running autoconf manually to generate the
+In case you aren't used to running autotools manually to generate the
 necessary configure script, a script called autogen.sh has been
 provided, and may be invoked using `./autogen.sh'.  Once the script
 has completed, the configure script will reside in the current
diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index 4fc5a6c..0000000
--- a/TODO
+++ /dev/null
@@ -1,157 +0,0 @@
-                                                       -*- outline -*-
-
-This is the to-do list for GNU Wget.  There is no timetable of when we
-plan to implement these features -- this is just a list of features
-we'd like to see in Wget, as well as a list of problems that need
-fixing.  Patches to implement these items are likely to be accepted,
-especially if they follow the coding convention outlined in PATCHES
-and if they patch the documentation as well.
-
-The items are not listed in any particular order (except that
-recently-added items may tend towards the top).  Not all of these
-represent user-visible changes.
-
-* Change the file name generation logic so that redirects can't dictate
-  file names (but redirects should still be followed).  By default, file
-  names should be generated only from the URL the user provided.  However,
-  with an appropriate flag, Wget will allow the remote server to specify
-  the file name, either through redirection (as is always the case now)
-  or via the increasingly popular header `Content-Disposition: XXX;
-  filename="FILE"'.
-
-  The file name should be generated and displayed *after* processing
-  the server's response, not before, as it is done now.  This will
-  allow trivial implementation of -nc, of O_EXCL when opening the
-  file, --html-extension will stop being a horrible hack, and so on.
-
-* -O should be respected, with no exceptions.  It should work in
-  conjunction with -N and -k.  (This is hard to achieve in the current
-  code base.)  Ancillary files, such as directory listings and such,
-  should be downloaded either directly to memory, or to /tmp.
-
-* Implement digest and NTLM authorization for proxies.  This is harder
-  than it seems because it requires some rethinking of the HTTP code.
-
-* Rethink the interaction between recur.c (the recursive download code)
-  and HTTP/FTP code.  Ideally, the downloading code should have a way
-  to retrieve a file and, optionally, to specify a list of URLs for
-  continuing the "recursive" download.  FTP code will surely benefit
-  from such a restructuring because its current incarnation is way too
-  smart for its own good.
-
-* Both HTTP and FTP connections should be first-class objects that can
-  be reused after a download is done.  Currently information about both
-  is kept implicitly on the stack, and forgotten after each download.
-
-* Restructure the FTP code to remove massive amounts of code duplication
-  and repetition.  Remove all the "intelligence" and make it work as
-  outlined in the previous bullet.
-
-* Add support for SFTP.  Teach Wget about newer features of more
-  recent FTP servers in general, such as receiving reliable checksums
-  and timestamps.  This can be used to implement really robust
-  downloads.
-
-* Wget shouldn't delete rejected files that were not downloaded, but
-  just found on disk because of `-nc'.  For example, `wget -r -nc
-  -A.gif URL' should allow the user to get all the GIFs without
-  removing any of the existing HTML files.
-
-* Be careful not to lose username/password information given for the
-  URL on the command line.  For example,
-  wget -r http://username:password@server/path/ should send that
-  username and password to all content under /path/ (this is apparently
-  what browsers do).
-
-* Don't send credentials using "Basic" authorization before the server
-  has a chance to tell us that it supports Digest or NTLM!
-
-* Add a --range parameter allowing you to explicitly specify a range
-  of bytes to get from a file over HTTP (FTP only supports ranges
-  ending at the end of the file, though forcibly disconnecting from
-  the server at the desired endpoint would work).  For example,
-  --range=n-m would specify inclusive range (a la the Range header),
-  and --range=n:m would specify exclusive range (a la Python's
-  slices).  -c should work with --range by assuming the range is
-  partially downloaded on disk, and contuing from there (effectively
-  requesting a smaller range).
-
-* If multiple FTP URLs are specified that are on the same host, Wget should
-  re-use the connection rather than opening a new one for each file.
-  This should be easy provided the above restructuring of FTP code that
-  would include the FTP connection becoming a first-class objects.
-
-* Try to devise a scheme so that, when password is unknown, Wget asks
-  the user for one.  This is harder than it seems because the password
-  may be requested by some page encountered long after the user has
-  left Wget to run.
-
-* If -c used with -N, check to make sure a file hasn't changed on the server
-  before "continuing" to download it (preventing a bogus hybrid file).
-
-* Generalize --html-extension to something like --mime-extensions and
-  have consult mime.types for the preferred extension.  Non-HTML files
-  with filenames changed this way would be re-downloaded each time
-  despite -N unless .orig files were saved for them.  (#### Why?  The
-  HEAD request we use to implement -N would still be able to construct
-  the correct file name based on the declared Content-Type.)
-
-  Since .orig would contain the same data as non-.orig, the latter
-  could be just a link to the former.  Another possibility would be to
-  implement a per-directory database called something like
-  .wget_url_mapping containing URLs and their corresponding filenames.
-
-* When spanning hosts, there's no way to say that you are only
-  interested in files in a certain directory on _one_ of the hosts (-I
-  and -X apply to all).  Perhaps -I and -X should take an optional
-  "hostname:" before the directory?
-
-* --retr-symlinks should cause wget to traverse links to directories too.
-
-* Make wget return non-zero status in more situations, like incorrect HTTP auth.
-  Create and document different exit statuses for different errors.
-
-* Make -K compare X.orig to X and move the former on top of the latter if 
-  they're the same, rather than leaving identical .orig files laying around.
-
-* Make `-k' check for files that were downloaded in the past and convert links 
-  to them in newly-downloaded documents.
-
-* Devise a way for options to have effect on a per-URL basis.  This is very
-  natural for some options, such as --post-data.  It could be implemented
-  simply by having more than one struct options.
-
-* Add option to clobber existing file names (no `.N' suffixes).
-
-* Add option to only list wildcard matches without doing the download.  The same
-  could be generalized to support something like apt's --print-uri.
-
-* Handle MIME types correctly.  There should be an option to (not)
-  retrieve files based on MIME types, e.g. `--accept-types=image/*'.
-  This would work for FTP by translating file extensions to MIME types
-  using mime.types.
-
-* Allow time-stamping by arbitrary date.  For example,
-  wget --if-modified-after DATE URL.
-
-* Make quota apply to single files, preferrably so that the download of an
-  oversized file is not attempted at all.
-
-* When updating an existing mirror, download to temporary files (such as .in*)
-  and rename the file after the download is done.
-
-* Add an option to delete or move no-longer-existent files when mirroring.
-
-* Implement uploading (--upload=FILE URL?) in FTP and HTTP.  A beginning of
-  this is available in the form of --post-file, but it should be expanded to
-  be really useful.
-
-* Make HTTP timestamping use If-Modified-Since facility.
-
-* Add more protocols (such as news or possibly some of the streaming
-  protocols), implementing them in a modular fashion.
-
-* Add a "rollback" option to have continued retrieval throw away a
-  configurable number of bytes at the end of a file before resuming
-  download.  Apparently, some stupid proxies insert a "transfer
-  interrupted" string we need to get rid of.
index a33e92b9670e40b306c3b36597de67011d8e92e6..f4afaa7c0b2cca104845c0353a95ba0499f86a26 100755 (executable)
@@ -1,40 +1,3 @@
 #!/bin/sh -x
 
-# The (trivial) script for preparing the sources following the
-# checkout from version control.
-# Copyright (C) 2005 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
-# TODO: print an error message nicer than "sh: command not found" when
-# Autoconf is not installed (or, more precisely, not found in the
-# PATH).
-
-autoheader
-autoconf
-
-# At this point we intentionally don't invoke configure and make
-# because we don't know where the user wants to run the configuration,
-# nor with which arguments.  That should be up to the user.
+exec autoreconf
diff --git a/compile b/compile
new file mode 100755 (executable)
index 0000000..1b1d232
--- /dev/null
+++ b/compile
@@ -0,0 +1,142 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program 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 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+esac
+
+ofile=
+cfile=
+eat=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+       # configure might choose to run compile as `compile cc -o foo foo.c'.
+       # So we strip `-o arg' only if arg is an object.
+       eat=1
+       case $2 in
+         *.o | *.obj)
+           ofile=$2
+           ;;
+         *)
+           set x "$@" -o "$2"
+           shift
+           ;;
+       esac
+       ;;
+      *.c)
+       cfile=$1
+       set x "$@" "$1"
+       shift
+       ;;
+      *)
+       set x "$@" "$1"
+       shift
+       ;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no `-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # `.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use `[/.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
index 6d71f752f91abf4ae8767f76601a40d089308b11..396482d6cb50b24a598700992f65d340165591d6 100755 (executable)
@@ -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 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
 
-timestamp='2005-05-27'
+timestamp='2006-07-02'
 
 # 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
@@ -106,7 +107,7 @@ set_cc_for_build='
 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
 : ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
  { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@@ -125,7 +126,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
        ;;
  ,,*)   CC_FOR_BUILD=$CC ;;
  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+esac ; set_cc_for_build= ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
@@ -199,50 +200,18 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit ;;
-    amd64:OpenBSD:*:*)
-       echo x86_64-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    amiga:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    cats:OpenBSD:*:*)
-       echo arm-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    hp300:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    luna88k:OpenBSD:*:*)
-       echo m88k-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    mac68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    macppc:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    mvme68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    mvme88k:OpenBSD:*:*)
-       echo m88k-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    mvmeppc:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    sgi:OpenBSD:*:*)
-       echo mips64-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    sun3:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
     *:OpenBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
        exit ;;
     *:ekkoBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
        exit ;;
+    *:SolidBSD:*:*)
+       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}
@@ -658,8 +627,7 @@ EOF
        esac
        if [ ${HP_ARCH} = "hppa2.0w" ]
        then
-           # avoid double evaluation of $set_cc_for_build
-           test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+           eval $set_cc_for_build
 
            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
@@ -800,7 +768,14 @@ EOF
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit ;;
     *:FreeBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       case ${UNAME_MACHINE} in
+           pc98)
+               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           amd64)
+               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           *)
+               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       esac
        exit ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
@@ -815,8 +790,11 @@ EOF
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit ;;
-    x86:Interix*:[34]*)
-       echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+    x86:Interix*:[3456]*)
+       echo i586-pc-interix${UNAME_RELEASE}
+       exit ;;
+    EM64T:Interix*:[3456]*)
+       echo x86_64-unknown-interix${UNAME_RELEASE}
        exit ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
        echo i${UNAME_MACHINE}-pc-mks
@@ -830,7 +808,7 @@ EOF
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
        exit ;;
-    amd64:CYGWIN*:*:*)
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
        echo x86_64-unknown-cygwin
        exit ;;
     p*:CYGWIN*:*)
@@ -853,6 +831,9 @@ EOF
     arm*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
+    avr32*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
     cris:Linux:*:*)
        echo cris-axis-linux-gnu
        exit ;;
@@ -887,7 +868,11 @@ EOF
        #endif
        #endif
 EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+       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:*:*)
@@ -906,9 +891,16 @@ EOF
        #endif
        #endif
 EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+       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; }
        ;;
+    or32:Linux:*:*)
+       echo or32-unknown-linux-gnu
+       exit ;;
     ppc:Linux:*:*)
        echo powerpc-unknown-linux-gnu
        exit ;;
@@ -952,6 +944,9 @@ EOF
     sparc:Linux:*:* | sparc64: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 ;;
@@ -997,7 +992,7 @@ EOF
        LIBC=gnulibc1
        # endif
        #else
-       #ifdef __INTEL_COMPILER
+       #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
        LIBC=gnu
        #else
        LIBC=gnuaout
@@ -1007,7 +1002,11 @@ EOF
        LIBC=dietlibc
        #endif
 EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+       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
@@ -1218,7 +1217,6 @@ EOF
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
        case $UNAME_PROCESSOR in
-           *86) UNAME_PROCESSOR=i686 ;;
            unknown) UNAME_PROCESSOR=powerpc ;;
        esac
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1297,6 +1295,9 @@ EOF
     i*86:skyos:*:*)
        echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
        exit ;;
+    i*86:rdos:*:*)
+       echo ${UNAME_MACHINE}-pc-rdos
+       exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
index 3f1bef34a0f0d57a0561e71fc215e64905d9950c..c492a93b663132214cb5c26bfab04f111a9ff2bf 100755 (executable)
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2005 Free Software Foundation, Inc.
+#   Copyright 1996-2006 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -25,7 +25,7 @@
 #   known workaround is to choose shorter directory names for the build
 #   directory and/or the installation directory.
 
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 shrext=.so
@@ -35,7 +35,17 @@ host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
 host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
-cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
 
 # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
 
@@ -48,7 +58,7 @@ else
       wl='-Wl,'
       ;;
     darwin*)
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
           wl='-Wl,'
           ;;
@@ -78,6 +88,13 @@ else
         como)
           wl='-lopt='
           ;;
+        *)
+          case `$CC -V 2>&1 | sed 5q` in
+            *Sun\ C*)
+              wl='-Wl,'
+              ;;
+          esac
+          ;;
       esac
       ;;
     osf3* | osf4* | osf5*)
@@ -120,6 +137,10 @@ case "$host_os" in
       with_gnu_ld=no
     fi
     ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
   openbsd*)
     with_gnu_ld=no
     ;;
@@ -127,6 +148,12 @@ esac
 
 ld_shlibs=yes
 if test "$with_gnu_ld" = yes; then
+  # Set some defaults for GNU ld with shared library support. These
+  # are reset later if shared libraries are not supported. Putting them
+  # here allows them to be overridden if necessary.
+  # Unlike libtool, we use -rpath here, not --rpath, since the documented
+  # option of GNU ld is called -rpath, not --rpath.
+  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
   case "$host_os" in
     aix3* | aix4* | aix5*)
       # On AIX/PPC, the GNU linker is very broken
@@ -162,9 +189,20 @@ if test "$with_gnu_ld" = yes; then
         ld_shlibs=no
       fi
       ;;
+    interix3*)
+      hardcode_direct=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      ;;
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
     netbsd*)
       ;;
-    solaris* | sysv5*)
+    solaris*)
       if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
         ld_shlibs=no
       elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
@@ -173,16 +211,23 @@ if test "$with_gnu_ld" = yes; then
         ld_shlibs=no
       fi
       ;;
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+          ld_shlibs=no
+          ;;
+        *)
+          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+            hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+          else
+            ld_shlibs=no
+          fi
+          ;;
+      esac
+      ;;
     sunos4*)
       hardcode_direct=yes
       ;;
-    linux*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
         :
@@ -191,10 +236,8 @@ if test "$with_gnu_ld" = yes; then
       fi
       ;;
   esac
-  if test "$ld_shlibs" = yes; then
-    # Unlike libtool, we use -rpath here, not --rpath, since the documented
-    # option of GNU ld is called -rpath, not --rpath.
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+  if test "$ld_shlibs" = no; then
+    hardcode_libdir_flag_spec=
   fi
 else
   case "$host_os" in
@@ -225,6 +268,7 @@ else
               break
             fi
           done
+          ;;
         esac
       fi
       hardcode_direct=yes
@@ -244,6 +288,7 @@ else
             hardcode_libdir_flag_spec='-L$libdir'
             hardcode_libdir_separator=
           fi
+          ;;
         esac
       fi
       # Begin _LT_AC_SYS_LIBPATH_AIX.
@@ -291,7 +336,7 @@ else
       if test "$GCC" = yes ; then
         :
       else
-        case "$cc_basename" in
+        case $cc_basename in
           xlc*)
             ;;
           *)
@@ -326,24 +371,25 @@ else
       # but as the default location of the library.
       hardcode_minus_L=yes
       ;;
-    hpux10* | hpux11*)
+    hpux10*)
       if test "$with_gnu_ld" = no; then
-        case "$host_cpu" in
-          hppa*64*)
-            hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-            hardcode_libdir_separator=:
-            hardcode_direct=no
-            ;;
-          ia64*)
-            hardcode_libdir_flag_spec='-L$libdir'
+        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator=:
+        hardcode_direct=yes
+        # hardcode_minus_L: Not really in the search PATH,
+        # but as the default location of the library.
+        hardcode_minus_L=yes
+      fi
+      ;;
+    hpux11*)
+      if test "$with_gnu_ld" = no; then
+        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator=:
+        case $host_cpu in
+          hppa*64*|ia64*)
             hardcode_direct=no
-            # hardcode_minus_L: Not really in the search PATH,
-            # but as the default location of the library.
-            hardcode_minus_L=yes
             ;;
           *)
-            hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-            hardcode_libdir_separator=:
             hardcode_direct=yes
             # hardcode_minus_L: Not really in the search PATH,
             # but as the default location of the library.
@@ -397,8 +443,6 @@ else
       fi
       hardcode_libdir_separator=:
       ;;
-    sco3.2v5*)
-      ;;
     solaris*)
       hardcode_libdir_flag_spec='-R$libdir'
       ;;
@@ -427,14 +471,11 @@ else
         ld_shlibs=yes
       fi
       ;;
-    sysv4.2uw2*)
-      hardcode_direct=yes
-      hardcode_minus_L=no
-      ;;
-    sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[78]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
       ;;
-    sysv5*)
-      hardcode_libdir_flag_spec=
+    sysv5* | sco3.2v5* | sco5v6*)
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
       ;;
     uts4*)
       hardcode_libdir_flag_spec='-L$libdir'
@@ -471,12 +512,12 @@ case "$host_os" in
     ;;
   kfreebsd*-gnu)
     ;;
-  freebsd*)
+  freebsd* | dragonfly*)
     ;;
   gnu*)
     ;;
   hpux9* | hpux10* | hpux11*)
-    case "$host_cpu" in
+    case $host_cpu in
       ia64*)
         shrext=.so
         ;;
@@ -488,6 +529,8 @@ case "$host_os" in
         ;;
     esac
     ;;
+  interix3*)
+    ;;
   irix5* | irix6* | nonstopux*)
     case "$host_os" in
       irix5* | nonstopux*)
@@ -523,16 +566,16 @@ case "$host_os" in
     ;;
   osf3* | osf4* | osf5*)
     ;;
-  sco3.2v5*)
-    ;;
   solaris*)
     ;;
   sunos4*)
     ;;
-  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+  sysv4 | sysv4.3*)
     ;;
   sysv4*MP*)
     ;;
+  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+    ;;
   uts4*)
     ;;
 esac
index 8b2c57a6ea23b56b9b22a35a1bb4df05ec07edea..fab0aa3556632a4aec253b77804270a096c11c3e 100755 (executable)
@@ -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 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
 
-timestamp='2005-06-02'
+timestamp='2006-09-20'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -119,8 +120,9 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
-  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -171,6 +173,10 @@ case $os in
        -hiux*)
                os=-hiuxwe2
                ;;
+       -sco6)
+               os=-sco5v6
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
        -sco5)
                os=-sco3.2v5
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -187,6 +193,10 @@ case $os in
                # Don't forget version if it is 3.2v4 or newer.
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
+       -sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
        -sco*)
                os=-sco3.2v2
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -231,7 +241,7 @@ case $basic_machine in
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
@@ -239,7 +249,8 @@ case $basic_machine in
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
-       | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | mcore \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -248,6 +259,7 @@ case $basic_machine in
        | mips64vr4100 | mips64vr4100el \
        | mips64vr4300 | mips64vr4300el \
        | mips64vr5000 | mips64vr5000el \
+       | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
        | mipsisa64 | mipsisa64el \
@@ -256,28 +268,27 @@ case $basic_machine in
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
-       | ms1 \
+       | mt \
        | msp430 \
+       | nios | nios2 \
        | ns16k | ns32k \
-       | openrisc | or32 \
+       | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
        | pyramid \
-       | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+       | score \
+       | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b \
-       | strongarm \
+       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+       | spu | strongarm \
        | tahoe | thumb | tic4x | tic80 | tron \
        | v850 | v850e \
        | we32k \
-       | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
        | z8k)
                basic_machine=$basic_machine-unknown
                ;;
-       m32c)
-               basic_machine=$basic_machine-unknown
-               ;;
        m6811 | m68hc11 | m6812 | m68hc12)
                # Motorola 68HC11/12.
                basic_machine=$basic_machine-unknown
@@ -285,6 +296,9 @@ case $basic_machine in
                ;;
        m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
                ;;
+       ms1)
+               basic_machine=mt-unknown
+               ;;
 
        # We use `pc' rather than `unknown'
        # because (1) that's what they normally are, and
@@ -304,7 +318,7 @@ case $basic_machine in
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* \
+       | avr-* | avr32-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
        | clipper-* | craynv-* | cydra-* \
@@ -315,7 +329,7 @@ case $basic_machine in
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
-       | m32r-* | m32rle-* \
+       | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
        | m88110-* | m88k-* | maxq-* | mcore-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@@ -326,6 +340,7 @@ case $basic_machine in
        | mips64vr4100-* | mips64vr4100el-* \
        | mips64vr4300-* | mips64vr4300el-* \
        | mips64vr5000-* | mips64vr5000el-* \
+       | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
        | mipsisa64-* | mipsisa64el-* \
@@ -334,31 +349,30 @@ case $basic_machine in
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
-       | ms1-* \
+       | mt-* \
        | msp430-* \
+       | nios-* | nios2-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
        | pyramid-* \
        | romp-* | rs6000-* \
-       | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
        | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
        | tahoe-* | thumb-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tron-* \
        | v850-* | v850e-* | vax-* \
        | we32k-* \
-       | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
        | xstormy16-* | xtensa-* \
        | ymp-* \
        | z8k-*)
                ;;
-       m32c-*)
-               ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
        386bsd)
@@ -694,6 +708,9 @@ case $basic_machine in
                basic_machine=i386-pc
                os=-msdos
                ;;
+       ms1-*)
+               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+               ;;
        mvs)
                basic_machine=i370-ibm
                os=-mvs
@@ -769,9 +786,8 @@ case $basic_machine in
                basic_machine=hppa1.1-oki
                os=-proelf
                ;;
-       or32 | or32-*)
+       openrisc | openrisc-*)
                basic_machine=or32-unknown
-               os=-coff
                ;;
        os400)
                basic_machine=powerpc-ibm
@@ -802,6 +818,12 @@ case $basic_machine in
        pc532 | pc532-*)
                basic_machine=ns32k-pc532
                ;;
+       pc98)
+               basic_machine=i386-pc
+               ;;
+       pc98-*)
+               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
        pentium | p5 | k5 | k6 | nexgen | viac3)
                basic_machine=i586-pc
                ;;
@@ -858,6 +880,10 @@ case $basic_machine in
                basic_machine=i586-unknown
                os=-pw32
                ;;
+       rdos)
+               basic_machine=i386-pc
+               os=-rdos
+               ;;
        rom68k)
                basic_machine=m68k-rom68k
                os=-coff
@@ -884,6 +910,10 @@ case $basic_machine in
        sb1el)
                basic_machine=mipsisa64sb1el-unknown
                ;;
+       sde)
+               basic_machine=mipsisa32-sde
+               os=-elf
+               ;;
        sei)
                basic_machine=mips-sei
                os=-seiux
@@ -1097,13 +1127,10 @@ case $basic_machine in
        we32k)
                basic_machine=we32k-att
                ;;
-       sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+       sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
                basic_machine=sh-unknown
                ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b)
+       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
                basic_machine=sparc-sun
                ;;
        cydra)
@@ -1176,20 +1203,23 @@ case $os in
              | -aos* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+             | -openbsd* | -solidbsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos*)
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+             | -skyos* | -haiku* | -rdos* | -toppers*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1207,7 +1237,7 @@ case $os in
                os=`echo $os | sed -e 's|nto|nto-qnx|'`
                ;;
        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
              | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
                ;;
        -mac*)
@@ -1341,6 +1371,12 @@ else
 # system, and we'll never get to this point.
 
 case $basic_machine in
+        score-*)
+               os=-elf
+               ;;
+        spu-*)
+               os=-elf
+               ;;
        *-acorn)
                os=-riscix1.2
                ;;
@@ -1350,9 +1386,9 @@ case $basic_machine in
        arm*-semi)
                os=-aout
                ;;
-    c4x-* | tic4x-*)
-        os=-coff
-        ;;
+        c4x-* | tic4x-*)
+               os=-coff
+               ;;
        # This must come before the *-dec entry.
        pdp10-*)
                os=-tops20
@@ -1396,6 +1432,9 @@ case $basic_machine in
        *-be)
                os=-beos
                ;;
+       *-haiku)
+               os=-haiku
+               ;;
        *-ibm)
                os=-aix
                ;;
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..cf201ae
--- /dev/null
@@ -0,0 +1,471 @@
+dnl Template file for GNU Autoconf
+dnl Copyright (C) 1995, 1996, 1997, 2001, 2007,
+dnl 2008 Free Software Foundation, Inc.
+
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+dnl Additional permission under GNU GPL version 3 section 7
+
+dnl If you modify this program, or any covered work, by linking or
+dnl combining it with the OpenSSL project's OpenSSL library (or a
+dnl modified version of that library), containing parts covered by the
+dnl terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+dnl grants you additional permission to convey the resulting work.
+dnl Corresponding Source for a non-source form of such a combination
+dnl shall include the source code for the parts of OpenSSL used as well
+dnl as that of the covered work.
+
+dnl
+dnl Process this file with autoconf to produce a configure script.
+dnl
+
+AC_INIT([wget], 
+       [1.12-devel],
+       [bug-wget@gnu.org])
+AC_PREREQ(2.61)
+
+dnl
+dnl What version of Wget are we building?
+dnl
+AC_MSG_NOTICE([configuring for GNU Wget $PACKAGE_VERSION])
+
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_AUX_DIR([.])
+
+dnl
+dnl Automake setup
+dnl
+AM_INIT_AUTOMAKE(1.9)
+
+dnl
+dnl Gettext
+dnl
+AM_GNU_GETTEXT([external],[need-ngettext])
+AM_GNU_GETTEXT_VERSION([0.16.1])
+
+dnl
+dnl Get cannonical host
+dnl
+AC_CANONICAL_HOST
+AC_DEFINE_UNQUOTED([OS_TYPE], "$host_os",
+                   [Define to be the name of the operating system.])
+
+dnl
+dnl Process features.
+dnl
+
+AC_ARG_WITH(ssl,
+[[  --without-ssl           disable SSL autodetection]])
+
+AC_ARG_ENABLE(opie,
+[  --disable-opie          disable support for opie or s/key FTP login],
+ENABLE_OPIE=$enableval, ENABLE_OPIE=yes)
+test x"${ENABLE_OPIE}" = xyes && AC_DEFINE([ENABLE_OPIE], 1,
+   [Define if you want the Opie support for FTP compiled in.])
+
+AC_ARG_ENABLE(digest,
+[  --disable-digest        disable support for HTTP digest authorization],
+ENABLE_DIGEST=$enableval, ENABLE_DIGEST=yes)
+test x"${ENABLE_DIGEST}" = xyes && AC_DEFINE([ENABLE_DIGEST], 1,
+   [Define if you want the HTTP Digest Authorization compiled in.])
+
+AC_ARG_ENABLE(ntlm,
+[  --disable-ntlm          disable support for NTLM authorization],
+[ENABLE_NTLM=$enableval], [ENABLE_NTLM=auto])
+
+AC_ARG_ENABLE(debug,
+[  --disable-debug         disable support for debugging output],
+ENABLE_DEBUG=$enableval, ENABLE_DEBUG=yes)
+test x"${ENABLE_DEBUG}" = xyes && AC_DEFINE([ENABLE_DEBUG], 1,
+   [Define if you want the debug output support compiled in.])
+
+wget_need_md5=no
+
+case "${ENABLE_OPIE}${ENABLE_DIGEST}" in
+*yes*)
+       wget_need_md5=yes
+esac
+
+dnl
+dnl Find the compiler
+dnl
+
+dnl We want these before the checks, so the checks can modify their values.
+test -z "$CFLAGS"  && CFLAGS= auto_cflags=1
+test -z "$CC" && cc_specified=yes
+
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_AIX
+gl_EARLY
+md5_EARLY
+
+AC_PROG_RANLIB
+
+AC_PROG_LEX
+
+dnl Turn on optimization by default.  Specifically:
+dnl
+dnl if the user hasn't specified CFLAGS, then
+dnl   if compiler is gcc, then
+dnl     use -O2 and some warning flags
+dnl   else
+dnl     use os-specific flags or -O
+if test -n "$auto_cflags"; then
+  if test -n "$GCC"; then
+    CFLAGS="$CFLAGS -O2 -Wall"
+  else
+    case "$host_os" in
+      *hpux*)  CFLAGS="$CFLAGS +O3"                      ;;
+      *ultrix* | *osf*) CFLAGS="$CFLAGS -O -Olimit 2000" ;;
+      *)       CFLAGS="$CFLAGS -O" ;;
+    esac
+  fi
+fi
+
+dnl
+dnl Checks for basic compiler characteristics.
+dnl
+AC_C_CONST
+AC_C_INLINE
+AC_C_VOLATILE
+
+dnl Check for basic headers, even though we expect them to exist and
+dnl #include them unconditionally in the code.  Their detection is
+dnl still needed because test programs used by Autoconf macros check
+dnl for STDC_HEADERS, HAVE_SYS_TYPES_H, etc. before using them.
+dnl Without the checks they will fail to be included in test programs,
+dnl which will subsequently fail.
+AC_HEADER_STDC
+
+dnl Check for large file support.  This check needs to come fairly
+dnl early because it could (in principle) affect whether functions and
+dnl headers are available, whether they work, etc.
+AC_SYS_LARGEFILE
+AC_CHECK_SIZEOF(off_t)
+
+dnl
+dnl Checks for system header files that might be missing.
+dnl
+AC_HEADER_STDBOOL
+AC_CHECK_HEADERS(unistd.h sys/time.h)
+AC_CHECK_HEADERS(termios.h sys/ioctl.h sys/select.h utime.h sys/utime.h)
+AC_CHECK_HEADERS(stdint.h inttypes.h pwd.h wchar.h)
+
+dnl
+dnl Check sizes of integer types.  These are used to find n-bit
+dnl integral types on older systems that fail to provide intN_t and
+dnl uintN_t typedefs.
+dnl
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(void *)
+
+dnl
+dnl Checks for non-universal or system-specific types.
+dnl
+AC_TYPE_SIZE_T
+AC_TYPE_PID_T
+AC_CHECK_TYPES([uint32_t, uintptr_t, intptr_t, int64_t])
+AC_CHECK_TYPES(sig_atomic_t, [], [], [
+#include <stdio.h>
+#include <sys/types.h>
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#include <signal.h>
+])
+
+# gnulib
+gl_INIT
+
+dnl
+dnl Checks for library functions.
+dnl
+AC_FUNC_ALLOCA
+AC_FUNC_MMAP
+AC_FUNC_FSEEKO
+AC_CHECK_FUNCS(strptime timegm snprintf vsnprintf vasprintf drand48)
+AC_CHECK_FUNCS(strtoll usleep ftello sigblock sigsetjmp memrchr wcwidth mbtowc)
+
+if test x"$ENABLE_OPIE" = xyes; then
+  AC_LIBOBJ([ftp-opie])
+fi
+
+dnl We expect to have these functions on Unix-like systems configure
+dnl runs on.  The defines are provided to get them in config.h.in so
+dnl Wget can still be ported to non-Unix systems (such as Windows)
+dnl that lack some of these functions.
+AC_DEFINE([HAVE_STRCASECMP], 1, [Define to 1 if you have the `strcasecmp' function.])
+AC_DEFINE([HAVE_STRNCASECMP], 1, [Define to 1 if you have the `strncasecmp' function.])
+AC_DEFINE([HAVE_STRDUP], 1, [Define to 1 if you have the `strdup' function.])
+AC_DEFINE([HAVE_ISATTY], 1, [Define to 1 if you have the `isatty' function.])
+AC_DEFINE([HAVE_SYMLINK], 1, [Define to 1 if you have the `symlink' function.])
+
+dnl
+dnl Call Wget-specific macros defined in aclocal.
+dnl
+WGET_STRUCT_UTIMBUF
+WGET_SOCKLEN_T
+WGET_FNMATCH
+WGET_NANOSLEEP
+WGET_POSIX_CLOCK
+WGET_NSL_SOCKET
+
+dnl
+dnl Checks for libraries.
+dnl
+
+AS_IF([test x"$with_ssl" = xgnutls], [
+  dnl Now actually check for -lssl
+  AC_LIB_HAVE_LINKFLAGS([gnutls], [], [
+#include <gnutls/gnutls.h>
+  ], [gnutls_global_init()])
+  if test x"$LIBGNUTLS" != x
+  then
+    AC_MSG_NOTICE([compiling in support for SSL via GnuTLS])
+    AC_LIBOBJ([gnutls])
+  else
+    AC_MSG_ERROR([--with-ssl=gnutls was given, but GNUTLS is not available.])
+  fi
+], [
+  # --with-ssl is not gnutls: check if it's no
+  AS_IF([test x"$with_ssl" != xno], [
+    dnl As of this writing (OpenSSL 0.9.6), the libcrypto shared library
+    dnl doesn't record its dependency on libdl, so we need to make sure
+    dnl -ldl ends up in LIBS on systems that have it.  Most OSes use
+    dnl dlopen(), but HP-UX uses shl_load().
+    AC_CHECK_LIB(dl, dlopen, [], [
+      AC_CHECK_LIB(dl, shl_load)
+    ])
+
+    dnl Now actually check for -lssl
+    AC_LIB_HAVE_LINKFLAGS([ssl], [crypto], [
+  #include <openssl/ssl.h>
+  #include <openssl/x509.h>
+  #include <openssl/err.h>
+  #include <openssl/rand.h>
+  #include <openssl/des.h>
+  #include <openssl/md4.h>
+  #include <openssl/md5.h>
+    ], [SSL_library_init ()])
+    if test x"$LIBSSL" != x
+    then
+      AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
+      AC_LIBOBJ([openssl])
+    elif test x"$with_ssl" != x
+    then
+      AC_MSG_ERROR([--with-ssl was given, but SSL is not available.])
+    fi
+  ]) # endif: --with-ssl == no?
+]) # endif: --with-ssl == gnutls?
+
+
+dnl Enable NTLM if requested and if SSL is available.
+if test x"$LIBSSL" != x
+then
+  if test x"$ENABLE_NTLM" != xno
+  then
+    AC_DEFINE([ENABLE_NTLM], 1,
+     [Define if you want the NTLM authorization support compiled in.])
+    AC_LIBOBJ([http-ntlm])
+  fi
+else
+  dnl If SSL is unavailable and the user explicitly requested NTLM,
+  dnl abort.
+  if test x"$ENABLE_NTLM" = xyes
+  then
+    AC_MSG_ERROR([NTLM authorization requested and OpenSSL not found; aborting])
+  fi
+fi
+
+dnl
+dnl Find an MD5 implementation.  Since Wget rarely needs MD5, we try
+dnl to use an existing library implementation to save on code size.
+dnl
+
+if test x"$wget_need_md5" = xyes
+then
+  dnl This should be moved to an AC_DEFUN, but I'm not sure how to
+  dnl manipulate MD5_OBJ from the defun.
+
+  AC_LIBOBJ([gen-md5])
+  found_md5=no
+
+  dnl Check for the system MD5 library on Solaris.  We don't check for
+  dnl something simple like "MD5Update" because there are a number of
+  dnl MD5 implementations that use that name, but have an otherwise
+  dnl incompatible interface.  md5_calc is, hopefully, specific to the
+  dnl Solaris MD5 library.
+  if test x"$found_md5" = xno; then
+    AC_CHECK_LIB(md5, md5_calc, [
+      dnl Some installations have bogus <md5.h> in the compiler's
+      dnl include path, making the system md5 library useless.
+      AC_MSG_CHECKING([for working md5.h])
+      AC_COMPILE_IFELSE([#include <md5.h>
+                        ], [
+        AC_MSG_RESULT(yes)
+        AC_DEFINE([HAVE_SOLARIS_MD5], 1, [Define when using Solaris MD5.])
+        LIBS="-lmd5 $LIBS"
+        found_md5=yes
+        AC_MSG_NOTICE([using the Solaris MD5 implementation])
+      ], [AC_MSG_RESULT(no)])
+    ])
+  fi
+
+  dnl Then see if we're linking OpenSSL anyway; if yes, use its md5
+  dnl implementation.
+  if test x"$found_md5" = xno; then
+    if test x"$LIBSSL" != x; then
+      AC_DEFINE([HAVE_OPENSSL_MD5], 1, [Define when using OpenSSL MD5.])
+      found_md5=yes
+      AC_MSG_NOTICE([using the OpenSSL MD5 implementation])
+    fi
+  fi
+
+  dnl If none of the above worked, use the one we ship with Wget.
+  if test x"$found_md5" = xno; then
+    AC_DEFINE([HAVE_BUILTIN_MD5], 1, [Define when using built-in MD5.])
+    found_md5=yes
+    AC_MSG_NOTICE([using the built-in (GNU) MD5 implementation])
+    AC_C_BIGENDIAN
+
+    AC_SUBST(MD5_CPPFLAGS, '-I $(top_srcdir)/md5')
+    AC_SUBST(MD5_LDADD, '../md5/libmd5.a')
+    AC_SUBST(MD5_SUBDIR, md5)
+    md5_INIT
+  fi
+  AC_DEFINE([HAVE_MD5], 1, [Define if we're compiling support for MD5.])
+fi
+
+dnl **********************************************************************
+dnl Checks for IPv6
+dnl **********************************************************************
+
+dnl
+dnl We test for IPv6 by checking, in turn, for availability of
+dnl getaddrinfo, presence of the INET6 address/protocol family, and
+dnl the existence of struct sockaddr_in6.  If any of them is missing,
+dnl IPv6 is disabled, and the code reverts to old-style gethostbyname.
+dnl
+dnl If --enable-ipv6 is explicitly specified on the configure command
+dnl line, we check for IPv6 and abort if not found.  If --disable-ipv6
+dnl is specified, we disable IPv6 and don't check for it.  The default
+dnl is to autodetect IPv6 and use it where available.
+dnl
+
+AC_ARG_ENABLE(ipv6,
+  AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
+  [case "${enable_ipv6}" in
+    no)
+      AC_MSG_NOTICE([disabling IPv6 at user request])
+      dnl Disable IPv6 checking
+      ipv6=no
+      ;;
+    yes)
+      dnl IPv6 explicitly enabled: force its use (abort if unavailable).
+      ipv6=yes
+      force_ipv6=yes
+      ;;
+    auto)
+      dnl Auto-detect IPv6, i.e. check for IPv6, but don't force it.
+      ipv6=yes
+      ;;
+    *)
+      AC_MSG_ERROR([Invalid --enable-ipv6 argument \`$enable_ipv6'])
+      ;;
+    esac
+  ], [
+    dnl If nothing is specified, assume auto-detection.
+    ipv6=yes
+  ]
+)
+
+if test "X$ipv6" = "Xyes"; then
+  AC_CHECK_FUNCS(getaddrinfo, [], [
+    AC_MSG_NOTICE([Disabling IPv6 support: your system does not support getaddrinfo(3)])
+    ipv6=no
+  ])
+fi
+
+if test "X$ipv6" = "Xyes"; then
+  PROTO_INET6([], [
+    AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family])
+    ipv6=no
+  ])
+fi
+
+if test "X$ipv6" = "Xyes"; then
+  TYPE_STRUCT_SOCKADDR_IN6([],[
+    AC_MSG_NOTICE([Disabling IPv6 support: your system does not support \`struct sockaddr_in6'])
+    ipv6=no
+  ])
+  if test "X$ipv6" = "Xyes"; then
+    WGET_STRUCT_SOCKADDR_STORAGE
+    MEMBER_SIN6_SCOPE_ID
+  fi
+fi
+
+if test "X$ipv6" = "Xyes"; then
+  AC_DEFINE([ENABLE_IPV6], 1, [Define if IPv6 support is enabled.])
+  AC_MSG_NOTICE([Enabling support for IPv6.])
+elif test "x$force_ipv6" = "xyes"; then
+  AC_MSG_ERROR([IPv6 support requested but not found; aborting])
+fi
+
+
+dnl
+dnl Set of available languages.
+dnl
+dnl Originally this used to be static, looking like this:
+dnl     ALL_LINGUAS="cs de hr it ..."
+dnl The downside was that configure needed to be rebuilt whenever a
+dnl new language was added.
+dnl
+ALL_LINGUAS="en@quot en@boldquot en_US $(cd ${srcdir}/po && ls *.po | grep -v 'en@.*quot' | grep -v 'en_US\.po' | sed -e 's/\.po$//' | tr '\012' ' ')"
+
+dnl
+dnl Find makeinfo.  We used to provide support for Emacs processing
+dnl Texinfo using `emacs -batch -eval ...' where makeinfo is
+dnl unavailable, but that broke with the addition of makeinfo-specific
+dnl command-line options, such as `-I'.  Now we depend on makeinfo to
+dnl build the Info documentation.
+dnl
+
+AC_CHECK_PROGS(MAKEINFO, [makeinfo], [true])
+
+dnl
+dnl Find perl and pod2man
+dnl
+
+AC_PATH_PROGS(PERL, [perl5 perl], no)
+AC_PATH_PROG(POD2MAN, pod2man, no)
+
+if test "x${POD2MAN}" = xno; then
+  COMMENT_IF_NO_POD2MAN="# "
+else
+  COMMENT_IF_NO_POD2MAN=
+fi
+AC_SUBST(COMMENT_IF_NO_POD2MAN)
+
+dnl
+dnl Create output
+dnl
+AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile util/Makefile
+                 po/Makefile.in tests/Makefile tests/WgetTest.pm
+                 lib/Makefile md5/Makefile windows/Makefile])
+AC_CONFIG_HEADERS([src/config.h])
+AC_OUTPUT
index 56e20ca75b0e85518f8d80298e1157d7b6b17d80..63b67a00a14c6061d0516b34041f12677a30e533 100755 (executable)
@@ -1,10 +1,10 @@
 @echo off\r
 rem Configure batch file for `Wget' utility\r
-rem Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.\r
+rem Copyright (C) 1995, 1996, 1997, 2007, 2008 Free Software Foundation, Inc.\r
 \r
 rem This program is free software; you can redistribute it and/or modify\r
 rem it under the terms of the GNU General Public License as published by\r
-rem the Free Software Foundation; either version 2 of the License, or\r
+rem the Free Software Foundation; either version 3 of the License, or\r
 rem (at your option) any later version.\r
 \r
 rem This program is distributed in the hope that it will be useful,\r
@@ -13,18 +13,18 @@ rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 rem GNU General Public License for more details.\r
 \r
 rem You should have received a copy of the GNU General Public License\r
-rem along with this program; if not, write to the Free Software\r
-rem Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+rem along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
 \r
-rem In addition, as a special exception, the Free Software Foundation\r
-rem gives permission to link the code of its release of Wget with the\r
-rem OpenSSL project's "OpenSSL" library (or with modified versions of it\r
-rem that use the same license as the "OpenSSL" library), and distribute\r
-rem the linked executables.  You must obey the GNU General Public License\r
-rem in all respects for all of the code used other than "OpenSSL".  If you\r
-rem modify this file, you may extend this exception to your version of the\r
-rem file, but you are not obligated to do so.  If you do not wish to do\r
-rem so, delete this exception statement from your version.\r
+rem Additional permission under GNU GPL version 3 section 7\r
+\r
+rem If you modify this program, or any covered work, by linking or\r
+rem combining it with the OpenSSL project's OpenSSL library (or a\r
+rem modified version of that library), containing parts covered by the\r
+rem terms of the OpenSSL or SSLeay licenses, the Free Software Foundation\r
+rem grants you additional permission to convey the resulting work.\r
+rem Corresponding Source for a non-source form of such a combination\r
+rem shall include the source code for the parts of OpenSSL used as well\r
+rem as that of the covered work.\r
 \r
 if .%1 == .--borland goto :borland\r
 if .%1 == .--mingw goto :mingw\r
diff --git a/configure.in b/configure.in
deleted file mode 100644 (file)
index 2dc7177..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-dnl Template file for GNU Autoconf
-dnl Copyright (C) 1995, 1996, 1997, 2001 Free Software Foundation, Inc.
-
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-dnl GNU General Public License for more details.
-
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-dnl In addition, as a special exception, the Free Software Foundation
-dnl gives permission to link the code of its release of Wget with the
-dnl OpenSSL project's "OpenSSL" library (or with modified versions of it
-dnl that use the same license as the "OpenSSL" library), and distribute
-dnl the linked executables.  You must obey the GNU General Public License
-dnl in all respects for all of the code used other than "OpenSSL".  If you
-dnl modify this file, you may extend this exception to your version of the
-dnl file, but you are not obligated to do so.  If you do not wish to do
-dnl so, delete this exception statement from your version.
-
-dnl
-dnl Process this file with autoconf to produce a configure script.
-dnl
-
-AC_INIT([src/version.c])
-AC_PREREQ(2.59)
-
-dnl Include the M4 macros we use.
-builtin(include, [m4/wget.m4])dnl
-builtin(include, [m4/lib-ld.m4])dnl
-builtin(include, [m4/lib-link.m4])dnl
-builtin(include, [m4/lib-prefix.m4])dnl
-
-dnl
-dnl What version of Wget are we building?
-dnl
-VERSION=`sed -e 's/^.*"\(.*\)";$/\1/' ${srcdir}/src/version.c`
-AC_MSG_NOTICE([configuring for GNU Wget $VERSION])
-AC_SUBST(VERSION)
-PACKAGE=wget
-AC_SUBST(PACKAGE)
-
-dnl
-dnl Get cannonical host
-dnl
-AC_CANONICAL_HOST
-AC_DEFINE_UNQUOTED([OS_TYPE], "$host_os",
-                   [Define to be the name of the operating system.])
-
-dnl
-dnl Process features.
-dnl
-
-AC_ARG_WITH(ssl,
-[[  --without-ssl           disable SSL autodetection]])
-
-AC_ARG_ENABLE(opie,
-[  --disable-opie          disable support for opie or s/key FTP login],
-ENABLE_OPIE=$enableval, ENABLE_OPIE=yes)
-test x"${ENABLE_OPIE}" = xyes && AC_DEFINE([ENABLE_OPIE], 1,
-   [Define if you want the Opie support for FTP compiled in.])
-
-AC_ARG_ENABLE(digest,
-[  --disable-digest        disable support for HTTP digest authorization],
-ENABLE_DIGEST=$enableval, ENABLE_DIGEST=yes)
-test x"${ENABLE_DIGEST}" = xyes && AC_DEFINE([ENABLE_DIGEST], 1,
-   [Define if you want the HTTP Digest Authorization compiled in.])
-
-AC_ARG_ENABLE(ntlm,
-[  --disable-ntlm          disable support for NTLM authorization],
-[ENABLE_NTLM=$enableval], [ENABLE_NTLM=auto])
-
-AC_ARG_ENABLE(debug,
-[  --disable-debug         disable support for debugging output],
-ENABLE_DEBUG=$enableval, ENABLE_DEBUG=yes)
-test x"${ENABLE_DEBUG}" = xyes && AC_DEFINE([ENABLE_DEBUG], 1,
-   [Define if you want the debug output support compiled in.])
-
-wget_need_md5=no
-
-case "${ENABLE_OPIE}${ENABLE_DIGEST}" in
-*yes*)
-       wget_need_md5=yes
-esac
-if test x"$ENABLE_OPIE" = xyes; then
-  OPIE_OBJ='ftp-opie.o'
-fi
-AC_SUBST(OPIE_OBJ)
-
-dnl
-dnl Whether make sets $(MAKE)...
-dnl
-AC_PROG_MAKE_SET
-
-dnl
-dnl Find a good install
-dnl
-AC_PROG_INSTALL
-
-dnl
-dnl Find the compiler
-dnl
-
-dnl We want these before the checks, so the checks can modify their values.
-test -z "$CFLAGS"  && CFLAGS= auto_cflags=1
-test -z "$CC" && cc_specified=yes
-
-AC_PROG_CC
-AC_AIX
-
-YYTEXT_POINTER=1
-AC_PROG_LEX
-
-dnl Turn on optimization by default.  Specifically:
-dnl
-dnl if the user hasn't specified CFLAGS, then
-dnl   if compiler is gcc, then
-dnl     use -O2 and some warning flags
-dnl   else
-dnl     use os-specific flags or -O
-if test -n "$auto_cflags"; then
-  if test -n "$GCC"; then
-    CFLAGS="$CFLAGS -O2 -Wall"
-  else
-    case "$host_os" in
-      *hpux*)  CFLAGS="$CFLAGS +O3"                      ;;
-      *ultrix* | *osf*) CFLAGS="$CFLAGS -O -Olimit 2000" ;;
-      *)       CFLAGS="$CFLAGS -O" ;;
-    esac
-  fi
-fi
-
-dnl
-dnl In case of {cyg,gnu}win32.  Should be a _target_ test.
-dnl Might also be erelevant for DJGPP.
-dnl
-case "$host_os" in
-  *win32) exeext='.exe';;
-  *) exeext='';;
-esac
-AC_SUBST(exeext)
-
-dnl
-dnl Checks for basic compiler characteristics.
-dnl
-AC_C_CONST
-AC_C_INLINE
-AC_C_VOLATILE
-
-dnl Check for basic headers, even though we expect them to exist and
-dnl #include them unconditionally in the code.  Their detection is
-dnl still needed because test programs used by Autoconf macros check
-dnl for STDC_HEADERS, HAVE_SYS_TYPES_H, etc. before using them.
-dnl Without the checks they will fail to be included in test programs,
-dnl which will subsequently fail.
-AC_HEADER_STDC
-
-dnl Check for large file support.  This check needs to come fairly
-dnl early because it could (in principle) affect whether functions and
-dnl headers are available, whether they work, etc.
-AC_SYS_LARGEFILE
-AC_CHECK_SIZEOF(off_t)
-
-dnl
-dnl Checks for system header files that might be missing.
-dnl
-AC_HEADER_STDBOOL
-AC_CHECK_HEADERS(unistd.h sys/time.h)
-AC_CHECK_HEADERS(termios.h sys/ioctl.h sys/select.h utime.h sys/utime.h)
-AC_CHECK_HEADERS(stdint.h inttypes.h pwd.h)
-
-dnl
-dnl Check sizes of integer types.  These are used to find n-bit
-dnl integral types on older systems that fail to provide intN_t and
-dnl uintN_t typedefs.
-dnl
-AC_CHECK_SIZEOF(short)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(long long)
-AC_CHECK_SIZEOF(void *)
-
-dnl
-dnl Checks for non-universal or system-specific types.
-dnl
-AC_TYPE_SIZE_T
-AC_TYPE_PID_T
-AC_CHECK_TYPES([uint32_t, uintptr_t, intptr_t, int64_t])
-AC_CHECK_TYPES(sig_atomic_t, [], [], [
-#include <stdio.h>
-#include <sys/types.h>
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#include <signal.h>
-])
-
-dnl
-dnl Checks for library functions.
-dnl
-AC_FUNC_ALLOCA
-AC_FUNC_MMAP
-AC_FUNC_FSEEKO
-AC_CHECK_FUNCS(strptime timegm snprintf vsnprintf vasprintf drand48)
-AC_CHECK_FUNCS(strtoll usleep ftello sigblock sigsetjmp memrchr)
-
-dnl We expect to have these functions on Unix-like systems configure
-dnl runs on.  The defines are provided to get them in config.h.in so
-dnl Wget can still be ported to non-Unix systems (such as Windows)
-dnl that lack some of these functions.
-AC_DEFINE([HAVE_STRCASECMP], 1, [Define to 1 if you have the `strcasecmp' function.])
-AC_DEFINE([HAVE_STRNCASECMP], 1, [Define to 1 if you have the `strncasecmp' function.])
-AC_DEFINE([HAVE_STRDUP], 1, [Define to 1 if you have the `strdup' function.])
-AC_DEFINE([HAVE_ISATTY], 1, [Define to 1 if you have the `isatty' function.])
-AC_DEFINE([HAVE_SYMLINK], 1, [Define to 1 if you have the `symlink' function.])
-
-dnl
-dnl Call Wget-specific macros defined in aclocal.
-dnl
-WGET_STRUCT_UTIMBUF
-WGET_SOCKLEN_T
-WGET_FNMATCH
-WGET_NANOSLEEP
-WGET_POSIX_CLOCK
-WGET_NSL_SOCKET
-
-dnl
-dnl Check if we need to compile in getopt.c.
-dnl
-AC_CHECK_FUNC(getopt_long, [], [
-  GETOPT_OBJ='getopt.o'
-])
-AC_SUBST(GETOPT_OBJ)
-
-dnl
-dnl Checks for libraries.
-dnl
-
-if test x"$with_ssl" = xgnutls
-then
-  dnl Now actually check for -lssl
-  AC_LIB_HAVE_LINKFLAGS([gnutls], [], [
-#include <gnutls/gnutls.h>
-  ], [gnutls_global_init()])
-  if test x"$LIBGNUTLS" != x
-  then
-    AC_MSG_NOTICE([compiling in support for SSL via GnuTLS])
-    SSL_OBJ='gnutls.o'
-  else
-    AC_MSG_ERROR([--with-ssl=gnutls was given, but GNUTLS is not available.])
-  fi
-elif test x"$with_ssl" != xno; then
-  dnl As of this writing (OpenSSL 0.9.6), the libcrypto shared library
-  dnl doesn't record its dependency on libdl, so we need to make sure
-  dnl -ldl ends up in LIBS on systems that have it.  Most OSes use
-  dnl dlopen(), but HP-UX uses shl_load().
-  AC_CHECK_LIB(dl, dlopen, [], [
-    AC_CHECK_LIB(dl, shl_load)
-  ])
-
-  dnl Now actually check for -lssl
-  AC_LIB_HAVE_LINKFLAGS([ssl], [crypto], [
-#include <openssl/ssl.h>
-#include <openssl/x509.h>
-#include <openssl/err.h>
-#include <openssl/rand.h>
-#include <openssl/des.h>
-#include <openssl/md4.h>
-#include <openssl/md5.h>
-  ], [SSL_library_init ()])
-  if test x"$LIBSSL" != x
-  then
-    AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
-    SSL_OBJ='openssl.o'
-  elif test x"$with_ssl" != x
-  then
-    AC_MSG_ERROR([--with-ssl was given, but SSL is not available.])
-  fi
-fi
-
-AC_SUBST(SSL_OBJ)
-
-dnl Enable NTLM if requested and if SSL is available.
-NTLM_OBJ=''
-if test x"$LIBSSL" != x
-then
-  if test x"$ENABLE_NTLM" != xno
-  then
-    AC_DEFINE([ENABLE_NTLM], 1,
-     [Define if you want the NTLM authorization support compiled in.])
-    NTLM_OBJ='http-ntlm.o'
-  fi
-else
-  dnl If SSL is unavailable and the user explicitly requested NTLM,
-  dnl abort.
-  if test x"$ENABLE_NTLM" = xyes
-  then
-    AC_MSG_ERROR([NTLM authorization requested and OpenSSL not found; aborting])
-  fi
-fi
-AC_SUBST(NTLM_OBJ)
-
-dnl
-dnl Find an MD5 implementation.  Since Wget rarely needs MD5, we try
-dnl to use an existing library implementation to save on code size.
-dnl
-
-if test x"$wget_need_md5" = xyes
-then
-  dnl This should be moved to an AC_DEFUN, but I'm not sure how to
-  dnl manipulate MD5_OBJ from the defun.
-
-  MD5_OBJ='gen-md5.o'
-  found_md5=no
-
-  dnl Check for the system MD5 library on Solaris.  We don't check for
-  dnl something simple like "MD5Update" because there are a number of
-  dnl MD5 implementations that use that name, but have an otherwise
-  dnl incompatible interface.  md5_calc is, hopefully, specific to the
-  dnl Solaris MD5 library.
-  if test x"$found_md5" = xno; then
-    AC_CHECK_LIB(md5, md5_calc, [
-      dnl Some installations have bogus <md5.h> in the compiler's
-      dnl include path, making the system md5 library useless.
-      AC_MSG_CHECKING([for working md5.h])
-      AC_COMPILE_IFELSE([#include <md5.h>
-                        ], [
-        AC_MSG_RESULT(yes)
-        AC_DEFINE([HAVE_SOLARIS_MD5], 1, [Define when using Solaris MD5.])
-        LIBS="-lmd5 $LIBS"
-        found_md5=yes
-        AC_MSG_NOTICE([using the Solaris MD5 implementation])
-      ], [AC_MSG_RESULT(no)])
-    ])
-  fi
-
-  dnl Then see if we're linking OpenSSL anyway; if yes, use its md5
-  dnl implementation.
-  if test x"$found_md5" = xno; then
-    if test x"$LIBSSL" != x; then
-      AC_DEFINE([HAVE_OPENSSL_MD5], 1, [Define when using OpenSSL MD5.])
-      found_md5=yes
-      AC_MSG_NOTICE([using the OpenSSL MD5 implementation])
-    fi
-  fi
-
-  dnl If none of the above worked, use the one we ship with Wget.
-  if test x"$found_md5" = xno; then
-    AC_DEFINE([HAVE_BUILTIN_MD5], 1, [Define when using built-in MD5.])
-    MD5_OBJ="$MD5_OBJ gnu-md5.o"
-    found_md5=yes
-    AC_MSG_NOTICE([using the built-in (GNU) MD5 implementation])
-    AC_C_BIGENDIAN
-  fi
-fi
-AC_DEFINE([HAVE_MD5], 1, [Define if we're compiling support for MD5.])
-AC_SUBST(MD5_OBJ)
-
-dnl **********************************************************************
-dnl Checks for IPv6
-dnl **********************************************************************
-
-dnl
-dnl We test for IPv6 by checking, in turn, for availability of
-dnl getaddrinfo, presence of the INET6 address/protocol family, and
-dnl the existence of struct sockaddr_in6.  If any of them is missing,
-dnl IPv6 is disabled, and the code reverts to old-style gethostbyname.
-dnl
-dnl If --enable-ipv6 is explicitly specified on the configure command
-dnl line, we check for IPv6 and abort if not found.  If --disable-ipv6
-dnl is specified, we disable IPv6 and don't check for it.  The default
-dnl is to autodetect IPv6 and use it where available.
-dnl
-
-AC_ARG_ENABLE(ipv6,
-  AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
-  [case "${enable_ipv6}" in
-    no)
-      AC_MSG_NOTICE([disabling IPv6 at user request])
-      dnl Disable IPv6 checking
-      ipv6=no
-      ;;
-    yes)
-      dnl IPv6 explicitly enabled: force its use (abort if unavailable).
-      ipv6=yes
-      force_ipv6=yes
-      ;;
-    auto)
-      dnl Auto-detect IPv6, i.e. check for IPv6, but don't force it.
-      ipv6=yes
-      ;;
-    *)
-      AC_MSG_ERROR([Invalid --enable-ipv6 argument \`$enable_ipv6'])
-      ;;
-    esac
-  ], [
-    dnl If nothing is specified, assume auto-detection.
-    ipv6=yes
-  ]
-)
-
-if test "X$ipv6" = "Xyes"; then
-  AC_CHECK_FUNCS(getaddrinfo, [], [
-    AC_MSG_NOTICE([Disabling IPv6 support: your system does not support getaddrinfo(3)])
-    ipv6=no
-  ])
-fi
-
-if test "X$ipv6" = "Xyes"; then
-  PROTO_INET6([], [
-    AC_MSG_NOTICE([Disabling IPv6 support: your system does not support the PF_INET6 protocol family])
-    ipv6=no
-  ])
-fi
-
-if test "X$ipv6" = "Xyes"; then
-  TYPE_STRUCT_SOCKADDR_IN6([],[
-    AC_MSG_NOTICE([Disabling IPv6 support: your system does not support \`struct sockaddr_in6'])
-    ipv6=no
-  ])
-  if test "X$ipv6" = "Xyes"; then
-    WGET_STRUCT_SOCKADDR_STORAGE
-    MEMBER_SIN6_SCOPE_ID
-  fi
-fi
-
-if test "X$ipv6" = "Xyes"; then
-  AC_DEFINE([ENABLE_IPV6], 1, [Define if IPv6 support is enabled.])
-  AC_MSG_NOTICE([Enabling support for IPv6.])
-elif test "x$force_ipv6" = "xyes"; then
-  AC_MSG_ERROR([IPv6 support requested but not found; aborting])
-fi
-
-
-dnl
-dnl Set of available languages.
-dnl
-dnl Originally this used to be static, looking like this:
-dnl     ALL_LINGUAS="cs de hr it ..."
-dnl The downside was that configure needed to be rebuilt whenever a
-dnl new language was added.
-dnl
-ALL_LINGUAS=`(cd ${srcdir}/po && ls *.po | sed -e 's/\.po$//' | tr '\012' ' ')`
-
-dnl internationalization macros
-WGET_WITH_NLS
-
-dnl
-dnl Find makeinfo.  We used to provide support for Emacs processing
-dnl Texinfo using `emacs -batch -eval ...' where makeinfo is
-dnl unavailable, but that broke with the addition of makeinfo-specific
-dnl command-line options, such as `-I'.  Now we depend on makeinfo to
-dnl build the Info documentation.
-dnl
-
-AC_CHECK_PROGS(MAKEINFO, [makeinfo], [true])
-
-dnl
-dnl Find perl and pod2man
-dnl
-
-AC_PATH_PROGS(PERL, [perl5 perl], no)
-AC_PATH_PROG(POD2MAN, pod2man, no)
-
-if test "x${POD2MAN}" = xno; then
-  COMMENT_IF_NO_POD2MAN="# "
-else
-  COMMENT_IF_NO_POD2MAN=
-fi
-AC_SUBST(COMMENT_IF_NO_POD2MAN)
-
-dnl
-dnl Create output
-dnl
-AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile util/Makefile
-                 po/Makefile.in tests/Makefile windows/Makefile])
-AC_CONFIG_HEADERS([src/config.h])
-AH_BOTTOM([
-#include "config-post.h"
-])
-AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
-AC_CONFIG_COMMANDS([default], [WGET_PROCESS_PO])
-AC_OUTPUT
diff --git a/depcomp b/depcomp
new file mode 100755 (executable)
index 0000000..ca5ea4e
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,584 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2006-10-15.18
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
+# Foundation, Inc.
+
+# This program 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 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
+  if test "$libtool" = yes; then
+    "$@" -Wc,-M
+  else
+    "$@" -M
+  fi
+  stat=$?
+
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+
+  if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add `dependent.h:' lines.
+    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+  else
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mechanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+       set fnord "$@"
+       shift
+       shift
+       ;;
+    *)
+       set fnord "$@" "$arg"
+       shift
+       shift
+       ;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::   \1 \\:p' >> "$depfile"
+  echo "       " >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
index 1dbf0bc60e37154dbcb1c51924897cf528ab55be..c5614d4ae2a27b5b7a8588f559237c5c7848796c 100644 (file)
@@ -1,3 +1,121 @@
+2008-04-11  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <Contributors>: Added Julien Buty, Alexander
+       Dergachev, and Rabin Vincent.
+
+2008-03-24  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <Types of Fields>: Mentioned various caveats in the
+       behavior of accept/reject lists, deprecate current
+       always-download-HTML feature. Added @noindent to a couple of
+       appropriate spots.
+
+2008-03-17  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <Directory-Based Limits>: Mention importance of
+       trailing slashes to --no-parents.
+
+2008-02-10  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <HTTP Options>: Added documentation of
+       --auth-no-challenge.
+
+2008-02-06  Micah Cowan  <micah@cowan.name>
+
+       * wget.ṫexi <Overview>: Remove references to no-longer-supported
+       socks library.
+
+2008-01-31  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi: Ensure that license info appears in the info
+       version of the manual.
+
+2008-01-25  Micah Cowan  <micah@cowan.name>
+       * Makefile.am, wget.texi: Updated copyright year.
+
+2007-12-10  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi: Document the --content-disposition option (and not
+       just the .wgetrc setting).
+
+2007-12-06  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi: "the the" -> "the"
+
+2007-12-05  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <Wgetrc Commands>: Explicitly mention that
+       --content-disposition has known issues.
+
+2007-10-13  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <Mailing Lists>: Replaced mention of no-longer
+       included PATCHES file with link to relevant Wgiki page.
+       * wget.texi <Internet Relay Chat>: Added new section.
+
+2007-10-10  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <Wgetrc Commands>: Fixed "doewnloads" typo.
+
+2007-10-08  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi: Credit to Ralf Wildenhues for automakifying patches.
+
+2007-10-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in: Removed, replaced by Makefile.am.
+       * Makefile.am: Converted from Makefile.in.
+
+2007-10-03  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <Wgetrc Commands>: Cleaned up alphabetization,
+       more consistent use of underscores. Added a description of the
+       content_disposition wgetrc command.
+
+2007-10-01  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi: Updated information in Mailing Lists, Reporting
+       Bugs. Added Web Site section, and add information about Mac OS
+       X, MS-DOS, and VMS in Portability.
+
+2007-09-27  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi: Removed "for more details" from parenthesese
+       enclosing @pxref{}s, so that texi2pod.pl knows to remove the
+       whole reference. Made some gramattical improvements, and
+       strengthened the recommendation to use the info manual instead.
+       * texi2pod.pl: Brought in some updates from the GCC version. Not
+       an entire update, since a couple "fixes" there breaks stuff
+       here.
+
+2007-09-12  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi: Expanded the description of -O. Clarified the
+       detection of elements as "patterns" versus "suffixes" in -A,
+       -R. Describe -p in relation to -nc.
+
+2007-07-28  Micah Cowan  <micah@cowan.name>
+
+       * wget.texi <HTTP Options>: Added --max-redirect option.
+
+2007-07-05  Micah Cowan  <micah@cowan.name>
+
+       * fdl.texi:
+       Changed to match the version in gnulib.
+
+       * Makefile.in:
+       * texi2pod.pl:
+       * texinfo.tex:
+       Updated GPL reference to version 3 or later, removed FSF
+       address.
+
+       * wget.texi:
+       Slightly reworded the FDL license invocation. Replaced the
+       maintainer reference. Removed the GPL text from the manual.
+
+       * gpl.texi:
+       Removed due to discontinuation of reference in Wget manual.
+
 2006-07-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
 
        * wget.texi: Fixed rendering of --no-proxy description in the man
 2001-02-22  Dan Harkless  <wget@harkless.org>
 
        * Makefile.in: Make wget man page and install it if we have
-       pod2man.  Added some missing '$(srcdir)/'s.  Added missing
-       dependencies on install targets (allowing you to just do `make
-       install' rather than forcing you to do `make && make install').
-       Also, Makefile rules should always use output file parameters if
-       available rather than redirecting stdout with '>', or you falsely
-       satisfy dependencies if the tool you're running is missing or
-       fails -- fixed call of texi2pod.pl that did this wrong.
+       pod2man.  Added some missing '$(srcdir)/'s.  Added missing
+       dependencies on install targets (allowing you to just do `make
+       install' rather than forcing you to do `make && make install').
+       Also, Makefile rules should always use output file parameters if
+       available rather than redirecting stdout with '>', or you falsely
+       satisfy dependencies if the tool you're running is missing or
+       fails -- fixed call of texi2pod.pl that did this wrong.
 
        * texi2pod.pl: Removed from CVS.  Now automatically generated.
                
        * texi2pod.pl.in: This new file is processed into texi2pod.pl,
-       getting the appropriate path to the Perl 5+ executable on this
-       system and becoming executable (CVS files, by contrast, don't
-       arrive executable).
+       getting the appropriate path to the Perl 5+ executable on this
+       system and becoming executable (CVS files, by contrast, don't
+       arrive executable).
        
 2001-02-19  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (Download Options): Further improvement to --continue
-       documentation -- explain interaction with -r and -N, mention
-       usefulness for downloading new sections of appended-to files, etc.
+       documentation -- explain interaction with -r and -N, mention
+       usefulness for downloading new sections of appended-to files, etc.
 
 2001-01-06  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
 
 2001-01-09  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (Download Options): Did a bunch of clarification and
-       correction to the description of --continue.
+       correction to the description of --continue.
 
 2001-01-06  Dan Harkless  <wget@harkless.org>
 
        looking at the dates would make you think that things went into
        1.6 that actually just went into the 1.7-dev branch.  Added "[Not
        in 1.6 branch.]" where appropriate to clarify.
-        
+
 2000-12-10  Hrvoje Niksic  <hniksic@arsdigita.com>
 
        * Makefile.in (install.info): Info files are *not* in $(srcdir),
 2000-08-22  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (Download Options): --no-clobber's documentation was
-       severely lacking -- ameliorated the situation.  Some of the
-       previously-undocumented stuff (like the multiple-file-version
-       numeric-suffixing) that's now mentioned for the first (and only)
-       time in the -nc documentation should probably be mentioned
-       elsewhere, but due to the way that wget.texi's hierarchy is laid
-       out, I had a hard time finding anywhere else appropriate.
+       severely lacking -- ameliorated the situation.  Some of the
+       previously-undocumented stuff (like the multiple-file-version
+       numeric-suffixing) that's now mentioned for the first (and only)
+       time in the -nc documentation should probably be mentioned
+       elsewhere, but due to the way that wget.texi's hierarchy is laid
+       out, I had a hard time finding anywhere else appropriate.
 
 2000-07-17  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (HTTP Options): Minor clarification in "download a
-       single HTML page and all files necessary to display it" example.
+       single HTML page and all files necessary to display it" example.
 
 2000-05-22  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (HTTP Options): Damir Dzeko <ddzeko@zesoi.fer.hr> did
-       not document his new --referer option.  Did so.
+       not document his new --referer option.  Did so.
 
 2000-04-18  Dan Harkless  <wget@harkless.org>
 
 2000-04-12  Dan Harkless  <wget@harkless.org>
 
        * Makefile.in (install.wgetrc): I completely missed the message
-       that the new wgetrc wasn't being installed the first couple of
-       times I ran `make install' after changing sample.wgetrc.  Added
-       blank lines around the message and a "<Hit RETURN to
-       acknowledge>", and reworded the message to be a bit more clear.
+       that the new wgetrc wasn't being installed the first couple of
+       times I ran `make install' after changing sample.wgetrc.  Added
+       blank lines around the message and a "<Hit RETURN to
+       acknowledge>", and reworded the message to be a bit more clear.
        
        * sample.wgetrc: Added entries for backup_converted and waitretry.
 
        * wget.texi (Download Options and Wgetrc Commands): Herold Heiko
-       <Heiko.Herold@previnet.it>'s new --waitretry option was
-       undocumented until now.  Reworded the suggested documentation he
-       sent to the list.
+       <Heiko.Herold@previnet.it>'s new --waitretry option was
+       undocumented until now.  Reworded the suggested documentation he
+       sent to the list.
 
 2000-03-10  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (Recursive Retrieval Options): In -K description,
-       added a link to the discussion of interaction with -N.
+       added a link to the discussion of interaction with -N.
        (Recursive Accept/Reject Options): Did some alphabetizing and added
        descriptions of new --follow-tags and -G / --ignore-tags options.
        (Following Links): Changed "the loads of" to "loads of".
        (Wgetrc Commands): Added descriptions of new follow_tags and
-       ignore_tags commands.
+       ignore_tags commands.
 
 2000-03-02  Daniel S. Lewart  <d-lewart@uiuc.edu>
 
 2000-03-01  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (HTTP Time-Stamping Internals): Added a note about my
-       newly-implemented interaction between -K and -N.
+       newly-implemented interaction between -K and -N.
 
 2000-02-29  Dan Harkless  <wget@harkless.org>
 
 2000-02-18  Dan Harkless  <wget@harkless.org>
 
        * wget.texi (Recursive Retrieval Options): Documented my new -K /
-       --backup-converted option.
+       --backup-converted option.
        (Wgetrc Commands): Documented backup_converted equivalent.
 
 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
 1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>
 
        * wget.texi (Recursive Retrieval): Fix typo.  Suggested by
-       Francois Pinard.
+       Francois Pinard.
 
 1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>
 
 1998-03-29  Hrvoje Niksic  <hniksic@srce.hr>
 
        * wget.texi (Invoking): Split into more sections, analogous to
-       output of `wget --help'.
+       output of `wget --help'.
        (HTTP Options): Document --user-agent.
 
 1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>
 1997-02-17  Hrvoje Niksic  <hniksic@srce.hr>
 
        * wget.texi (Advanced Options): Document --proxy-user and
-       --proxy-passwd.
+       --proxy-passwd.
 
 1997-02-14  Karl Eichwalder  <ke@ke.Central.DE>
 
 1996-12-12  Dieter Baron <dillo@danbala.tuwien.ac.at>
 
        * wget.texi (Advanced Usage): Would reference prep instead of
-       wuarchive.
+       wuarchive.
 
 1996-11-25  Hrvoje Niksic  <hniksic@srce.hr>
 
 1996-11-22  Hrvoje Niksic  <hniksic@srce.hr>
 
        * wget.texi (Portability): Add IRIX and FreeBSD as the "regular"
-       platforms.
+       platforms.
 
 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
 
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644 (file)
index 0000000..c0e10db
--- /dev/null
@@ -0,0 +1,116 @@
+# Makefile for `wget' utility
+# Copyright (C) 1995, 1996, 1997, 2007, 2008 Free Software Foundation, Inc.
+
+# This program 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 3 of the License, 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+#
+# Version: @VERSION@
+#
+
+# Program to convert DVI files to PostScript
+DVIPS = dvips -D 300
+# Program to convert texinfo files to html
+TEXI2HTML = texi2html -expandinfo -split_chapter
+
+manext     = 1
+RM = rm -f
+
+TEXI2POD     = $(srcdir)/texi2pod.pl
+POD2MAN      = @POD2MAN@
+MAN          = wget.$(manext)
+WGETRC       = $(sysconfdir)/wgetrc
+SAMPLERCTEXI = sample.wgetrc.munged_for_texi_inclusion
+
+#
+# Dependencies for building
+#
+
+man_MANS = $(MAN)
+
+all: wget.info @COMMENT_IF_NO_POD2MAN@$(MAN)
+
+everything: all wget_us.ps wget_a4.ps wget_toc.html
+
+$(SAMPLERCTEXI): $(srcdir)/sample.wgetrc
+       sed s/@/@@/g $? > $@
+
+info_TEXINFOS = wget.texi
+wget_TEXINFOS = fdl.texi sample.wgetrc.munged_for_texi_inclusion
+
+EXTRA_DIST = README.maint sample.wgetrc $(SAMPLERCTEXI) \
+            texi2pod.pl
+
+wget.pod: $(srcdir)/wget.texi $(srcdir)/version.texi
+       $(TEXI2POD) $(srcdir)/wget.texi $@
+
+$(MAN): wget.pod
+       $(POD2MAN) --center="GNU Wget" --release="GNU Wget @VERSION@" $? > $@
+
+#wget.cat: $(MAN)
+#      nroff -man $? > $@
+
+wget_us.ps: wget.dvi
+       $(DVIPS) -t letter -o $@ wget.dvi
+
+wget_a4.ps: wget.dvi
+       $(DVIPS) -t a4 -o $@ wget.dvi
+
+wget_toc.html: $(srcdir)/wget.texi
+       $(TEXI2HTML) $(srcdir)/wget.texi
+
+#
+# Dependencies for installing
+#
+
+# install all the documentation
+install-data-local: install.wgetrc @COMMENT_IF_NO_POD2MAN@install.man
+
+# uninstall all the documentation
+uninstall-local: @COMMENT_IF_NO_POD2MAN@uninstall.man
+
+
+# install man page, creating install directory if necessary
+install.man: $(MAN)
+       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man$(manext)
+       $(INSTALL_DATA) $(MAN) $(DESTDIR)$(mandir)/man$(manext)/$(MAN)
+
+# install sample.wgetrc
+install.wgetrc: $(srcdir)/sample.wgetrc
+       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
+       @if test -f $(DESTDIR)$(WGETRC); then \
+         if cmp -s $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC); then echo ""; \
+            else \
+            echo ' $(INSTALL_DATA) $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC).new'; \
+            $(INSTALL_DATA) $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC).new; \
+            echo; \
+            echo "WARNING: Differing \`$(DESTDIR)$(WGETRC)'"; \
+            echo "         exists and has been spared.  You might want to"; \
+            echo "         consider merging in the new lines from"; \
+            echo "         \`$(DESTDIR)$(WGETRC).new'."; \
+            echo; \
+         fi; \
+       else \
+         $(INSTALL_DATA) $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC); \
+       fi
+
+# uninstall man page
+uninstall.man:
+       $(RM) $(DESTDIR)$(mandir)/man$(manext)/$(MAN)
+
+#
+# Dependencies for cleanup
+#
+
+CLEANFILES = *~ *.bak *.cat *.pod
+DISTCLEANFILES = $(MAN)
diff --git a/doc/Makefile.in b/doc/Makefile.in
deleted file mode 100644 (file)
index 103bba5..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-# Makefile for `wget' utility
-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-#
-# Version: @VERSION@
-#
-
-SHELL = /bin/sh
-
-# Program to format Texinfo source into Info files.
-MAKEINFO = @MAKEINFO@
-# Program to format Texinfo source into DVI files.
-TEXI2DVI = texi2dvi
-# Program to convert DVI files to PostScript
-DVIPS = dvips -D 300
-# Program to convert texinfo files to html
-TEXI2HTML = texi2html -expandinfo -split_chapter
-
-top_builddir = ..
-
-top_srcdir = @top_srcdir@
-srcdir     = @srcdir@
-VPATH      = @srcdir@
-
-prefix     = @prefix@
-infodir    = @infodir@
-mandir     = @mandir@
-manext     = 1
-sysconfdir = @sysconfdir@
-
-DESTDIR    =
-
-INSTALL      = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-RM = rm -f
-
-TEXI2POD     = $(srcdir)/texi2pod.pl
-POD2MAN      = @POD2MAN@
-MAN          = wget.$(manext)
-WGETRC       = $(sysconfdir)/wgetrc
-SAMPLERCTEXI = sample.wgetrc.munged_for_texi_inclusion
-
-#
-# Dependencies for building
-#
-
-all: wget.info @COMMENT_IF_NO_POD2MAN@$(MAN)
-
-everything: all wget_us.ps wget_a4.ps wget_toc.html
-
-$(SAMPLERCTEXI): $(srcdir)/sample.wgetrc
-       sed s/@/@@/g $? > $@
-
-wget.info: $(srcdir)/wget.texi $(SAMPLERCTEXI) $(srcdir)/version.texi
-       $(MAKEINFO) -I$(srcdir) $(srcdir)/wget.texi
-
-wget.pod: $(srcdir)/wget.texi $(srcdir)/version.texi
-       $(TEXI2POD) $(srcdir)/wget.texi $@
-
-$(MAN): wget.pod
-       $(POD2MAN) --center="GNU Wget" --release="GNU Wget @VERSION@" $? > $@
-
-#wget.cat: $(MAN)
-#      nroff -man $? > $@
-
-dvi: wget.dvi
-
-wget.dvi: $(srcdir)/wget.texi
-       $(TEXI2DVI) $(srcdir)/wget.texi
-
-wget_us.ps: wget.dvi
-       $(DVIPS) -t letter -o $@ wget.dvi
-
-wget_a4.ps: wget.dvi
-       $(DVIPS) -t a4 -o $@ wget.dvi
-
-wget_toc.html: $(srcdir)/wget.texi
-       $(TEXI2HTML) $(srcdir)/wget.texi
-
-#
-# Dependencies for installing
-#
-
-# install all the documentation
-install: install.info install.wgetrc @COMMENT_IF_NO_POD2MAN@install.man
-
-# uninstall all the documentation
-uninstall: uninstall.info @COMMENT_IF_NO_POD2MAN@uninstall.man
-
-# install info pages, creating install directory if necessary
-# if the info pages are built in the build directory, they are used.
-# otherwise, the ones from the distribution are installed.
-install.info: wget.info
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(infodir)
-       -if test -f wget.info; then \
-         for file in wget.info wget.info-*[0-9]; do \
-            if test -f "$$file"; then \
-             $(INSTALL_DATA) "$$file" "$(DESTDIR)$(infodir)/$$file" ; \
-           fi; \
-         done; \
-       else \
-         for file in $(srcdir)/wget.info $(srcdir)/wget.info-*[0-9]; do \
-            if test -f "$$file"; then \
-             $(INSTALL_DATA) "$$file" "$(DESTDIR)$(infodir)/`basename $$file`" ; \
-           fi; \
-         done; \
-       fi
-
-# install man page, creating install directory if necessary
-install.man: $(MAN)
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man$(manext)
-       $(INSTALL_DATA) $(MAN) $(DESTDIR)$(mandir)/man$(manext)/$(MAN)
-
-# install sample.wgetrc
-install.wgetrc: $(srcdir)/sample.wgetrc
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
-       @if test -f $(DESTDIR)$(WGETRC); then \
-         if cmp -s $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC); then echo ""; \
-            else \
-            echo ' $(INSTALL_DATA) $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC).new'; \
-            $(INSTALL_DATA) $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC).new; \
-            echo; \
-            echo "WARNING: Differing \`$(DESTDIR)$(WGETRC)'"; \
-            echo "         exists and has been spared.  You might want to"; \
-            echo "         consider merging in the new lines from"; \
-            echo "         \`$(DESTDIR)$(WGETRC).new'."; \
-            echo; \
-         fi; \
-       else \
-         $(INSTALL_DATA) $(srcdir)/sample.wgetrc $(DESTDIR)$(WGETRC); \
-       fi
-
-# uninstall info pages
-uninstall.info:
-       $(RM) $(DESTDIR)$(infodir)/wget.info*
-
-# uninstall man page
-uninstall.man:
-       $(RM) $(DESTDIR)$(mandir)/man$(manext)/$(MAN)
-
-#
-# Dependencies for cleanup
-#
-
-clean:
-       $(RM) *~ *.bak *.cat *.pod *.html
-       $(RM) *.dvi *.aux *.cp *.cps *.fn *.toc *.tp *.vr *.ps *.ky *.pg *.log
-
-distclean: clean
-       $(RM) Makefile
-       $(RM) $(MAN)
-
-realclean: distclean
-       $(RM) wget.info*
-       $(RM) $(SAMPLERCTEXI)
-
-#
-# Dependencies for maintenance
-#
-
-subdir = doc
-
-Makefile: Makefile.in ../config.status
-       cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
index 00aaffd7c5d19990d552edf1f55283726fb02b17..9c6d9afe3f60868ee1503c21c700d558c4068fd7 100644 (file)
@@ -1,12 +1,13 @@
+
 @node GNU Free Documentation License
-@section GNU Free Documentation License
+@appendixsec GNU Free Documentation License
 
 @cindex FDL, GNU Free Documentation License
 @center Version 1.2, November 2002
 
 @display
 Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
+51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
 
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
@@ -407,7 +408,7 @@ as a draft) by the Free Software Foundation.
 @end enumerate
 
 @page
-@appendixsubsec ADDENDUM: How to use this License for your documents
+@heading ADDENDUM: How to use this License for your documents
 
 To use this License in a document you have written, include a copy of
 the License in the document and put the following copyright and
diff --git a/doc/gpl.texi b/doc/gpl.texi
deleted file mode 100644 (file)
index f35d459..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-@node GNU General Public License
-@section GNU General Public License
-@center Version 2, June 1991
-
-@c This file is intended to be included in another file.
-
-@display
-Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@unnumberedsec Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software---to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-@iftex
-@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end iftex
-@ifinfo
-@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end ifinfo
-
-@enumerate 0
-@item
-This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The ``Program'', below,
-refers to any such program or work, and a ``work based on the Program''
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term ``modification''.)  Each licensee is addressed as ``you''.
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-@item
-You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-@item
-You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-@enumerate a
-@item
-You must cause the modified files to carry prominent notices
-stating that you changed the files and the date of any change.
-
-@item
-You must cause any work that you distribute or publish, that in
-whole or in part contains or is derived from the Program or any
-part thereof, to be licensed as a whole at no charge to all third
-parties under the terms of this License.
-
-@item
-If the modified program normally reads commands interactively
-when run, you must cause it, when started running for such
-interactive use in the most ordinary way, to print or display an
-announcement including an appropriate copyright notice and a
-notice that there is no warranty (or else, saying that you provide
-a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this
-License.  (Exception: if the Program itself is interactive but
-does not normally print such an announcement, your work based on
-the Program is not required to print an announcement.)
-@end enumerate
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-@item
-You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-@enumerate a
-@item
-Accompany it with the complete corresponding machine-readable
-source code, which must be distributed under the terms of Sections
-1 and 2 above on a medium customarily used for software interchange; or,
-
-@item
-Accompany it with a written offer, valid for at least three
-years, to give any third party, for a charge no more than your
-cost of physically performing source distribution, a complete
-machine-readable copy of the corresponding source code, to be
-distributed under the terms of Sections 1 and 2 above on a medium
-customarily used for software interchange; or,
-
-@item
-Accompany it with the information you received as to the offer
-to distribute corresponding source code.  (This alternative is
-allowed only for noncommercial distribution and only if you
-received the program in object code or executable form with such
-an offer, in accord with Subsection b above.)
-@end enumerate
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-@item
-You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-@item
-You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-@item
-Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-@item
-If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-@item
-If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-@item
-The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and ``any
-later version'', you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-@item
-If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-@iftex
-@heading NO WARRANTY
-@end iftex
-@ifinfo
-@center NO WARRANTY
-@end ifinfo
-
-@item
-BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-@item
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-@end enumerate
-
-@iftex
-@heading END OF TERMS AND CONDITIONS
-@end iftex
-@ifinfo
-@center END OF TERMS AND CONDITIONS
-@end ifinfo
-
-@page
-@unnumberedsec Appendix: How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the ``copyright'' line and a pointer to where the full notice is found.
-
-@smallexample
-@var{one line to give the program's name and a brief idea of what it does.}
-Copyright (C) @var{yyyy}  @var{name of author}
-
-This program 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 2 of the License, 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 General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-@end smallexample
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-@smallexample
-Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type `show c' for details.
-@end smallexample
-
-The hypothetical commands @samp{show w} and @samp{show c} should show
-the appropriate parts of the General Public License.  Of course, the
-commands you use may be called something other than @samp{show w} and
-@samp{show c}; they could even be mouse-clicks or menu items---whatever
-suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a ``copyright disclaimer'' for the program, if
-necessary.  Here is a sample; alter the names:
-
-@example
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-`Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-@var{signature of Ty Coon}, 1 April 1989
-Ty Coon, President of Vice
-@end example
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
index 05d7d4be01d5dd65a35e7945bdc997542a6c18df..9c6d8cc27928a958afad368eadcc9f7ab364cfa2 100755 (executable)
@@ -1,12 +1,13 @@
 #! /usr/bin/env perl
 
-#   Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+#   Copyright (C) 1999, 2000, 2001, 2003, 2007 Free Software
+#   Foundation, Inc.
 
 # This file is part of GCC.
 
 # GCC 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 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
 # any later version.
 
 # GCC is distributed in the hope that it will be useful,
@@ -15,9 +16,7 @@
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with GCC; see the file COPYING.  If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston MA 02111-1307, USA.
+# along with GCC.  If not, see <http://www.gnu.org/licenses/>.
 
 # This does trivial (and I mean _trivial_) conversion of Texinfo
 # markup to Perl POD format.  It's intended to be used to extract
@@ -229,11 +228,12 @@ while(<$inf>) {
     /^\@include\s+(.+)$/ and do {
        push @instack, $inf;
        $inf = gensym();
+       $file = postprocess($1);
 
        # Try cwd and $ibase.
-       open($inf, "<" . $1
-           or open($inf, "<" . $ibase . "/" . $1)
-               or die "cannot open $1 or $ibase/$1: $!\n";
+       open($inf, "<" . $file
+           or open($inf, "<" . $ibase . "/" . $file)
+               or die "cannot open $file or $ibase/$file: $!\n";
        next;
     };
 
@@ -276,7 +276,6 @@ while(<$inf>) {
        $ic =~ s/\@(?:code|kbd)/C/;
        $ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
        $ic =~ s/\@(?:file)/F/;
-       $ic =~ s/\@(?:asis)/S/; # punt
        $_ = "\n=over 4\n";
     };
 
@@ -310,7 +309,7 @@ die "No filename or title\n" unless defined $fn && defined $tl;
 $sects{NAME} = "$fn \- $tl\n";
 $sects{FOOTNOTES} .= "=back\n" if exists $sects{FOOTNOTES};
 
-for $sect (qw(NAME SYNOPSIS DESCRIPTION OPTIONS ENVIRONMENT EXAMPLES FILES
+for $sect (qw(NAME SYNOPSIS DESCRIPTION OPTIONS ENVIRONMENT FILES
              BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) {
     if(exists $sects{$sect}) {
        $head = $sect;
@@ -352,6 +351,13 @@ sub postprocess
     s/\@w\{([^\}]*)\}/S<$1>/g;
     s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
 
+    # keep references of the form @ref{...}, print them bold
+    s/\@(?:ref)\{([^\}]*)\}/B<$1>/g;
+
+    # Change double single quotes to double quotes.
+    s/''/"/g;
+    s/``/"/g;
+
     # Cross references are thrown away, as are @noindent and @refill.
     # (@noindent is impossible in .pod, and @refill is unnecessary.)
     # @* is also impossible in .pod; we discard it and any newline that
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
deleted file mode 100644 (file)
index c93912a..0000000
+++ /dev/null
@@ -1,7086 +0,0 @@
-% texinfo.tex -- TeX macros to handle Texinfo files.
-%
-% Load plain if necessary, i.e., if running under initex.
-\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
-%
-\def\texinfoversion{2004-11-25.16}
-%
-% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
-% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
-% Foundation, Inc.
-%
-% This texinfo.tex file 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 2, or (at
-% your option) any later version.
-%
-% This texinfo.tex file 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 this texinfo.tex file; see the file COPYING.  If not, write
-% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-% Boston, MA 02111-1307, USA.
-%
-% As a special exception, when this file is read by TeX when processing
-% a Texinfo source document, you may use the result without
-% restriction.  (This has been our intent since Texinfo was invented.)
-%
-% Please try the latest version of texinfo.tex before submitting bug
-% reports; you can get the latest version from:
-%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-%   ftp://tug.org/tex/texinfo.tex
-%     (and all CTAN mirrors, see http://www.ctan.org).
-% The texinfo.tex in any given distribution could well be out
-% of date, so if that's what you're using, please check.
-%
-% Send bug reports to bug-texinfo@gnu.org.  Please include including a
-% complete document in each bug report with which we can reproduce the
-% problem.  Patches are, of course, greatly appreciated.
-%
-% To process a Texinfo manual with TeX, it's most reliable to use the
-% texi2dvi shell script that comes with the distribution.  For a simple
-% manual foo.texi, however, you can get away with this:
-%   tex foo.texi
-%   texindex foo.??
-%   tex foo.texi
-%   tex foo.texi
-%   dvips foo.dvi -o  # or whatever; this makes foo.ps.
-% The extra TeX runs get the cross-reference information correct.
-% Sometimes one run after texindex suffices, and sometimes you need more
-% than two; texi2dvi does it as many times as necessary.
-%
-% It is possible to adapt texinfo.tex for other languages, to some
-% extent.  You can get the existing language-specific files from the
-% full Texinfo distribution.
-%
-% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
-
-
-\message{Loading texinfo [version \texinfoversion]:}
-
-% If in a .fmt file, print the version number
-% and turn on active characters that we couldn't do earlier because
-% they might have appeared in the input file name.
-\everyjob{\message{[Texinfo version \texinfoversion]}%
-  \catcode`+=\active \catcode`\_=\active}
-
-\message{Basics,}
-\chardef\other=12
-
-% We never want plain's \outer definition of \+ in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
-
-% Save some plain tex macros whose names we will redefine.
-\let\ptexb=\b
-\let\ptexbullet=\bullet
-\let\ptexc=\c
-\let\ptexcomma=\,
-\let\ptexdot=\.
-\let\ptexdots=\dots
-\let\ptexend=\end
-\let\ptexequiv=\equiv
-\let\ptexexclam=\!
-\let\ptexfootnote=\footnote
-\let\ptexgtr=>
-\let\ptexhat=^
-\let\ptexi=\i
-\let\ptexindent=\indent
-\let\ptexinsert=\insert
-\let\ptexlbrace=\{
-\let\ptexless=<
-\let\ptexnewwrite\newwrite
-\let\ptexnoindent=\noindent
-\let\ptexplus=+
-\let\ptexrbrace=\}
-\let\ptexslash=\/
-\let\ptexstar=\*
-\let\ptext=\t
-
-% If this character appears in an error message or help string, it
-% starts a new line in the output.
-\newlinechar = `^^J
-
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\thisisundefined
-  \let\linenumber = \empty % Pre-3.0.
-\else
-  \def\linenumber{l.\the\inputlineno:\space}
-\fi
-
-% Set up fixed words for English if not already set.
-\ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
-\ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
-\ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
-\ifx\putwordin\undefined        \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined     \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
-\ifx\putwordInfo\undefined      \gdef\putwordInfo{Info}\fi
-\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
-\ifx\putwordMethodon\undefined  \gdef\putwordMethodon{Method on}\fi
-\ifx\putwordNoTitle\undefined   \gdef\putwordNoTitle{No Title}\fi
-\ifx\putwordof\undefined        \gdef\putwordof{of}\fi
-\ifx\putwordon\undefined        \gdef\putwordon{on}\fi
-\ifx\putwordpage\undefined      \gdef\putwordpage{page}\fi
-\ifx\putwordsection\undefined   \gdef\putwordsection{section}\fi
-\ifx\putwordSection\undefined   \gdef\putwordSection{Section}\fi
-\ifx\putwordsee\undefined       \gdef\putwordsee{see}\fi
-\ifx\putwordSee\undefined       \gdef\putwordSee{See}\fi
-\ifx\putwordShortTOC\undefined  \gdef\putwordShortTOC{Short Contents}\fi
-\ifx\putwordTOC\undefined       \gdef\putwordTOC{Table of Contents}\fi
-%
-\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
-\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
-\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
-\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
-\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
-\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
-\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
-\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
-\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
-\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
-\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
-\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
-%
-\ifx\putwordDefmac\undefined    \gdef\putwordDefmac{Macro}\fi
-\ifx\putwordDefspec\undefined   \gdef\putwordDefspec{Special Form}\fi
-\ifx\putwordDefvar\undefined    \gdef\putwordDefvar{Variable}\fi
-\ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
-\ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
-
-% In some macros, we cannot use the `\? notation---the left quote is
-% in some cases the escape char.
-\chardef\colonChar = `\:
-\chardef\commaChar = `\,
-\chardef\dotChar   = `\.
-\chardef\exclamChar= `\!
-\chardef\questChar = `\?
-\chardef\semiChar  = `\;
-\chardef\underChar = `\_
-
-\chardef\spaceChar = `\ %
-\chardef\spacecat = 10
-\def\spaceisspace{\catcode\spaceChar=\spacecat}
-
-% Ignore a token.
-%
-\def\gobble#1{}
-
-% The following is used inside several \edef's.
-\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
-
-% Hyphenation fixes.
-\hyphenation{
-  Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
-  ap-pen-dix bit-map bit-maps
-  data-base data-bases eshell fall-ing half-way long-est man-u-script
-  man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
-  par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
-  spell-ing spell-ings
-  stand-alone strong-est time-stamp time-stamps which-ever white-space
-  wide-spread wrap-around
-}
-
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen\bindingoffset
-\newdimen\normaloffset
-\newdimen\pagewidth \newdimen\pageheight
-
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
-%
-\def\finalout{\overfullrule=0pt}
-
-% @| inserts a changebar to the left of the current line.  It should
-% surround any changed text.  This approach does *not* work if the
-% change spans more than two lines of output.  To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
-%
-\def\|{%
-  % \vadjust can only be used in horizontal mode.
-  \leavevmode
-  %
-  % Append this vertical mode material after the current line in the output.
-  \vadjust{%
-    % We want to insert a rule with the height and depth of the current
-    % leading; that is exactly what \strutbox is supposed to record.
-    \vskip-\baselineskip
-    %
-    % \vadjust-items are inserted at the left edge of the type.  So
-    % the \llap here moves out into the left-hand margin.
-    \llap{%
-      %
-      % For a thicker or thinner bar, change the `1pt'.
-      \vrule height\baselineskip width1pt
-      %
-      % This is the space between the bar and the text.
-      \hskip 12pt
-    }%
-  }%
-}
-
-% Sometimes it is convenient to have everything in the transcript file
-% and nothing on the terminal.  We don't just call \tracingall here,
-% since that produces some useless output on the terminal.  We also make
-% some effort to order the tracing commands to reduce output in the log
-% file; cf. trace.sty in LaTeX.
-%
-\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\def\loggingall{%
-  \tracingstats2
-  \tracingpages1
-  \tracinglostchars2  % 2 gives us more in etex
-  \tracingparagraphs1
-  \tracingoutput1
-  \tracingmacros2
-  \tracingrestores1
-  \showboxbreadth\maxdimen \showboxdepth\maxdimen
-  \ifx\eTeXversion\undefined\else % etex gives us more logging
-    \tracingscantokens1
-    \tracingifs1
-    \tracinggroups1
-    \tracingnesting2
-    \tracingassigns1
-  \fi
-  \tracingcommands3  % 3 gives us more in etex
-  \errorcontextlines16
-}%
-
-% add check for \lastpenalty to plain's definitions.  If the last thing
-% we did was a \nobreak, we don't want to insert more space.
-%
-\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
-  \removelastskip\penalty-50\smallskip\fi\fi}
-\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
-  \removelastskip\penalty-100\medskip\fi\fi}
-\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
-  \removelastskip\penalty-200\bigskip\fi\fi}
-
-% For @cropmarks command.
-% Do @cropmarks to get crop marks.
-%
-\newif\ifcropmarks
-\let\cropmarks = \cropmarkstrue
-%
-% Dimensions to add cropmarks at corners.
-% Added by P. A. MacKay, 12 Nov. 1986
-%
-\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong  \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
-\newdimen\topandbottommargin \topandbottommargin=.75in
-
-% Main output routine.
-\chardef\PAGE = 255
-\output = {\onepageout{\pagecontents\PAGE}}
-
-\newbox\headlinebox
-\newbox\footlinebox
-
-% \onepageout takes a vbox as an argument.  Note that \pagecontents
-% does insertions, but you have to call it yourself.
-\def\onepageout#1{%
-  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
-  %
-  \ifodd\pageno  \advance\hoffset by \bindingoffset
-  \else \advance\hoffset by -\bindingoffset\fi
-  %
-  % Do this outside of the \shipout so @code etc. will be expanded in
-  % the headline as they should be, not taken literally (outputting ''code).
-  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
-  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
-  %
-  {%
-    % Have to do this stuff outside the \shipout because we want it to
-    % take effect in \write's, yet the group defined by the \vbox ends
-    % before the \shipout runs.
-    %
-    \escapechar = `\\     % use backslash in output files.
-    \indexdummies         % don't expand commands in the output.
-    \normalturnoffactive  % \ in index entries must not stay \, e.g., if
-                   % the page break happens to be in the middle of an example.
-    \shipout\vbox{%
-      % Do this early so pdf references go to the beginning of the page.
-      \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
-      %
-      \ifcropmarks \vbox to \outervsize\bgroup
-        \hsize = \outerhsize
-        \vskip-\topandbottommargin
-        \vtop to0pt{%
-          \line{\ewtop\hfil\ewtop}%
-          \nointerlineskip
-          \line{%
-            \vbox{\moveleft\cornerthick\nstop}%
-            \hfill
-            \vbox{\moveright\cornerthick\nstop}%
-          }%
-          \vss}%
-        \vskip\topandbottommargin
-        \line\bgroup
-          \hfil % center the page within the outer (page) hsize.
-          \ifodd\pageno\hskip\bindingoffset\fi
-          \vbox\bgroup
-      \fi
-      %
-      \unvbox\headlinebox
-      \pagebody{#1}%
-      \ifdim\ht\footlinebox > 0pt
-        % Only leave this space if the footline is nonempty.
-        % (We lessened \vsize for it in \oddfootingxxx.)
-        % The \baselineskip=24pt in plain's \makefootline has no effect.
-        \vskip 2\baselineskip
-        \unvbox\footlinebox
-      \fi
-      %
-      \ifcropmarks
-          \egroup % end of \vbox\bgroup
-        \hfil\egroup % end of (centering) \line\bgroup
-        \vskip\topandbottommargin plus1fill minus1fill
-        \boxmaxdepth = \cornerthick
-        \vbox to0pt{\vss
-          \line{%
-            \vbox{\moveleft\cornerthick\nsbot}%
-            \hfill
-            \vbox{\moveright\cornerthick\nsbot}%
-          }%
-          \nointerlineskip
-          \line{\ewbot\hfil\ewbot}%
-        }%
-      \egroup % \vbox from first cropmarks clause
-      \fi
-    }% end of \shipout\vbox
-  }% end of group with \normalturnoffactive
-  \advancepageno
-  \ifnum\outputpenalty>-20000 \else\dosupereject\fi
-}
-
-\newinsert\margin \dimen\margin=\maxdimen
-
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-{\catcode`\@ =11
-\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-% marginal hacks, juha@viisa.uucp (Juha Takala)
-\ifvoid\margin\else % marginal info is present
-  \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
-\dimen@=\dp#1 \unvbox#1
-\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-}
-
-% Here are the rules for the cropmarks.  Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
-  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
-  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-% Parse an argument, then pass it to #1.  The argument is the rest of
-% the input line (except we remove a trailing comment).  #1 should be a
-% macro which expects an ordinary undelimited TeX argument.
-%
-\def\parsearg{\parseargusing{}}
-\def\parseargusing#1#2{%
-  \def\next{#2}%
-  \begingroup
-    \obeylines
-    \spaceisspace
-    #1%
-    \parseargline\empty% Insert the \empty token, see \finishparsearg below.
-}
-
-{\obeylines %
-  \gdef\parseargline#1^^M{%
-    \endgroup % End of the group started in \parsearg.
-    \argremovecomment #1\comment\ArgTerm%
-  }%
-}
-
-% First remove any @comment, then any @c comment.
-\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
-\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-
-% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
-%
-% \argremovec might leave us with trailing space, e.g.,
-%    @end itemize  @c foo
-% This space token undergoes the same procedure and is eventually removed
-% by \finishparsearg.
-%
-\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
-\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
-\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
-  \def\temp{#3}%
-  \ifx\temp\empty
-    % We cannot use \next here, as it holds the macro to run;
-    % thus we reuse \temp.
-    \let\temp\finishparsearg
-  \else
-    \let\temp\argcheckspaces
-  \fi
-  % Put the space token in:
-  \temp#1 #3\ArgTerm
-}
-
-% If a _delimited_ argument is enclosed in braces, they get stripped; so
-% to get _exactly_ the rest of the line, we had to prevent such situation.
-% We prepended an \empty token at the very beginning and we expand it now,
-% just before passing the control to \next.
-% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
-% either the null string, or it ends with \^^M---thus there is no danger
-% that a pair of braces would be stripped.
-%
-% But first, we have to remove the trailing space token.
-%
-\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}}
-
-% \parseargdef\foo{...}
-%      is roughly equivalent to
-% \def\foo{\parsearg\Xfoo}
-% \def\Xfoo#1{...}
-%
-% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
-% favourite TeX trick.  --kasal, 16nov03
-
-\def\parseargdef#1{%
-  \expandafter \doparseargdef \csname\string#1\endcsname #1%
-}
-\def\doparseargdef#1#2{%
-  \def#2{\parsearg#1}%
-  \def#1##1%
-}
-
-% Several utility definitions with active space:
-{
-  \obeyspaces
-  \gdef\obeyedspace{ }
-
-  % Make each space character in the input produce a normal interword
-  % space in the output.  Don't allow a line break at this space, as this
-  % is used only in environments like @example, where each line of input
-  % should produce a line of output anyway.
-  %
-  \gdef\sepspaces{\obeyspaces\let =\tie}
-
-  % If an index command is used in an @example environment, any spaces
-  % therein should become regular spaces in the raw index file, not the
-  % expansion of \tie (\leavevmode \penalty \@M \ ).
-  \gdef\unsepspaces{\let =\space}
-}
-
-
-\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-
-% Define the framework for environments in texinfo.tex.  It's used like this:
-%
-%   \envdef\foo{...}
-%   \def\Efoo{...}
-%
-% It's the responsibility of \envdef to insert \begingroup before the
-% actual body; @end closes the group after calling \Efoo.  \envdef also
-% defines \thisenv, so the current environment is known; @end checks
-% whether the environment name matches.  The \checkenv macro can also be
-% used to check whether the current environment is the one expected.
-%
-% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
-% are not treated as enviroments; they don't open a group.  (The
-% implementation of @end takes care not to call \endgroup in this
-% special case.)
-
-
-% At runtime, environments start with this:
-\def\startenvironment#1{\begingroup\def\thisenv{#1}}
-% initialize
-\let\thisenv\empty
-
-% ... but they get defined via ``\envdef\foo{...}'':
-\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
-\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
-
-% Check whether we're in the right environment:
-\def\checkenv#1{%
-  \def\temp{#1}%
-  \ifx\thisenv\temp
-  \else
-    \badenverr
-  \fi
-}
-
-% Evironment mismatch, #1 expected:
-\def\badenverr{%
-  \errhelp = \EMsimple
-  \errmessage{This command can appear only \inenvironment\temp,
-    not \inenvironment\thisenv}%
-}
-\def\inenvironment#1{%
-  \ifx#1\empty
-    out of any environment%
-  \else
-    in environment \expandafter\string#1%
-  \fi
-}
-
-% @end foo executes the definition of \Efoo.
-% But first, it executes a specialized version of \checkenv
-%
-\parseargdef\end{%
-  \if 1\csname iscond.#1\endcsname
-  \else
-    % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
-    \expandafter\checkenv\csname#1\endcsname
-    \csname E#1\endcsname
-    \endgroup
-  \fi
-}
-
-\newhelp\EMsimple{Press RETURN to continue.}
-
-
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
-
-% This is turned off because it was never documented
-% and you can use @w{...} around a quote to suppress ligatures.
-%% Define @` and @' to be the same as ` and '
-%% but suppressing ligatures.
-%\def\`{{`}}
-%\def\'{{'}}
-
-% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-\begingroup
-  % Definitions to produce \{ and \} commands for indices,
-  % and @{ and @} for the aux file.
-  \catcode`\{ = \other \catcode`\} = \other
-  \catcode`\[ = 1 \catcode`\] = 2
-  \catcode`\! = 0 \catcode`\\ = \other
-  !gdef!lbracecmd[\{]%
-  !gdef!rbracecmd[\}]%
-  !gdef!lbraceatcmd[@{]%
-  !gdef!rbraceatcmd[@}]%
-!endgroup
-
-% @comma{} to avoid , parsing problems.
-\let\comma = ,
-
-% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
-\let\, = \c
-\let\dotaccent = \.
-\def\ringaccent#1{{\accent23 #1}}
-\let\tieaccent = \t
-\let\ubaraccent = \b
-\let\udotaccent = \d
-
-% Other special characters: @questiondown @exclamdown @ordf @ordm
-% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
-\def\questiondown{?`}
-\def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-
-% Dotless i and dotless j, used for accents.
-\def\imacro{i}
-\def\jmacro{j}
-\def\dotless#1{%
-  \def\temp{#1}%
-  \ifx\temp\imacro \ptexi
-  \else\ifx\temp\jmacro \j
-  \else \errmessage{@dotless can be used only with i or j}%
-  \fi\fi
-}
-
-% The \TeX{} logo, as in plain, but resetting the spacing so that a
-% period following counts as ending a sentence.  (Idea found in latex.)
-%
-\edef\TeX{\TeX \spacefactor=1000 }
-
-% @LaTeX{} logo.  Not quite the same results as the definition in
-% latex.ltx, since we use a different font for the raised A; it's most
-% convenient for us to use an explicitly smaller font, rather than using
-% the \scriptstyle font (since we don't reset \scriptstyle and
-% \scriptscriptstyle).
-%
-\def\LaTeX{%
-  L\kern-.36em
-  {\setbox0=\hbox{T}%
-   \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
-  \kern-.15em
-  \TeX
-}
-
-% Be sure we're in horizontal mode when doing a tie, since we make space
-% equivalent to this in @example-like environments. Otherwise, a space
-% at the beginning of a line will start with \penalty -- and
-% since \penalty is valid in vertical mode, we'd end up putting the
-% penalty on the vertical list instead of in the new paragraph.
-{\catcode`@ = 11
- % Avoid using \@M directly, because that causes trouble
- % if the definition is written into an index file.
- \global\let\tiepenalty = \@M
- \gdef\tie{\leavevmode\penalty\tiepenalty\ }
-}
-
-% @: forces normal size whitespace following.
-\def\:{\spacefactor=1000 }
-
-% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
-
-% @/ allows a line break.
-\let\/=\allowbreak
-
-% @. is an end-of-sentence period.
-\def\.{.\spacefactor=3000 }
-
-% @! is an end-of-sentence bang.
-\def\!{!\spacefactor=3000 }
-
-% @? is an end-of-sentence query.
-\def\?{?\spacefactor=3000 }
-
-% @w prevents a word break.  Without the \leavevmode, @w at the
-% beginning of a paragraph, when TeX is still in vertical mode, would
-% produce a whole line of output instead of starting the paragraph.
-\def\w#1{\leavevmode\hbox{#1}}
-
-% @group ... @end group forces ... to be all on one page, by enclosing
-% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
-% to keep its height that of a normal line.  According to the rules for
-% \topskip (p.114 of the TeXbook), the glue inserted is
-% max (\topskip - \ht (first item), 0).  If that height is large,
-% therefore, no glue is inserted, and the space between the headline and
-% the text is small, which looks bad.
-%
-% Another complication is that the group might be very large.  This can
-% cause the glue on the previous page to be unduly stretched, because it
-% does not have much material.  In this case, it's better to add an
-% explicit \vfill so that the extra space is at the bottom.  The
-% threshold for doing this is if the group is more than \vfilllimit
-% percent of a page (\vfilllimit can be changed inside of @tex).
-%
-\newbox\groupbox
-\def\vfilllimit{0.7}
-%
-\envdef\group{%
-  \ifnum\catcode`\^^M=\active \else
-    \errhelp = \groupinvalidhelp
-    \errmessage{@group invalid in context where filling is enabled}%
-  \fi
-  \startsavinginserts
-  %
-  \setbox\groupbox = \vtop\bgroup
-    % Do @comment since we are called inside an environment such as
-    % @example, where each end-of-line in the input causes an
-    % end-of-line in the output.  We don't want the end-of-line after
-    % the `@group' to put extra space in the output.  Since @group
-    % should appear on a line by itself (according to the Texinfo
-    % manual), we don't worry about eating any user text.
-    \comment
-}
-%
-% The \vtop produces a box with normal height and large depth; thus, TeX puts
-% \baselineskip glue before it, and (when the next line of text is done)
-% \lineskip glue after it.  Thus, space below is not quite equal to space
-% above.  But it's pretty close.
-\def\Egroup{%
-    % To get correct interline space between the last line of the group
-    % and the first line afterwards, we have to propagate \prevdepth.
-    \endgraf % Not \par, as it may have been set to \lisppar.
-    \global\dimen1 = \prevdepth
-  \egroup           % End the \vtop.
-  % \dimen0 is the vertical size of the group's box.
-  \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
-  % \dimen2 is how much space is left on the page (more or less).
-  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
-  % if the group doesn't fit on the current page, and it's a big big
-  % group, force a page break.
-  \ifdim \dimen0 > \dimen2
-    \ifdim \pagetotal < \vfilllimit\pageheight
-      \page
-    \fi
-  \fi
-  \box\groupbox
-  \prevdepth = \dimen1
-  \checkinserts
-}
-%
-% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
-% message, so this ends up printing `@group can only ...'.
-%
-\newhelp\groupinvalidhelp{%
-group can only be used in environments such as @example,^^J%
-where each line of input produces a line of output.}
-
-% @need space-in-mils
-% forces a page break if there is not space-in-mils remaining.
-
-\newdimen\mil  \mil=0.001in
-
-% Old definition--didn't work.
-%\parseargdef\need{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-%\prevdepth=-1000pt
-%}}
-
-\parseargdef\need{%
-  % Ensure vertical mode, so we don't make a big box in the middle of a
-  % paragraph.
-  \par
-  %
-  % If the @need value is less than one line space, it's useless.
-  \dimen0 = #1\mil
-  \dimen2 = \ht\strutbox
-  \advance\dimen2 by \dp\strutbox
-  \ifdim\dimen0 > \dimen2
-    %
-    % Do a \strut just to make the height of this box be normal, so the
-    % normal leading is inserted relative to the preceding line.
-    % And a page break here is fine.
-    \vtop to #1\mil{\strut\vfil}%
-    %
-    % TeX does not even consider page breaks if a penalty added to the
-    % main vertical list is 10000 or more.  But in order to see if the
-    % empty box we just added fits on the page, we must make it consider
-    % page breaks.  On the other hand, we don't want to actually break the
-    % page after the empty box.  So we use a penalty of 9999.
-    %
-    % There is an extremely small chance that TeX will actually break the
-    % page at this \penalty, if there are no other feasible breakpoints in
-    % sight.  (If the user is using lots of big @group commands, which
-    % almost-but-not-quite fill up a page, TeX will have a hard time doing
-    % good page breaking, for example.)  However, I could not construct an
-    % example where a page broke at this \penalty; if it happens in a real
-    % document, then we can reconsider our strategy.
-    \penalty9999
-    %
-    % Back up by the size of the box, whether we did a page break or not.
-    \kern -#1\mil
-    %
-    % Do not allow a page break right after this kern.
-    \nobreak
-  \fi
-}
-
-% @br   forces paragraph break (and is undocumented).
-
-\let\br = \par
-
-% @page forces the start of a new page.
-%
-\def\page{\par\vfill\supereject}
-
-% @exdent text....
-% outputs text on separate line in roman font, starting at standard page margin
-
-% This records the amount of indent in the innermost environment.
-% That's how much \exdent should take out.
-\newskip\exdentamount
-
-% This defn is used inside fill environments such as @defun.
-\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
-
-% This defn is used inside nofill environments such as @example.
-\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
-  \leftline{\hskip\leftskip{\rm#1}}}}
-
-% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
-% paragraph.  For more general purposes, use the \margin insertion
-% class.  WHICH is `l' or `r'.
-%
-\newskip\inmarginspacing \inmarginspacing=1cm
-\def\strutdepth{\dp\strutbox}
-%
-\def\doinmargin#1#2{\strut\vadjust{%
-  \nobreak
-  \kern-\strutdepth
-  \vtop to \strutdepth{%
-    \baselineskip=\strutdepth
-    \vss
-    % if you have multiple lines of stuff to put here, you'll need to
-    % make the vbox yourself of the appropriate size.
-    \ifx#1l%
-      \llap{\ignorespaces #2\hskip\inmarginspacing}%
-    \else
-      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
-    \fi
-    \null
-  }%
-}}
-\def\inleftmargin{\doinmargin l}
-\def\inrightmargin{\doinmargin r}
-%
-% @inmargin{TEXT [, RIGHT-TEXT]}
-% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
-% else use TEXT for both).
-%
-\def\inmargin#1{\parseinmargin #1,,\finish}
-\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
-  \setbox0 = \hbox{\ignorespaces #2}%
-  \ifdim\wd0 > 0pt
-    \def\lefttext{#1}%  have both texts
-    \def\righttext{#2}%
-  \else
-    \def\lefttext{#1}%  have only one text
-    \def\righttext{#1}%
-  \fi
-  %
-  \ifodd\pageno
-    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
-  \else
-    \def\temp{\inleftmargin\lefttext}%
-  \fi
-  \temp
-}
-
-% @include file    insert text of that file as input.
-%
-\def\include{\parseargusing\filenamecatcodes\includezzz}
-\def\includezzz#1{%
-  \pushthisfilestack
-  \def\thisfile{#1}%
-  {%
-    \makevalueexpandable
-    \def\temp{\input #1 }%
-    \expandafter
-  }\temp
-  \popthisfilestack
-}
-\def\filenamecatcodes{%
-  \catcode`\\=\other
-  \catcode`~=\other
-  \catcode`^=\other
-  \catcode`_=\other
-  \catcode`|=\other
-  \catcode`<=\other
-  \catcode`>=\other
-  \catcode`+=\other
-  \catcode`-=\other
-}
-
-\def\pushthisfilestack{%
-  \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
-}
-\def\pushthisfilestackX{%
-  \expandafter\pushthisfilestackY\thisfile\StackTerm
-}
-\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
-  \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
-}
-
-\def\popthisfilestack{\errthisfilestackempty}
-\def\errthisfilestackempty{\errmessage{Internal error:
-  the stack of filenames is empty.}}
-
-\def\thisfile{}
-
-% @center line
-% outputs that line, centered.
-%
-\parseargdef\center{%
-  \ifhmode
-    \let\next\centerH
-  \else
-    \let\next\centerV
-  \fi
-  \next{\hfil \ignorespaces#1\unskip \hfil}%
-}
-\def\centerH#1{%
-  {%
-    \hfil\break
-    \advance\hsize by -\leftskip
-    \advance\hsize by -\rightskip
-    \line{#1}%
-    \break
-  }%
-}
-\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
-
-% @sp n   outputs n lines of vertical space
-
-\parseargdef\sp{\vskip #1\baselineskip}
-
-% @comment ...line which is ignored...
-% @c is the same as @comment
-% @ignore ... @end ignore  is another way to write a comment
-
-\def\comment{\begingroup \catcode`\^^M=\other%
-\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-
-\let\c=\comment
-
-% @paragraphindent NCHARS
-% We'll use ems for NCHARS, close enough.
-% NCHARS can also be the word `asis' or `none'.
-% We cannot feasibly implement @paragraphindent asis, though.
-%
-\def\asisword{asis} % no translation, these are keywords
-\def\noneword{none}
-%
-\parseargdef\paragraphindent{%
-  \def\temp{#1}%
-  \ifx\temp\asisword
-  \else
-    \ifx\temp\noneword
-      \defaultparindent = 0pt
-    \else
-      \defaultparindent = #1em
-    \fi
-  \fi
-  \parindent = \defaultparindent
-}
-
-% @exampleindent NCHARS
-% We'll use ems for NCHARS like @paragraphindent.
-% It seems @exampleindent asis isn't necessary, but
-% I preserve it to make it similar to @paragraphindent.
-\parseargdef\exampleindent{%
-  \def\temp{#1}%
-  \ifx\temp\asisword
-  \else
-    \ifx\temp\noneword
-      \lispnarrowing = 0pt
-    \else
-      \lispnarrowing = #1em
-    \fi
-  \fi
-}
-
-% @firstparagraphindent WORD
-% If WORD is `none', then suppress indentation of the first paragraph
-% after a section heading.  If WORD is `insert', then do indent at such
-% paragraphs.
-%
-% The paragraph indentation is suppressed or not by calling
-% \suppressfirstparagraphindent, which the sectioning commands do.
-% We switch the definition of this back and forth according to WORD.
-% By default, we suppress indentation.
-%
-\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
-\def\insertword{insert}
-%
-\parseargdef\firstparagraphindent{%
-  \def\temp{#1}%
-  \ifx\temp\noneword
-    \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
-  \else\ifx\temp\insertword
-    \let\suppressfirstparagraphindent = \relax
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @firstparagraphindent option `\temp'}%
-  \fi\fi
-}
-
-% Here is how we actually suppress indentation.  Redefine \everypar to
-% \kern backwards by \parindent, and then reset itself to empty.
-%
-% We also make \indent itself not actually do anything until the next
-% paragraph.
-%
-\gdef\dosuppressfirstparagraphindent{%
-  \gdef\indent{%
-    \restorefirstparagraphindent
-    \indent
-  }%
-  \gdef\noindent{%
-    \restorefirstparagraphindent
-    \noindent
-  }%
-  \global\everypar = {%
-    \kern -\parindent
-    \restorefirstparagraphindent
-  }%
-}
-
-\gdef\restorefirstparagraphindent{%
-  \global \let \indent = \ptexindent
-  \global \let \noindent = \ptexnoindent
-  \global \everypar = {}%
-}
-
-
-% @asis just yields its argument.  Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math outputs its argument in math mode.
-%
-% One complication: _ usually means subscripts, but it could also mean
-% an actual _ character, as in @math{@var{some_variable} + 1}.  So make
-% _ active, and distinguish by seeing if the current family is \slfam,
-% which is what @var uses.
-{
-  \catcode\underChar = \active
-  \gdef\mathunderscore{%
-    \catcode\underChar=\active
-    \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
-  }
-}
-% Another complication: we want \\ (and @\) to output a \ character.
-% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
-% this is not advertised and we don't care.  Texinfo does not
-% otherwise define @\.
-%
-% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
-\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
-%
-\def\math{%
-  \tex
-  \mathunderscore
-  \let\\ = \mathbackslash
-  \mathactive
-  $\finishmath
-}
-\def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
-
-% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an argument
-% to a command which sets the catcodes (such as @item or @section).
-%
-{
-  \catcode`^ = \active
-  \catcode`< = \active
-  \catcode`> = \active
-  \catcode`+ = \active
-  \gdef\mathactive{%
-    \let^ = \ptexhat
-    \let< = \ptexless
-    \let> = \ptexgtr
-    \let+ = \ptexplus
-  }
-}
-
-% @bullet and @minus need the same treatment as @math, just above.
-\def\bullet{$\ptexbullet$}
-\def\minus{$-$}
-
-% @dots{} outputs an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in a typewriter
-% font as three actual period characters.
-%
-\def\dots{%
-  \leavevmode
-  \hbox to 1.5em{%
-    \hskip 0pt plus 0.25fil
-    .\hfil.\hfil.%
-    \hskip 0pt plus 0.5fil
-  }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
-  \dots
-  \spacefactor=3000
-}
-
-% @comma{} is so commas can be inserted into text without messing up
-% Texinfo's parsing.
-%
-\let\comma = ,
-
-% @refill is a no-op.
-\let\refill=\relax
-
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
-   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
-   \iflinks
-     \tryauxfile
-     % Open the new aux file.  TeX will close it automatically at exit.
-     \immediate\openout\auxfile=\jobname.aux
-   \fi % \openindices needs to do some work in any case.
-   \openindices
-   \let\setfilename=\comment % Ignore extra @setfilename cmds.
-   %
-   % If texinfo.cnf is present on the system, read it.
-   % Useful for site-wide @afourpaper, etc.
-   \openin 1 texinfo.cnf
-   \ifeof 1 \else \input texinfo.cnf \fi
-   \closein 1
-   %
-   \comment % Ignore the actual filename.
-}
-
-% Called from \setfilename.
-%
-\def\openindices{%
-  \newindex{cp}%
-  \newcodeindex{fn}%
-  \newcodeindex{vr}%
-  \newcodeindex{tp}%
-  \newcodeindex{ky}%
-  \newcodeindex{pg}%
-}
-
-% @bye.
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-
-
-\message{pdf,}
-% adobe `portable' document format
-\newcount\tempnum
-\newcount\lnkcount
-\newtoks\filename
-\newcount\filenamelength
-\newcount\pgn
-\newtoks\toksA
-\newtoks\toksB
-\newtoks\toksC
-\newtoks\toksD
-\newbox\boxA
-\newcount\countA
-\newif\ifpdf
-\newif\ifpdfmakepagedest
-
-% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
-% can be set).  So we test for \relax and 0 as well as \undefined,
-% borrowed from ifpdf.sty.
-\ifx\pdfoutput\undefined
-\else
-  \ifx\pdfoutput\relax
-  \else
-    \ifcase\pdfoutput
-    \else
-      \pdftrue
-    \fi
-  \fi
-\fi
-%
-\ifpdf
-  \input pdfcolor
-  \pdfcatalog{/PageMode /UseOutlines}%
-  \def\dopdfimage#1#2#3{%
-    \def\imagewidth{#2}%
-    \def\imageheight{#3}%
-    % without \immediate, pdftex seg faults when the same image is
-    % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
-    \ifnum\pdftexversion < 14
-      \immediate\pdfimage
-    \else
-      \immediate\pdfximage
-    \fi
-      \ifx\empty\imagewidth\else width \imagewidth \fi
-      \ifx\empty\imageheight\else height \imageheight \fi
-      \ifnum\pdftexversion<13
-         #1.pdf%
-       \else
-         {#1.pdf}%
-       \fi
-    \ifnum\pdftexversion < 14 \else
-      \pdfrefximage \pdflastximage
-    \fi}
-  \def\pdfmkdest#1{{%
-    % We have to set dummies so commands such as @code in a section title
-    % aren't expanded.
-    \atdummies
-    \normalturnoffactive
-    \pdfdest name{#1} xyz%
-  }}
-  \def\pdfmkpgn#1{#1}
-  \let\linkcolor = \Blue  % was Cyan, but that seems light?
-  \def\endlink{\Black\pdfendlink}
-  % Adding outlines to PDF; macros for calculating structure of outlines
-  % come from Petr Olsak
-  \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
-    \else \csname#1\endcsname \fi}
-  \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
-    \advance\tempnum by 1
-    \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
-  %
-  % #1 is the section text.  #2 is the pdf expression for the number
-  % of subentries (or empty, for subsubsections).  #3 is the node
-  % text, which might be empty if this toc entry had no
-  % corresponding node.  #4 is the page number.
-  %
-  \def\dopdfoutline#1#2#3#4{%
-    % Generate a link to the node text if that exists; else, use the
-    % page number.  We could generate a destination for the section
-    % text in the case where a section has no node, but it doesn't
-    % seem worthwhile, since most documents are normally structured.
-    \def\pdfoutlinedest{#3}%
-    \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}\fi
-    %
-    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{#1}%
-  }
-  %
-  \def\pdfmakeoutlines{%
-    \begingroup
-      % Thanh's hack / proper braces in bookmarks
-      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
-      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
-      %
-      % Read toc silently, to get counts of subentries for \pdfoutline.
-      \def\numchapentry##1##2##3##4{%
-       \def\thischapnum{##2}%
-       \def\thissecnum{0}%
-       \def\thissubsecnum{0}%
-      }%
-      \def\numsecentry##1##2##3##4{%
-       \advancenumber{chap\thischapnum}%
-       \def\thissecnum{##2}%
-       \def\thissubsecnum{0}%
-      }%
-      \def\numsubsecentry##1##2##3##4{%
-       \advancenumber{sec\thissecnum}%
-       \def\thissubsecnum{##2}%
-      }%
-      \def\numsubsubsecentry##1##2##3##4{%
-       \advancenumber{subsec\thissubsecnum}%
-      }%
-      \def\thischapnum{0}%
-      \def\thissecnum{0}%
-      \def\thissubsecnum{0}%
-      %
-      % use \def rather than \let here because we redefine \chapentry et
-      % al. a second time, below.
-      \def\appentry{\numchapentry}%
-      \def\appsecentry{\numsecentry}%
-      \def\appsubsecentry{\numsubsecentry}%
-      \def\appsubsubsecentry{\numsubsubsecentry}%
-      \def\unnchapentry{\numchapentry}%
-      \def\unnsecentry{\numsecentry}%
-      \def\unnsubsecentry{\numsubsecentry}%
-      \def\unnsubsubsecentry{\numsubsubsecentry}%
-      \input \jobname.toc
-      %
-      % Read toc second time, this time actually producing the outlines.
-      % The `-' means take the \expnumber as the absolute number of
-      % subentries, which we calculated on our first read of the .toc above.
-      %
-      % We use the node names as the destinations.
-      \def\numchapentry##1##2##3##4{%
-        \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
-      \def\numsecentry##1##2##3##4{%
-        \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
-      \def\numsubsecentry##1##2##3##4{%
-        \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
-      \def\numsubsubsecentry##1##2##3##4{% count is always zero
-        \dopdfoutline{##1}{}{##3}{##4}}%
-      %
-      % PDF outlines are displayed using system fonts, instead of
-      % document fonts.  Therefore we cannot use special characters,
-      % since the encoding is unknown.  For example, the eogonek from
-      % Latin 2 (0xea) gets translated to a | character.  Info from
-      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
-      %
-      % xx to do this right, we have to translate 8-bit characters to
-      % their "best" equivalent, based on the @documentencoding.  Right
-      % now, I guess we'll just let the pdf reader have its way.
-      \indexnofonts
-      \turnoffactive
-      \input \jobname.toc
-    \endgroup
-  }
-  %
-  \def\makelinks #1,{%
-    \def\params{#1}\def\E{END}%
-    \ifx\params\E
-      \let\nextmakelinks=\relax
-    \else
-      \let\nextmakelinks=\makelinks
-      \ifnum\lnkcount>0,\fi
-      \picknum{#1}%
-      \startlink attr{/Border [0 0 0]}
-        goto name{\pdfmkpgn{\the\pgn}}%
-      \linkcolor #1%
-      \advance\lnkcount by 1%
-      \endlink
-    \fi
-    \nextmakelinks
-  }
-  \def\picknum#1{\expandafter\pn#1}
-  \def\pn#1{%
-    \def\p{#1}%
-    \ifx\p\lbrace
-      \let\nextpn=\ppn
-    \else
-      \let\nextpn=\ppnn
-      \def\first{#1}
-    \fi
-    \nextpn
-  }
-  \def\ppn#1{\pgn=#1\gobble}
-  \def\ppnn{\pgn=\first}
-  \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
-  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
-    \ifx\PP\D\let\nextsp\relax
-    \else\let\nextsp\skipspaces
-      \ifx\p\space\else\addtokens{\filename}{\PP}%
-        \advance\filenamelength by 1
-      \fi
-    \fi
-    \nextsp}
-  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
-  \ifnum\pdftexversion < 14
-    \let \startlink \pdfannotlink
-  \else
-    \let \startlink \pdfstartlink
-  \fi
-  \def\pdfurl#1{%
-    \begingroup
-      \normalturnoffactive\def\@{@}%
-      \makevalueexpandable
-      \leavevmode\Red
-      \startlink attr{/Border [0 0 0]}%
-        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
-    \endgroup}
-  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
-  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
-  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
-  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
-  \def\maketoks{%
-    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
-    \ifx\first0\adn0
-    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
-    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
-    \else
-      \ifnum0=\countA\else\makelink\fi
-      \ifx\first.\let\next=\done\else
-        \let\next=\maketoks
-        \addtokens{\toksB}{\the\toksD}
-        \ifx\first,\addtokens{\toksB}{\space}\fi
-      \fi
-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-    \next}
-  \def\makelink{\addtokens{\toksB}%
-    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
-  \def\pdflink#1{%
-    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
-    \linkcolor #1\endlink}
-  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
-\else
-  \let\pdfmkdest = \gobble
-  \let\pdfurl = \gobble
-  \let\endlink = \relax
-  \let\linkcolor = \relax
-  \let\pdfmakeoutlines = \relax
-\fi  % \ifx\pdfoutput
-
-
-\message{fonts,}
-
-% Change the current font style to #1, remembering it in \curfontstyle.
-% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
-% italics, not bold italics.
-%
-\def\setfontstyle#1{%
-  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
-  \csname ten#1\endcsname  % change the current font
-}
-
-% Select #1 fonts with the current style.
-%
-\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
-
-\def\rm{\fam=0 \setfontstyle{rm}}
-\def\it{\fam=\itfam \setfontstyle{it}}
-\def\sl{\fam=\slfam \setfontstyle{sl}}
-\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-\def\tt{\fam=\ttfam \setfontstyle{tt}}
-
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf.
-\newfam\sffam
-\def\sf{\fam=\sffam \setfontstyle{sf}}
-\let\li = \sf % Sometimes we call it \li, not \sf.
-
-% We don't need math for this font style.
-\def\ttsl{\setfontstyle{ttsl}}
-
-% Default leading.
-\newdimen\textleading  \textleading = 13.2pt
-
-% Set the baselineskip to #1, and the lineskip and strut size
-% correspondingly.  There is no deep meaning behind these magic numbers
-% used as factors; they just match (closely enough) what Knuth defined.
-%
-\def\lineskipfactor{.08333}
-\def\strutheightpercent{.70833}
-\def\strutdepthpercent {.29167}
-%
-\def\setleading#1{%
-  \normalbaselineskip = #1\relax
-  \normallineskip = \lineskipfactor\normalbaselineskip
-  \normalbaselines
-  \setbox\strutbox =\hbox{%
-    \vrule width0pt height\strutheightpercent\baselineskip
-                    depth \strutdepthpercent \baselineskip
-  }%
-}
-
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
-% #3 is the font's design size, #4 is a scale factor
-\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
-
-% Use cm as the default font prefix.
-% To specify the font prefix, you must define \fontprefix
-% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
-\def\fontprefix{cm}
-\fi
-% Support font families that don't use the same naming scheme as CM.
-\def\rmshape{r}
-\def\rmbshape{bx}               %where the normal face is bold
-\def\bfshape{b}
-\def\bxshape{bx}
-\def\ttshape{tt}
-\def\ttbshape{tt}
-\def\ttslshape{sltt}
-\def\itshape{ti}
-\def\itbshape{bxti}
-\def\slshape{sl}
-\def\slbshape{bxsl}
-\def\sfshape{ss}
-\def\sfbshape{ss}
-\def\scshape{csc}
-\def\scbshape{csc}
-
-% Text fonts (11.2pt, magstep1).
-\def\textnominalsize{11pt}
-\edef\mainmagstep{\magstephalf}
-\setfont\textrm\rmshape{10}{\mainmagstep}
-\setfont\texttt\ttshape{10}{\mainmagstep}
-\setfont\textbf\bfshape{10}{\mainmagstep}
-\setfont\textit\itshape{10}{\mainmagstep}
-\setfont\textsl\slshape{10}{\mainmagstep}
-\setfont\textsf\sfshape{10}{\mainmagstep}
-\setfont\textsc\scshape{10}{\mainmagstep}
-\setfont\textttsl\ttslshape{10}{\mainmagstep}
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
-
-% A few fonts for @defun names and args.
-\setfont\defbf\bfshape{10}{\magstep1}
-\setfont\deftt\ttshape{10}{\magstep1}
-\setfont\defttsl\ttslshape{10}{\magstep1}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
-
-% Fonts for indices, footnotes, small examples (9pt).
-\def\smallnominalsize{9pt}
-\setfont\smallrm\rmshape{9}{1000}
-\setfont\smalltt\ttshape{9}{1000}
-\setfont\smallbf\bfshape{10}{900}
-\setfont\smallit\itshape{9}{1000}
-\setfont\smallsl\slshape{9}{1000}
-\setfont\smallsf\sfshape{9}{1000}
-\setfont\smallsc\scshape{10}{900}
-\setfont\smallttsl\ttslshape{10}{900}
-\font\smalli=cmmi9
-\font\smallsy=cmsy9
-
-% Fonts for small examples (8pt).
-\def\smallernominalsize{8pt}
-\setfont\smallerrm\rmshape{8}{1000}
-\setfont\smallertt\ttshape{8}{1000}
-\setfont\smallerbf\bfshape{10}{800}
-\setfont\smallerit\itshape{8}{1000}
-\setfont\smallersl\slshape{8}{1000}
-\setfont\smallersf\sfshape{8}{1000}
-\setfont\smallersc\scshape{10}{800}
-\setfont\smallerttsl\ttslshape{10}{800}
-\font\smalleri=cmmi8
-\font\smallersy=cmsy8
-
-% Fonts for title page (20.4pt):
-\def\titlenominalsize{20pt}
-\setfont\titlerm\rmbshape{12}{\magstep3}
-\setfont\titleit\itbshape{10}{\magstep4}
-\setfont\titlesl\slbshape{10}{\magstep4}
-\setfont\titlett\ttbshape{12}{\magstep3}
-\setfont\titlettsl\ttslshape{10}{\magstep4}
-\setfont\titlesf\sfbshape{17}{\magstep1}
-\let\titlebf=\titlerm
-\setfont\titlesc\scbshape{10}{\magstep4}
-\font\titlei=cmmi12 scaled \magstep3
-\font\titlesy=cmsy10 scaled \magstep4
-\def\authorrm{\secrm}
-\def\authortt{\sectt}
-
-% Chapter (and unnumbered) fonts (17.28pt).
-\def\chapnominalsize{17pt}
-\setfont\chaprm\rmbshape{12}{\magstep2}
-\setfont\chapit\itbshape{10}{\magstep3}
-\setfont\chapsl\slbshape{10}{\magstep3}
-\setfont\chaptt\ttbshape{12}{\magstep2}
-\setfont\chapttsl\ttslshape{10}{\magstep3}
-\setfont\chapsf\sfbshape{17}{1000}
-\let\chapbf=\chaprm
-\setfont\chapsc\scbshape{10}{\magstep3}
-\font\chapi=cmmi12 scaled \magstep2
-\font\chapsy=cmsy10 scaled \magstep3
-
-% Section fonts (14.4pt).
-\def\secnominalsize{14pt}
-\setfont\secrm\rmbshape{12}{\magstep1}
-\setfont\secit\itbshape{10}{\magstep2}
-\setfont\secsl\slbshape{10}{\magstep2}
-\setfont\sectt\ttbshape{12}{\magstep1}
-\setfont\secttsl\ttslshape{10}{\magstep2}
-\setfont\secsf\sfbshape{12}{\magstep1}
-\let\secbf\secrm
-\setfont\secsc\scbshape{10}{\magstep2}
-\font\seci=cmmi12 scaled \magstep1
-\font\secsy=cmsy10 scaled \magstep2
-
-% Subsection fonts (13.15pt).
-\def\ssecnominalsize{13pt}
-\setfont\ssecrm\rmbshape{12}{\magstephalf}
-\setfont\ssecit\itbshape{10}{1315}
-\setfont\ssecsl\slbshape{10}{1315}
-\setfont\ssectt\ttbshape{12}{\magstephalf}
-\setfont\ssecttsl\ttslshape{10}{1315}
-\setfont\ssecsf\sfbshape{12}{\magstephalf}
-\let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{1315}
-\font\sseci=cmmi12 scaled \magstephalf
-\font\ssecsy=cmsy10 scaled 1315
-
-% Reduced fonts for @acro in text (10pt).
-\def\reducednominalsize{10pt}
-\setfont\reducedrm\rmshape{10}{1000}
-\setfont\reducedtt\ttshape{10}{1000}
-\setfont\reducedbf\bfshape{10}{1000}
-\setfont\reducedit\itshape{10}{1000}
-\setfont\reducedsl\slshape{10}{1000}
-\setfont\reducedsf\sfshape{10}{1000}
-\setfont\reducedsc\scshape{10}{1000}
-\setfont\reducedttsl\ttslshape{10}{1000}
-\font\reducedi=cmmi10
-\font\reducedsy=cmsy10
-
-% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
-%
-\def\resetmathfonts{%
-  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
-  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
-  \textfont\ttfam=\tentt \textfont\sffam=\tensf
-}
-
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE.  We do this because \STYLE needs to also set the
-% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
-% \tenSTYLE to set the current font.
-%
-% Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower).  These relative commands are used in
-% the LaTeX logo and acronyms.
-%
-% This all needs generalizing, badly.
-%
-\def\textfonts{%
-  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
-  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
-  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
-  \let\tenttsl=\textttsl
-  \def\curfontsize{text}%
-  \def\lsize{reduced}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{\textleading}}
-\def\titlefonts{%
-  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
-  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
-  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
-  \let\tenttsl=\titlettsl
-  \def\curfontsize{title}%
-  \def\lsize{chap}\def\lllsize{subsec}%
-  \resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rm #1}}
-\def\chapfonts{%
-  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
-  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
-  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
-  \let\tenttsl=\chapttsl
-  \def\curfontsize{chap}%
-  \def\lsize{sec}\def\lllsize{text}%
-  \resetmathfonts \setleading{19pt}}
-\def\secfonts{%
-  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
-  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
-  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
-  \let\tenttsl=\secttsl
-  \def\curfontsize{sec}%
-  \def\lsize{subsec}\def\lllsize{reduced}%
-  \resetmathfonts \setleading{16pt}}
-\def\subsecfonts{%
-  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
-  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
-  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
-  \let\tenttsl=\ssecttsl
-  \def\curfontsize{ssec}%
-  \def\lsize{text}\def\lllsize{small}%
-  \resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts
-\def\reducedfonts{%
-  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
-  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
-  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
-  \let\tenttsl=\reducedttsl
-  \def\curfontsize{reduced}%
-  \def\lsize{small}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallfonts{%
-  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
-  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
-  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
-  \let\tenttsl=\smallttsl
-  \def\curfontsize{small}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{10.5pt}}
-\def\smallerfonts{%
-  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
-  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
-  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
-  \let\tenttsl=\smallerttsl
-  \def\curfontsize{smaller}%
-  \def\lsize{smaller}\def\lllsize{smaller}%
-  \resetmathfonts \setleading{9.5pt}}
-
-% Set the fonts to use with the @small... environments.
-\let\smallexamplefonts = \smallfonts
-
-% About \smallexamplefonts.  If we use \smallfonts (9pt), @smallexample
-% can fit this many characters:
-%   8.5x11=86   smallbook=72  a4=90  a5=69
-% If we use \scriptfonts (8pt), then we can fit this many characters:
-%   8.5x11=90+  smallbook=80  a4=90+  a5=77
-% For me, subjectively, the few extra characters that fit aren't worth
-% the additional smallness of 8pt.  So I'm making the default 9pt.
-%
-% By the way, for comparison, here's what fits with @example (10pt):
-%   8.5x11=71  smallbook=60  a4=75  a5=58
-%
-% I wish the USA used A4 paper.
-% --karl, 24jan03.
-
-
-% Set up the default fonts, so we can use them for creating boxes.
-%
-\textfonts \rm
-
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
-
-% Count depth in font-changes, for error checks
-\newcount\fontdepth \fontdepth=0
-
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}
-\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
-\setfont\shortcontsl\slshape{12}{1000}
-\setfont\shortconttt\ttshape{12}{1000}
-
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
-
-% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
-                    \ptexslash\fi\fi\fi}
-\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
-
-% like \smartslanted except unconditionally uses \ttsl.
-% @var is set to this for defun arguments.
-\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
-
-% like \smartslanted except unconditionally use \sl.  We never want
-% ttsl for book titles, do we?
-\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
-
-\let\i=\smartitalic
-\let\slanted=\smartslanted
-\let\var=\smartslanted
-\let\dfn=\smartslanted
-\let\emph=\smartitalic
-
-% @b, explicit bold.
-\def\b#1{{\bf #1}}
-\let\strong=\b
-
-% @sansserif, explicit sans.
-\def\sansserif#1{{\sf #1}}
-
-% We can't just use \exhyphenpenalty, because that only has effect at
-% the end of a paragraph.  Restore normal hyphenation at the end of the
-% group within which \nohyphenation is presumably called.
-%
-\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
-\def\restorehyphenation{\hyphenchar\font = `- }
-
-% Set sfcode to normal for the chars that usually have another value.
-% Can't use plain's \frenchspacing because it uses the `\x notation, and
-% sometimes \x has an active definition that messes things up.
-%
-\catcode`@=11
-  \def\frenchspacing{%
-    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
-    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
-  }
-\catcode`@=\other
-
-\def\t#1{%
-  {\tt \rawbackslash \frenchspacing #1}%
-  \null
-}
-\def\samp#1{`\tclose{#1}'\null}
-\setfont\keyrm\rmshape{8}{1000}
-\font\keysy=cmsy9
-\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-    \vbox{\hrule\kern-0.4pt
-     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-    \kern-0.4pt\hrule}%
-  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-% The old definition, with no lozenge:
-%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
-\def\tclose#1{%
-  {%
-    % Change normal interword space to be same as for the current font.
-    \spaceskip = \fontdimen2\font
-    %
-    % Switch to typewriter.
-    \tt
-    %
-    % But `\ ' produces the large typewriter interword space.
-    \def\ {{\spaceskip = 0pt{} }}%
-    %
-    % Turn off hyphenation.
-    \nohyphenation
-    %
-    \rawbackslash
-    \frenchspacing
-    #1%
-  }%
-  \null
-}
-
-% We *must* turn on hyphenation at `-' and `_' in @code.
-% Otherwise, it is too hard to avoid overfull hboxes
-% in the Emacs manual, the Library manual, etc.
-
-% Unfortunately, TeX uses one parameter (\hyphenchar) to control
-% both hyphenation at - and hyphenation within words.
-% We must therefore turn them both off (\tclose does that)
-% and arrange explicitly to hyphenate at a dash.
-%  -- rms.
-{
-  \catcode`\-=\active
-  \catcode`\_=\active
-  %
-  \global\def\code{\begingroup
-    \catcode`\-=\active \let-\codedash
-    \catcode`\_=\active \let_\codeunder
-    \codex
-  }
-}
-
-\def\realdash{-}
-\def\codedash{-\discretionary{}{}{}}
-\def\codeunder{%
-  % this is all so @math{@code{var_name}+1} can work.  In math mode, _
-  % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
-  % will therefore expand the active definition of _, which is us
-  % (inside @code that is), therefore an endless loop.
-  \ifusingtt{\ifmmode
-               \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
-             \else\normalunderscore \fi
-             \discretionary{}{}{}}%
-            {\_}%
-}
-\def\codex #1{\tclose{#1}\endgroup}
-
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-
-% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-%   `example' (@kbd uses ttsl only inside of @example and friends),
-%   or `code' (@kbd uses normal tty font always).
-\parseargdef\kbdinputstyle{%
-  \def\arg{#1}%
-  \ifx\arg\worddistinct
-    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
-  \else\ifx\arg\wordexample
-    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
-  \else\ifx\arg\wordcode
-    \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
-  \else
-    \errhelp = \EMsimple
-    \errmessage{Unknown @kbdinputstyle option `\arg'}%
-  \fi\fi\fi
-}
-\def\worddistinct{distinct}
-\def\wordexample{example}
-\def\wordcode{code}
-
-% Default is `distinct.'
-\kbdinputstyle distinct
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\look}}\fi
-\else{\tclose{\kbdfont\look}}\fi}
-
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
-\let\command=\code
-
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself.  First (mandatory) arg is the url.  Perhaps eventually put in
-% a hypertex \special here.
-%
-\def\uref#1{\douref #1,,,\finish}
-\def\douref#1,#2,#3,#4\finish{\begingroup
-  \unsepspaces
-  \pdfurl{#1}%
-  \setbox0 = \hbox{\ignorespaces #3}%
-  \ifdim\wd0 > 0pt
-    \unhbox0 % third arg given, show only that
-  \else
-    \setbox0 = \hbox{\ignorespaces #2}%
-    \ifdim\wd0 > 0pt
-      \ifpdf
-        \unhbox0             % PDF: 2nd arg given, show only it
-      \else
-        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
-      \fi
-    \else
-      \code{#1}% only url given, so show it
-    \fi
-  \fi
-  \endlink
-\endgroup}
-
-% @url synonym for @uref, since that's how everyone uses it.
-%
-\let\url=\uref
-
-% rms does not like angle brackets --karl, 17may97.
-% So now @email is just like @uref, unless we are pdf.
-%
-%\def\email#1{\angleleft{\tt #1}\angleright}
-\ifpdf
-  \def\email#1{\doemail#1,,\finish}
-  \def\doemail#1,#2,#3\finish{\begingroup
-    \unsepspaces
-    \pdfurl{mailto:#1}%
-    \setbox0 = \hbox{\ignorespaces #2}%
-    \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
-    \endlink
-  \endgroup}
-\else
-  \let\email=\uref
-\fi
-
-% Check if we are currently using a typewriter font.  Since all the
-% Computer Modern typewriter fonts have zero interword stretch (and
-% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
-% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
-%
-\def\dmn#1{\thinspace #1}
-
-\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-
-% @l was never documented to mean ``switch to the Lisp font'',
-% and it is not used as such in any manual I can find.  We need it for
-% Polish suppressed-l.  --karl, 22sep96.
-%\def\l#1{{\li #1}\null}
-
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}}              % roman font
-\def\sc#1{{\smallcaps#1}}       % smallcaps font
-\def\ii#1{{\it #1}}             % italic font
-
-% @acronym for "FBI", "NATO", and the like.
-% We print this one point size smaller, since it's intended for
-% all-uppercase.
-% 
-\def\acronym#1{\doacronym #1,,\finish}
-\def\doacronym#1,#2,#3\finish{%
-  {\selectfonts\lsize #1}%
-  \def\temp{#2}%
-  \ifx\temp\empty \else
-    \space ({\unsepspaces \ignorespaces \temp \unskip})%
-  \fi
-}
-
-% @abbr for "Comput. J." and the like.
-% No font change, but don't do end-of-sentence spacing.
-% 
-\def\abbr#1{\doabbr #1,,\finish}
-\def\doabbr#1,#2,#3\finish{%
-  {\frenchspacing #1}%
-  \def\temp{#2}%
-  \ifx\temp\empty \else
-    \space ({\unsepspaces \ignorespaces \temp \unskip})%
-  \fi
-}
-
-% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
-%
-\def\pounds{{\it\$}}
-
-% @euro{} comes from a separate font, depending on the current style.
-% We use the free feym* fonts from the eurosym package by Henrik
-% Theiling, which support regular, slanted, bold and bold slanted (and
-% "outlined" (blackboard board, sort of) versions, which we don't need).
-% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
-% 
-% Although only regular is the truly official Euro symbol, we ignore
-% that.  The Euro is designed to be slightly taller than the regular
-% font height.
-% 
-% feymr - regular
-% feymo - slanted
-% feybr - bold
-% feybo - bold slanted
-% 
-% There is no good (free) typewriter version, to my knowledge.
-% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
-% Hmm.
-% 
-% Also doesn't work in math.  Do we need to do math with euro symbols?
-% Hope not.
-% 
-% 
-\def\euro{{\eurofont e}}
-\def\eurofont{%
-  % We set the font at each command, rather than predefining it in
-  % \textfonts and the other font-switching commands, so that
-  % installations which never need the symbold don't have to have the
-  % font installed.
-  % 
-  % There is only one designed size (nominal 10pt), so we always scale
-  % that to the current nominal size.
-  % 
-  % By the way, simply using "at 1em" works for cmr10 and the like, but
-  % does not work for cmbx10 and other extended/shrunken fonts.
-  % 
-  \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
-  %
-  \ifx\curfontstyle\bfstylename 
-    % bold:
-    \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
-  \else 
-    % regular:
-    \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
-  \fi
-  \thiseurofont
-}
-
-% @registeredsymbol - R in a circle.  The font for the R should really
-% be smaller yet, but lllsize is the best we can do for now.
-% Adapted from the plain.tex definition of \copyright.
-%
-\def\registeredsymbol{%
-  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
-               \hfil\crcr\Orb}}%
-    }$%
-}
-
-% Laurent Siebenmann reports \Orb undefined with:
-%  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
-% so we'll define it if necessary.
-% 
-\ifx\Orb\undefined
-\def\Orb{\mathhexbox20D}
-\fi
-
-
-\message{page headings,}
-
-\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-
-% First the title page.  Must do @settitle before @titlepage.
-\newif\ifseenauthor
-\newif\iffinishedtitlepage
-
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-
-\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
-        \endgroup\page\hbox{}\page}
-
-\envdef\titlepage{%
-  % Open one extra group, as we want to close it in the middle of \Etitlepage.
-  \begingroup
-    \parindent=0pt \textfonts
-    % Leave some space at the very top of the page.
-    \vglue\titlepagetopglue
-    % No rule at page bottom unless we print one at the top with @title.
-    \finishedtitlepagetrue
-    %
-    % Most title ``pages'' are actually two pages long, with space
-    % at the top of the second.  We don't want the ragged left on the second.
-    \let\oldpage = \page
-    \def\page{%
-      \iffinishedtitlepage\else
-        \finishtitlepage
-      \fi
-      \let\page = \oldpage
-      \page
-      \null
-    }%
-}
-
-\def\Etitlepage{%
-    \iffinishedtitlepage\else
-       \finishtitlepage
-    \fi
-    % It is important to do the page break before ending the group,
-    % because the headline and footline are only empty inside the group.
-    % If we use the new definition of \page, we always get a blank page
-    % after the title page, which we certainly don't want.
-    \oldpage
-  \endgroup
-  %
-  % Need this before the \...aftertitlepage checks so that if they are
-  % in effect the toc pages will come out with page numbers.
-  \HEADINGSon
-  %
-  % If they want short, they certainly want long too.
-  \ifsetshortcontentsaftertitlepage
-    \shortcontents
-    \contents
-    \global\let\shortcontents = \relax
-    \global\let\contents = \relax
-  \fi
-  %
-  \ifsetcontentsaftertitlepage
-    \contents
-    \global\let\contents = \relax
-    \global\let\shortcontents = \relax
-  \fi
-}
-
-\def\finishtitlepage{%
-  \vskip4pt \hrule height 2pt width \hsize
-  \vskip\titlepagebottomglue
-  \finishedtitlepagetrue
-}
-
-%%% Macros to be used within @titlepage:
-
-\let\subtitlerm=\tenrm
-\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
-
-\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
-               \let\tt=\authortt}
-
-\parseargdef\title{%
-  \checkenv\titlepage
-  \leftline{\titlefonts\rm #1}
-  % print a rule at the page bottom also.
-  \finishedtitlepagefalse
-  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
-}
-
-\parseargdef\subtitle{%
-  \checkenv\titlepage
-  {\subtitlefont \rightline{#1}}%
-}
-
-% @author should come last, but may come many times.
-% It can also be used inside @quotation.
-%
-\parseargdef\author{%
-  \def\temp{\quotation}%
-  \ifx\thisenv\temp
-    \def\quotationauthor{#1}% printed in \Equotation.
-  \else
-    \checkenv\titlepage
-    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
-    {\authorfont \leftline{#1}}%
-  \fi
-}
-
-
-%%% Set up page headings and footings.
-
-\let\thispage=\folio
-
-\newtoks\evenheadline    % headline on even pages
-\newtoks\oddheadline     % headline on odd pages
-\newtoks\evenfootline    % footline on even pages
-\newtoks\oddfootline     % footline on odd pages
-
-% Now make TeX use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
-                            \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
-                            \else \the\evenfootline \fi}\HEADINGShook}
-\let\HEADINGShook=\relax
-
-% Commands to set those variables.
-% For example, this is what  @headings on  does
-% @evenheading @thistitle|@thispage|@thischapter
-% @oddheading @thischapter|@thispage|@thistitle
-% @evenfooting @thisfile||
-% @oddfooting ||@thisfile
-
-
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
-\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
-\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
-
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
-\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
-\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
-  \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
-  %
-  % Leave some space for the footline.  Hopefully ok to assume
-  % @evenfooting will not be used by itself.
-  \global\advance\pageheight by -\baselineskip
-  \global\advance\vsize by -\baselineskip
-}
-
-\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
-
-
-% @headings double      turns headings on for double-sided printing.
-% @headings single      turns headings on for single-sided printing.
-% @headings off         turns them off.
-% @headings on          same as @headings double, retained for compatibility.
-% @headings after       turns on double-sided headings after this page.
-% @headings doubleafter turns on double-sided headings after this page.
-% @headings singleafter turns on single-sided headings after this page.
-% By default, they are off at the start of a document,
-% and turned `on' after @end titlepage.
-
-\def\headings #1 {\csname HEADINGS#1\endcsname}
-
-\def\HEADINGSoff{%
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
-% When we turn headings on, set the page number to 1.
-% For double-sided printing, put current file name in lower left corner,
-% chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSdouble{%
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-\let\contentsalignmacro = \chappager
-
-% For single-sided printing, chapter title goes across top left of page,
-% page number on top right.
-\def\HEADINGSsingle{%
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-\def\HEADINGSon{\HEADINGSdouble}
-
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-
-% Subroutines used in generating headings
-% This produces Day Month Year style of output.
-% Only define if not already defined, in case a txi-??.tex file has set
-% up a different format (e.g., txi-cs.tex does this).
-\ifx\today\undefined
-\def\today{%
-  \number\day\space
-  \ifcase\month
-  \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
-  \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
-  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
-  \fi
-  \space\number\year}
-\fi
-
-% @settitle line...  specifies the title of the document, for headings.
-% It generates no output of its own.
-\def\thistitle{\putwordNoTitle}
-\def\settitle{\parsearg{\gdef\thistitle}}
-
-
-\message{tables,}
-% Tables -- @table, @ftable, @vtable, @item(x).
-
-% default indentation of table text
-\newdimen\tableindent \tableindent=.8in
-% default indentation of @itemize and @enumerate text
-\newdimen\itemindent  \itemindent=.3in
-% margin between end of table item and start of table text.
-\newdimen\itemmargin  \itemmargin=.1in
-
-% used internally for \itemindent minus \itemmargin
-\newdimen\itemmax
-
-% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
-% these defs.
-% They also define \itemindex
-% to index the item name in whatever manner is desired (perhaps none).
-
-\newif\ifitemxneedsnegativevskip
-
-\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
-
-\def\internalBitem{\smallbreak \parsearg\itemzzz}
-\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-
-\def\itemzzz #1{\begingroup %
-  \advance\hsize by -\rightskip
-  \advance\hsize by -\tableindent
-  \setbox0=\hbox{\itemindicate{#1}}%
-  \itemindex{#1}%
-  \nobreak % This prevents a break before @itemx.
-  %
-  % If the item text does not fit in the space we have, put it on a line
-  % by itself, and do not allow a page break either before or after that
-  % line.  We do not start a paragraph here because then if the next
-  % command is, e.g., @kindex, the whatsit would get put into the
-  % horizontal list on a line by itself, resulting in extra blank space.
-  \ifdim \wd0>\itemmax
-    %
-    % Make this a paragraph so we get the \parskip glue and wrapping,
-    % but leave it ragged-right.
-    \begingroup
-      \advance\leftskip by-\tableindent
-      \advance\hsize by\tableindent
-      \advance\rightskip by0pt plus1fil
-      \leavevmode\unhbox0\par
-    \endgroup
-    %
-    % We're going to be starting a paragraph, but we don't want the
-    % \parskip glue -- logically it's part of the @item we just started.
-    \nobreak \vskip-\parskip
-    %
-    % Stop a page break at the \parskip glue coming up.  However, if
-    % what follows is an environment such as @example, there will be no
-    % \parskip glue; then the negative vskip we just inserted would
-    % cause the example and the item to crash together.  So we use this
-    % bizarre value of 10001 as a signal to \aboveenvbreak to insert
-    % \parskip glue after all.  Section titles are handled this way also.
-    % 
-    \penalty 10001
-    \endgroup
-    \itemxneedsnegativevskipfalse
-  \else
-    % The item text fits into the space.  Start a paragraph, so that the
-    % following text (if any) will end up on the same line.
-    \noindent
-    % Do this with kerns and \unhbox so that if there is a footnote in
-    % the item text, it can migrate to the main vertical list and
-    % eventually be printed.
-    \nobreak\kern-\tableindent
-    \dimen0 = \itemmax  \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
-    \unhbox0
-    \nobreak\kern\dimen0
-    \endgroup
-    \itemxneedsnegativevskiptrue
-  \fi
-}
-
-\def\item{\errmessage{@item while not in a list environment}}
-\def\itemx{\errmessage{@itemx while not in a list environment}}
-
-% @table, @ftable, @vtable.
-\envdef\table{%
-  \let\itemindex\gobble
-  \tablecheck{table}%
-}
-\envdef\ftable{%
-  \def\itemindex ##1{\doind {fn}{\code{##1}}}%
-  \tablecheck{ftable}%
-}
-\envdef\vtable{%
-  \def\itemindex ##1{\doind {vr}{\code{##1}}}%
-  \tablecheck{vtable}%
-}
-\def\tablecheck#1{%
-  \ifnum \the\catcode`\^^M=\active
-    \endgroup
-    \errmessage{This command won't work in this context; perhaps the problem is
-      that we are \inenvironment\thisenv}%
-    \def\next{\doignore{#1}}%
-  \else
-    \let\next\tablex
-  \fi
-  \next
-}
-\def\tablex#1{%
-  \def\itemindicate{#1}%
-  \parsearg\tabley
-}
-\def\tabley#1{%
-  {%
-    \makevalueexpandable
-    \edef\temp{\noexpand\tablez #1\space\space\space}%
-    \expandafter
-  }\temp \endtablez
-}
-\def\tablez #1 #2 #3 #4\endtablez{%
-  \aboveenvbreak
-  \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
-  \ifnum 0#2>0 \tableindent=#2\mil \fi
-  \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
-  \itemmax=\tableindent
-  \advance \itemmax by -\itemmargin
-  \advance \leftskip by \tableindent
-  \exdentamount=\tableindent
-  \parindent = 0pt
-  \parskip = \smallskipamount
-  \ifdim \parskip=0pt \parskip=2pt \fi
-  \let\item = \internalBitem
-  \let\itemx = \internalBitemx
-}
-\def\Etable{\endgraf\afterenvbreak}
-\let\Eftable\Etable
-\let\Evtable\Etable
-\let\Eitemize\Etable
-\let\Eenumerate\Etable
-
-% This is the counter used by @enumerate, which is really @itemize
-
-\newcount \itemno
-
-\envdef\itemize{\parsearg\doitemize}
-
-\def\doitemize#1{%
-  \aboveenvbreak
-  \itemmax=\itemindent
-  \advance\itemmax by -\itemmargin
-  \advance\leftskip by \itemindent
-  \exdentamount=\itemindent
-  \parindent=0pt
-  \parskip=\smallskipamount
-  \ifdim\parskip=0pt \parskip=2pt \fi
-  \def\itemcontents{#1}%
-  % @itemize with no arg is equivalent to @itemize @bullet.
-  \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
-  \let\item=\itemizeitem
-}
-
-% Definition of @item while inside @itemize and @enumerate.
-%
-\def\itemizeitem{%
-  \advance\itemno by 1  % for enumerations
-  {\let\par=\endgraf \smallbreak}% reasonable place to break
-  {%
-   % If the document has an @itemize directly after a section title, a
-   % \nobreak will be last on the list, and \sectionheading will have
-   % done a \vskip-\parskip.  In that case, we don't want to zero
-   % parskip, or the item text will crash with the heading.  On the
-   % other hand, when there is normal text preceding the item (as there
-   % usually is), we do want to zero parskip, or there would be too much
-   % space.  In that case, we won't have a \nobreak before.  At least
-   % that's the theory.
-   \ifnum\lastpenalty<10000 \parskip=0in \fi
-   \noindent
-   \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
-   \vadjust{\penalty 1200}}% not good to break after first line of item.
-  \flushcr
-}
-
-% \splitoff TOKENS\endmark defines \first to be the first token in
-% TOKENS, and \rest to be the remainder.
-%
-\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
-
-% Allow an optional argument of an uppercase letter, lowercase letter,
-% or number, to specify the first label in the enumerated list.  No
-% argument is the same as `1'.
-%
-\envparseargdef\enumerate{\enumeratey #1  \endenumeratey}
-\def\enumeratey #1 #2\endenumeratey{%
-  % If we were given no argument, pretend we were given `1'.
-  \def\thearg{#1}%
-  \ifx\thearg\empty \def\thearg{1}\fi
-  %
-  % Detect if the argument is a single token.  If so, it might be a
-  % letter.  Otherwise, the only valid thing it can be is a number.
-  % (We will always have one token, because of the test we just made.
-  % This is a good thing, since \splitoff doesn't work given nothing at
-  % all -- the first parameter is undelimited.)
-  \expandafter\splitoff\thearg\endmark
-  \ifx\rest\empty
-    % Only one token in the argument.  It could still be anything.
-    % A ``lowercase letter'' is one whose \lccode is nonzero.
-    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
-    %   not equal to itself.
-    % Otherwise, we assume it's a number.
-    %
-    % We need the \relax at the end of the \ifnum lines to stop TeX from
-    % continuing to look for a <number>.
-    %
-    \ifnum\lccode\expandafter`\thearg=0\relax
-      \numericenumerate % a number (we hope)
-    \else
-      % It's a letter.
-      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
-        \lowercaseenumerate % lowercase letter
-      \else
-        \uppercaseenumerate % uppercase letter
-      \fi
-    \fi
-  \else
-    % Multiple tokens in the argument.  We hope it's a number.
-    \numericenumerate
-  \fi
-}
-
-% An @enumerate whose labels are integers.  The starting integer is
-% given in \thearg.
-%
-\def\numericenumerate{%
-  \itemno = \thearg
-  \startenumeration{\the\itemno}%
-}
-
-% The starting (lowercase) letter is in \thearg.
-\def\lowercaseenumerate{%
-  \itemno = \expandafter`\thearg
-  \startenumeration{%
-    % Be sure we're not beyond the end of the alphabet.
-    \ifnum\itemno=0
-      \errmessage{No more lowercase letters in @enumerate; get a bigger
-                  alphabet}%
-    \fi
-    \char\lccode\itemno
-  }%
-}
-
-% The starting (uppercase) letter is in \thearg.
-\def\uppercaseenumerate{%
-  \itemno = \expandafter`\thearg
-  \startenumeration{%
-    % Be sure we're not beyond the end of the alphabet.
-    \ifnum\itemno=0
-      \errmessage{No more uppercase letters in @enumerate; get a bigger
-                  alphabet}
-    \fi
-    \char\uccode\itemno
-  }%
-}
-
-% Call \doitemize, adding a period to the first argument and supplying the
-% common last two arguments.  Also subtract one from the initial value in
-% \itemno, since @item increments \itemno.
-%
-\def\startenumeration#1{%
-  \advance\itemno by -1
-  \doitemize{#1.}\flushcr
-}
-
-% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-% to @enumerate.
-%
-\def\alphaenumerate{\enumerate{a}}
-\def\capsenumerate{\enumerate{A}}
-\def\Ealphaenumerate{\Eenumerate}
-\def\Ecapsenumerate{\Eenumerate}
-
-
-% @multitable macros
-% Amy Hendrickson, 8/18/94, 3/6/96
-%
-% @multitable ... @end multitable will make as many columns as desired.
-% Contents of each column will wrap at width given in preamble.  Width
-% can be specified either with sample text given in a template line,
-% or in percent of \hsize, the current width of text on page.
-
-% Table can continue over pages but will only break between lines.
-
-% To make preamble:
-%
-% Either define widths of columns in terms of percent of \hsize:
-%   @multitable @columnfractions .25 .3 .45
-%   @item ...
-%
-%   Numbers following @columnfractions are the percent of the total
-%   current hsize to be used for each column. You may use as many
-%   columns as desired.
-
-
-% Or use a template:
-%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-%   @item ...
-%   using the widest term desired in each column.
-
-% Each new table line starts with @item, each subsequent new column
-% starts with @tab. Empty columns may be produced by supplying @tab's
-% with nothing between them for as many times as empty columns are needed,
-% ie, @tab@tab@tab will produce two empty columns.
-
-% @item, @tab do not need to be on their own lines, but it will not hurt
-% if they are.
-
-% Sample multitable:
-
-%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-%   @item first col stuff @tab second col stuff @tab third col
-%   @item
-%   first col stuff
-%   @tab
-%   second col stuff
-%   @tab
-%   third col
-%   @item first col stuff @tab second col stuff
-%   @tab Many paragraphs of text may be used in any column.
-%
-%         They will wrap at the width determined by the template.
-%   @item@tab@tab This will be in third column.
-%   @end multitable
-
-% Default dimensions may be reset by user.
-% @multitableparskip is vertical space between paragraphs in table.
-% @multitableparindent is paragraph indent in table.
-% @multitablecolmargin is horizontal space to be left between columns.
-% @multitablelinespace is space to leave between table items, baseline
-%                                                            to baseline.
-%   0pt means it depends on current normal line spacing.
-%
-\newskip\multitableparskip
-\newskip\multitableparindent
-\newdimen\multitablecolspace
-\newskip\multitablelinespace
-\multitableparskip=0pt
-\multitableparindent=6pt
-\multitablecolspace=12pt
-\multitablelinespace=0pt
-
-% Macros used to set up halign preamble:
-%
-\let\endsetuptable\relax
-\def\xendsetuptable{\endsetuptable}
-\let\columnfractions\relax
-\def\xcolumnfractions{\columnfractions}
-\newif\ifsetpercent
-
-% #1 is the @columnfraction, usually a decimal number like .5, but might
-% be just 1.  We just use it, whatever it is.
-%
-\def\pickupwholefraction#1 {%
-  \global\advance\colcount by 1
-  \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
-  \setuptable
-}
-
-\newcount\colcount
-\def\setuptable#1{%
-  \def\firstarg{#1}%
-  \ifx\firstarg\xendsetuptable
-    \let\go = \relax
-  \else
-    \ifx\firstarg\xcolumnfractions
-      \global\setpercenttrue
-    \else
-      \ifsetpercent
-         \let\go\pickupwholefraction
-      \else
-         \global\advance\colcount by 1
-         \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
-                   % separator; typically that is always in the input, anyway.
-         \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
-      \fi
-    \fi
-    \ifx\go\pickupwholefraction
-      % Put the argument back for the \pickupwholefraction call, so
-      % we'll always have a period there to be parsed.
-      \def\go{\pickupwholefraction#1}%
-    \else
-      \let\go = \setuptable
-    \fi%
-  \fi
-  \go
-}
-
-% multitable-only commands.
-%
-% @headitem starts a heading row, which we typeset in bold.
-% Assignments have to be global since we are inside the implicit group
-% of an alignment entry.  Note that \everycr resets \everytab.
-\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
-%
-% A \tab used to include \hskip1sp.  But then the space in a template
-% line is not enough.  That is bad.  So let's go back to just `&' until
-% we encounter the problem it was intended to solve again.
-%                                      --karl, nathan@acm.org, 20apr99.
-\def\tab{\checkenv\multitable &\the\everytab}%
-
-% @multitable ... @end multitable definitions:
-%
-\newtoks\everytab  % insert after every tab.
-%
-\envdef\multitable{%
-  \vskip\parskip
-  \startsavinginserts
-  %
-  % @item within a multitable starts a normal row.
-  % We use \def instead of \let so that if one of the multitable entries
-  % contains an @itemize, we don't choke on the \item (seen as \crcr aka
-  % \endtemplate) expanding \doitemize.
-  \def\item{\crcr}%
-  %
-  \tolerance=9500
-  \hbadness=9500
-  \setmultitablespacing
-  \parskip=\multitableparskip
-  \parindent=\multitableparindent
-  \overfullrule=0pt
-  \global\colcount=0
-  %
-  \everycr = {%
-    \noalign{%
-      \global\everytab={}%
-      \global\colcount=0 % Reset the column counter.
-      % Check for saved footnotes, etc.
-      \checkinserts
-      % Keeps underfull box messages off when table breaks over pages.
-      %\filbreak
-       % Maybe so, but it also creates really weird page breaks when the
-       % table breaks over pages. Wouldn't \vfil be better?  Wait until the
-       % problem manifests itself, so it can be fixed for real --karl.
-    }%
-  }%
-  %
-  \parsearg\domultitable
-}
-\def\domultitable#1{%
-  % To parse everything between @multitable and @item:
-  \setuptable#1 \endsetuptable
-  %
-  % This preamble sets up a generic column definition, which will
-  % be used as many times as user calls for columns.
-  % \vtop will set a single line and will also let text wrap and
-  % continue for many paragraphs if desired.
-  \halign\bgroup &%
-    \global\advance\colcount by 1
-    \multistrut
-    \vtop{%
-      % Use the current \colcount to find the correct column width:
-      \hsize=\expandafter\csname col\the\colcount\endcsname
-      %
-      % In order to keep entries from bumping into each other
-      % we will add a \leftskip of \multitablecolspace to all columns after
-      % the first one.
-      %
-      % If a template has been used, we will add \multitablecolspace
-      % to the width of each template entry.
-      %
-      % If the user has set preamble in terms of percent of \hsize we will
-      % use that dimension as the width of the column, and the \leftskip
-      % will keep entries from bumping into each other.  Table will start at
-      % left margin and final column will justify at right margin.
-      %
-      % Make sure we don't inherit \rightskip from the outer environment.
-      \rightskip=0pt
-      \ifnum\colcount=1
-       % The first column will be indented with the surrounding text.
-       \advance\hsize by\leftskip
-      \else
-       \ifsetpercent \else
-         % If user has not set preamble in terms of percent of \hsize
-         % we will advance \hsize by \multitablecolspace.
-         \advance\hsize by \multitablecolspace
-       \fi
-       % In either case we will make \leftskip=\multitablecolspace:
-      \leftskip=\multitablecolspace
-      \fi
-      % Ignoring space at the beginning and end avoids an occasional spurious
-      % blank line, when TeX decides to break the line at the space before the
-      % box from the multistrut, so the strut ends up on a line by itself.
-      % For example:
-      % @multitable @columnfractions .11 .89
-      % @item @code{#}
-      % @tab Legal holiday which is valid in major parts of the whole country.
-      % Is automatically provided with highlighting sequences respectively
-      % marking characters.
-      \noindent\ignorespaces##\unskip\multistrut
-    }\cr
-}
-\def\Emultitable{%
-  \crcr
-  \egroup % end the \halign
-  \global\setpercentfalse
-}
-
-\def\setmultitablespacing{%
-  \def\multistrut{\strut}% just use the standard line spacing
-  %
-  % Compute \multitablelinespace (if not defined by user) for use in
-  % \multitableparskip calculation.  We used define \multistrut based on
-  % this, but (ironically) that caused the spacing to be off.
-  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
-\ifdim\multitablelinespace=0pt
-\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
-\global\advance\multitablelinespace by-\ht0
-\fi
-%% Test to see if parskip is larger than space between lines of
-%% table. If not, do nothing.
-%%        If so, set to same dimension as multitablelinespace.
-\ifdim\multitableparskip>\multitablelinespace
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
-\fi%
-\ifdim\multitableparskip=0pt
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
-\fi}
-
-
-\message{conditionals,}
-
-% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
-% @ifnotxml always succeed.  They currently do nothing; we don't
-% attempt to check whether the conditionals are properly nested.  But we
-% have to remember that they are conditionals, so that @end doesn't
-% attempt to close an environment group.
-%
-\def\makecond#1{%
-  \expandafter\let\csname #1\endcsname = \relax
-  \expandafter\let\csname iscond.#1\endcsname = 1
-}
-\makecond{iftex}
-\makecond{ifnotdocbook}
-\makecond{ifnothtml}
-\makecond{ifnotinfo}
-\makecond{ifnotplaintext}
-\makecond{ifnotxml}
-
-% Ignore @ignore, @ifhtml, @ifinfo, and the like.
-%
-\def\direntry{\doignore{direntry}}
-\def\documentdescription{\doignore{documentdescription}}
-\def\docbook{\doignore{docbook}}
-\def\html{\doignore{html}}
-\def\ifdocbook{\doignore{ifdocbook}}
-\def\ifhtml{\doignore{ifhtml}}
-\def\ifinfo{\doignore{ifinfo}}
-\def\ifnottex{\doignore{ifnottex}}
-\def\ifplaintext{\doignore{ifplaintext}}
-\def\ifxml{\doignore{ifxml}}
-\def\ignore{\doignore{ignore}}
-\def\menu{\doignore{menu}}
-\def\xml{\doignore{xml}}
-
-% Ignore text until a line `@end #1', keeping track of nested conditionals.
-%
-% A count to remember the depth of nesting.
-\newcount\doignorecount
-
-\def\doignore#1{\begingroup
-  % Scan in ``verbatim'' mode:
-  \catcode`\@ = \other
-  \catcode`\{ = \other
-  \catcode`\} = \other
-  %
-  % Make sure that spaces turn into tokens that match what \doignoretext wants.
-  \spaceisspace
-  %
-  % Count number of #1's that we've seen.
-  \doignorecount = 0
-  %
-  % Swallow text until we reach the matching `@end #1'.
-  \dodoignore{#1}%
-}
-
-{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
-  \obeylines %
-  %
-  \gdef\dodoignore#1{%
-    % #1 contains the command name as a string, e.g., `ifinfo'.
-    %
-    % Define a command to find the next `@end #1', which must be on a line
-    % by itself.
-    \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
-    % And this command to find another #1 command, at the beginning of a
-    % line.  (Otherwise, we would consider a line `@c @ifset', for
-    % example, to count as an @ifset for nesting.)
-    \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
-    %
-    % And now expand that command.
-    \obeylines %
-    \doignoretext ^^M%
-  }%
-}
-
-\def\doignoreyyy#1{%
-  \def\temp{#1}%
-  \ifx\temp\empty                      % Nothing found.
-    \let\next\doignoretextzzz
-  \else                                        % Found a nested condition, ...
-    \advance\doignorecount by 1
-    \let\next\doignoretextyyy          % ..., look for another.
-    % If we're here, #1 ends with ^^M\ifinfo (for example).
-  \fi
-  \next #1% the token \_STOP_ is present just after this macro.
-}
-
-% We have to swallow the remaining "\_STOP_".
-%
-\def\doignoretextzzz#1{%
-  \ifnum\doignorecount = 0     % We have just found the outermost @end.
-    \let\next\enddoignore
-  \else                                % Still inside a nested condition.
-    \advance\doignorecount by -1
-    \let\next\doignoretext      % Look for the next @end.
-  \fi
-  \next
-}
-
-% Finish off ignored text.
-\def\enddoignore{\endgroup\ignorespaces}
-
-
-% @set VAR sets the variable VAR to an empty value.
-% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
-%
-% Since we want to separate VAR from REST-OF-LINE (which might be
-% empty), we can't just use \parsearg; we have to insert a space of our
-% own to delimit the rest of the line, and then take it out again if we
-% didn't need it.
-% We rely on the fact that \parsearg sets \catcode`\ =10.
-%
-\parseargdef\set{\setyyy#1 \endsetyyy}
-\def\setyyy#1 #2\endsetyyy{%
-  {%
-    \makevalueexpandable
-    \def\temp{#2}%
-    \edef\next{\gdef\makecsname{SET#1}}%
-    \ifx\temp\empty
-      \next{}%
-    \else
-      \setzzz#2\endsetzzz
-    \fi
-  }%
-}
-% Remove the trailing space \setxxx inserted.
-\def\setzzz#1 \endsetzzz{\next{#1}}
-
-% @clear VAR clears (i.e., unsets) the variable VAR.
-%
-\parseargdef\clear{%
-  {%
-    \makevalueexpandable
-    \global\expandafter\let\csname SET#1\endcsname=\relax
-  }%
-}
-
-% @value{foo} gets the text saved in variable foo.
-\def\value{\begingroup\makevalueexpandable\valuexxx}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
-{
-  \catcode`\- = \active \catcode`\_ = \active
-  %
-  \gdef\makevalueexpandable{%
-    \let\value = \expandablevalue
-    % We don't want these characters active, ...
-    \catcode`\-=\other \catcode`\_=\other
-    % ..., but we might end up with active ones in the argument if
-    % we're called from @code, as @code{@value{foo-bar_}}, though.
-    % So \let them to their normal equivalents.
-    \let-\realdash \let_\normalunderscore
-  }
-}
-
-% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we call \makevalueexpandable in \indexdummies).
-% The command has to be fully expandable (if the variable is set), since
-% the result winds up in the index file.  This means that if the
-% variable's value contains other Texinfo commands, it's almost certain
-% it will fail (although perhaps we could fix that with sufficient work
-% to do a one-level expansion on the result, instead of complete).
-%
-\def\expandablevalue#1{%
-  \expandafter\ifx\csname SET#1\endcsname\relax
-    {[No value for ``#1'']}%
-    \message{Variable `#1', used in @value, is not set.}%
-  \else
-    \csname SET#1\endcsname
-  \fi
-}
-
-% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
-% with @set.
-%
-% To get special treatment of `@end ifset,' call \makeond and the redefine.
-%
-\makecond{ifset}
-\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
-\def\doifset#1#2{%
-  {%
-    \makevalueexpandable
-    \let\next=\empty
-    \expandafter\ifx\csname SET#2\endcsname\relax
-      #1% If not set, redefine \next.
-    \fi
-    \expandafter
-  }\next
-}
-\def\ifsetfail{\doignore{ifset}}
-
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
-% defined with @set, or has been undefined with @clear.
-%
-% The `\else' inside the `\doifset' parameter is a trick to reuse the
-% above code: if the variable is not set, do nothing, if it is set,
-% then redefine \next to \ifclearfail.
-%
-\makecond{ifclear}
-\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
-\def\ifclearfail{\doignore{ifclear}}
-
-% @dircategory CATEGORY  -- specify a category of the dir file
-% which this file should belong to.  Ignore this in TeX.
-\let\dircategory=\comment
-
-% @defininfoenclose.
-\let\definfoenclose=\comment
-
-
-\message{indexing,}
-% Index generation facilities
-
-% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within macros and \if's.
-\edef\newwrite{\makecsname{ptexnewwrite}}
-
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index.  The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
-%
-\def\newindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-  \fi
-  \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
-    \noexpand\doindex{#1}}
-}
-
-% @defindex foo  ==  \newindex{foo}
-%
-\def\defindex{\parsearg\newindex}
-
-% Define @defcodeindex, like @defindex except put all entries in @code.
-%
-\def\defcodeindex{\parsearg\newcodeindex}
-%
-\def\newcodeindex#1{%
-  \iflinks
-    \expandafter\newwrite \csname#1indfile\endcsname
-    \openout \csname#1indfile\endcsname \jobname.#1
-  \fi
-  \expandafter\xdef\csname#1index\endcsname{%
-    \noexpand\docodeindex{#1}}%
-}
-
-
-% @synindex foo bar    makes index foo feed into index bar.
-% Do this instead of @defindex foo if you don't want it as a separate index.
-%
-% @syncodeindex foo bar   similar, but put all entries made for index foo
-% inside @code.
-%
-\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
-\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
-
-% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
-% #3 the target index (bar).
-\def\dosynindex#1#2#3{%
-  % Only do \closeout if we haven't already done it, else we'll end up
-  % closing the target index.
-  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
-    % The \closeout helps reduce unnecessary open files; the limit on the
-    % Acorn RISC OS is a mere 16 files.
-    \expandafter\closeout\csname#2indfile\endcsname
-    \expandafter\let\csname\donesynindex#2\endcsname = 1
-  \fi
-  % redefine \fooindfile:
-  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
-  \expandafter\let\csname#2indfile\endcsname=\temp
-  % redefine \fooindex:
-  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
-}
-
-% Define \doindex, the driver for all \fooindex macros.
-% Argument #1 is generated by the calling \fooindex macro,
-%  and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
-
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
-
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-% Take care of Texinfo commands that can appear in an index entry.
-% Since there are some commands we want to expand, and others we don't,
-% we have to laboriously prevent expansion for those that we don't.
-%
-\def\indexdummies{%
-  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
-  \def\ {\realbackslash\space }%
-  % Need these in case \tex is in effect and \{ is a \delimiter again.
-  % But can't use \lbracecmd and \rbracecmd because texindex assumes
-  % braces and backslashes are used only as delimiters.
-  \let\{ = \mylbrace
-  \let\} = \myrbrace
-  %
-  % \definedummyword defines \#1 as \realbackslash #1\space, thus
-  % effectively preventing its expansion.  This is used only for control
-  % words, not control letters, because the \space would be incorrect
-  % for control characters, but is needed to separate the control word
-  % from whatever follows.
-  %
-  % For control letters, we have \definedummyletter, which omits the
-  % space.
-  %
-  % These can be used both for control words that take an argument and
-  % those that do not.  If it is followed by {arg} in the input, then
-  % that will dutifully get written to the index (or wherever).
-  %
-  \def\definedummyword##1{%
-    \expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}%
-  }%
-  \def\definedummyletter##1{%
-    \expandafter\def\csname ##1\endcsname{\realbackslash ##1}%
-  }%
-  \let\definedummyaccent\definedummyletter
-  %
-  % Do the redefinitions.
-  \commondummies
-}
-
-% For the aux file, @ is the escape character.  So we want to redefine
-% everything using @ instead of \realbackslash.  When everything uses
-% @, this will be simpler.
-%
-\def\atdummies{%
-  \def\@{@@}%
-  \def\ {@ }%
-  \let\{ = \lbraceatcmd
-  \let\} = \rbraceatcmd
-  %
-  % (See comments in \indexdummies.)
-  \def\definedummyword##1{%
-    \expandafter\def\csname ##1\endcsname{@##1\space}%
-  }%
-  \def\definedummyletter##1{%
-    \expandafter\def\csname ##1\endcsname{@##1}%
-  }%
-  \let\definedummyaccent\definedummyletter
-  %
-  % Do the redefinitions.
-  \commondummies
-}
-
-% Called from \indexdummies and \atdummies.  \definedummyword and
-% \definedummyletter must be defined first.
-%
-\def\commondummies{%
-  %
-  \normalturnoffactive
-  %
-  \commondummiesnofonts
-  %
-  \definedummyletter{_}%
-  %
-  % Non-English letters.
-  \definedummyword{AA}%
-  \definedummyword{AE}%
-  \definedummyword{L}%
-  \definedummyword{OE}%
-  \definedummyword{O}%
-  \definedummyword{aa}%
-  \definedummyword{ae}%
-  \definedummyword{l}%
-  \definedummyword{oe}%
-  \definedummyword{o}%
-  \definedummyword{ss}%
-  \definedummyword{exclamdown}%
-  \definedummyword{questiondown}%
-  \definedummyword{ordf}%
-  \definedummyword{ordm}%
-  %
-  % Although these internal commands shouldn't show up, sometimes they do.
-  \definedummyword{bf}%
-  \definedummyword{gtr}%
-  \definedummyword{hat}%
-  \definedummyword{less}%
-  \definedummyword{sf}%
-  \definedummyword{sl}%
-  \definedummyword{tclose}%
-  \definedummyword{tt}%
-  %
-  \definedummyword{LaTeX}%
-  \definedummyword{TeX}%
-  %
-  % Assorted special characters.
-  \definedummyword{bullet}%
-  \definedummyword{comma}%
-  \definedummyword{copyright}%
-  \definedummyword{registeredsymbol}%
-  \definedummyword{dots}%
-  \definedummyword{enddots}%
-  \definedummyword{equiv}%
-  \definedummyword{error}%
-  \definedummyword{euro}%
-  \definedummyword{expansion}%
-  \definedummyword{minus}%
-  \definedummyword{pounds}%
-  \definedummyword{point}%
-  \definedummyword{print}%
-  \definedummyword{result}%
-  %
-  % Handle some cases of @value -- where it does not contain any
-  % (non-fully-expandable) commands.
-  \makevalueexpandable
-  %
-  % Normal spaces, not active ones.
-  \unsepspaces
-  %
-  % No macro expansion.
-  \turnoffmacros
-}
-
-% \commondummiesnofonts: common to \commondummies and \indexnofonts.
-%
-% Better have this without active chars.
-{
-  \catcode`\~=\other
-  \gdef\commondummiesnofonts{%
-    % Control letters and accents.
-    \definedummyletter{!}%
-    \definedummyaccent{"}%
-    \definedummyaccent{'}%
-    \definedummyletter{*}%
-    \definedummyaccent{,}%
-    \definedummyletter{.}%
-    \definedummyletter{/}%
-    \definedummyletter{:}%
-    \definedummyaccent{=}%
-    \definedummyletter{?}%
-    \definedummyaccent{^}%
-    \definedummyaccent{`}%
-    \definedummyaccent{~}%
-    \definedummyword{u}%
-    \definedummyword{v}%
-    \definedummyword{H}%
-    \definedummyword{dotaccent}%
-    \definedummyword{ringaccent}%
-    \definedummyword{tieaccent}%
-    \definedummyword{ubaraccent}%
-    \definedummyword{udotaccent}%
-    \definedummyword{dotless}%
-    %
-    % Texinfo font commands.
-    \definedummyword{b}%
-    \definedummyword{i}%
-    \definedummyword{r}%
-    \definedummyword{sc}%
-    \definedummyword{t}%
-    %
-    % Commands that take arguments.
-    \definedummyword{acronym}%
-    \definedummyword{cite}%
-    \definedummyword{code}%
-    \definedummyword{command}%
-    \definedummyword{dfn}%
-    \definedummyword{emph}%
-    \definedummyword{env}%
-    \definedummyword{file}%
-    \definedummyword{kbd}%
-    \definedummyword{key}%
-    \definedummyword{math}%
-    \definedummyword{option}%
-    \definedummyword{samp}%
-    \definedummyword{strong}%
-    \definedummyword{tie}%
-    \definedummyword{uref}%
-    \definedummyword{url}%
-    \definedummyword{var}%
-    \definedummyword{verb}%
-    \definedummyword{w}%
-  }
-}
-
-% \indexnofonts is used when outputting the strings to sort the index
-% by, and when constructing control sequence names.  It eliminates all
-% control sequences and just writes whatever the best ASCII sort string
-% would be for a given command (usually its argument).
-%
-\def\indexnofonts{%
-  % Accent commands should become @asis.
-  \def\definedummyaccent##1{%
-    \expandafter\let\csname ##1\endcsname\asis
-  }%
-  % We can just ignore other control letters.
-  \def\definedummyletter##1{%
-    \expandafter\def\csname ##1\endcsname{}%
-  }%
-  % Hopefully, all control words can become @asis.
-  \let\definedummyword\definedummyaccent
-  %
-  \commondummiesnofonts
-  %
-  % Don't no-op \tt, since it isn't a user-level command
-  % and is used in the definitions of the active chars like <, >, |, etc.
-  % Likewise with the other plain tex font commands.
-  %\let\tt=\asis
-  %
-  \def\ { }%
-  \def\@{@}%
-  % how to handle braces?
-  \def\_{\normalunderscore}%
-  %
-  % Non-English letters.
-  \def\AA{AA}%
-  \def\AE{AE}%
-  \def\L{L}%
-  \def\OE{OE}%
-  \def\O{O}%
-  \def\aa{aa}%
-  \def\ae{ae}%
-  \def\l{l}%
-  \def\oe{oe}%
-  \def\o{o}%
-  \def\ss{ss}%
-  \def\exclamdown{!}%
-  \def\questiondown{?}%
-  \def\ordf{a}%
-  \def\ordm{o}%
-  %
-  \def\LaTeX{LaTeX}%
-  \def\TeX{TeX}%
-  %
-  % Assorted special characters.
-  % (The following {} will end up in the sort string, but that's ok.)
-  \def\bullet{bullet}%
-  \def\comma{,}%
-  \def\copyright{copyright}%
-  \def\registeredsymbol{R}%
-  \def\dots{...}%
-  \def\enddots{...}%
-  \def\equiv{==}%
-  \def\error{error}%
-  \def\euro{euro}%
-  \def\expansion{==>}%
-  \def\minus{-}%
-  \def\pounds{pounds}%
-  \def\point{.}%
-  \def\print{-|}%
-  \def\result{=>}%
-  %
-  % Don't write macro names.
-  \emptyusermacros
-}
-
-\let\indexbackslash=0  %overridden during \printindex.
-\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-
-% Most index entries go through here, but \dosubind is the general case.
-% #1 is the index name, #2 is the entry text.
-\def\doind#1#2{\dosubind{#1}{#2}{}}
-
-% Workhorse for all \fooindexes.
-% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% empty if called from \doind, as we usually are (the main exception
-% is with most defuns, which call us directly).
-%
-\def\dosubind#1#2#3{%
-  \iflinks
-  {%
-    % Store the main index entry text (including the third arg).
-    \toks0 = {#2}%
-    % If third arg is present, precede it with a space.
-    \def\thirdarg{#3}%
-    \ifx\thirdarg\empty \else
-      \toks0 = \expandafter{\the\toks0 \space #3}%
-    \fi
-    %
-    \edef\writeto{\csname#1indfile\endcsname}%
-    %
-    \ifvmode
-      \dosubindsanitize
-    \else
-      \dosubindwrite
-    \fi
-  }%
-  \fi
-}
-
-% Write the entry in \toks0 to the index file:
-%
-\def\dosubindwrite{%
-  % Put the index entry in the margin if desired.
-  \ifx\SETmarginindex\relax\else
-    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
-  \fi
-  %
-  % Remember, we are within a group.
-  \indexdummies % Must do this here, since \bf, etc expand at this stage
-  \escapechar=`\\
-  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
-      % so it will be output as is; and it will print as backslash.
-  %
-  % Process the index entry with all font commands turned off, to
-  % get the string to sort by.
-  {\indexnofonts
-   \edef\temp{\the\toks0}% need full expansion
-   \xdef\indexsorttmp{\temp}%
-  }%
-  %
-  % Set up the complete index entry, with both the sort key and
-  % the original text, including any font commands.  We write
-  % three arguments to \entry to the .?? file (four in the
-  % subentry case), texindex reduces to two when writing the .??s
-  % sorted result.
-  \edef\temp{%
-    \write\writeto{%
-      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
-  }%
-  \temp
-}
-
-% Take care of unwanted page breaks:
-%
-% If a skip is the last thing on the list now, preserve it
-% by backing up by \lastskip, doing the \write, then inserting
-% the skip again.  Otherwise, the whatsit generated by the
-% \write will make \lastskip zero.  The result is that sequences
-% like this:
-% @end defun
-% @tindex whatever
-% @defun ...
-% will have extra space inserted, because the \medbreak in the
-% start of the @defun won't see the skip inserted by the @end of
-% the previous defun.
-%
-% But don't do any of this if we're not in vertical mode.  We
-% don't want to do a \vskip and prematurely end a paragraph.
-%
-% Avoid page breaks due to these extra skips, too.
-%
-% But wait, there is a catch there:
-% We'll have to check whether \lastskip is zero skip.  \ifdim is not
-% sufficient for this purpose, as it ignores stretch and shrink parts
-% of the skip.  The only way seems to be to check the textual
-% representation of the skip.
-%
-% The following is almost like \def\zeroskipmacro{0.0pt} except that
-% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
-%
-\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
-%
-% ..., ready, GO:
-%
-\def\dosubindsanitize{%
-  % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
-  \skip0 = \lastskip
-  \edef\lastskipmacro{\the\lastskip}%
-  \count255 = \lastpenalty
-  %
-  % If \lastskip is nonzero, that means the last item was a
-  % skip.  And since a skip is discardable, that means this
-  % -\skip0 glue we're inserting is preceded by a
-  % non-discardable item, therefore it is not a potential
-  % breakpoint, therefore no \nobreak needed.
-  \ifx\lastskipmacro\zeroskipmacro
-  \else
-    \vskip-\skip0
-  \fi
-  %
-  \dosubindwrite
-  %
-  \ifx\lastskipmacro\zeroskipmacro
-    % If \lastskip was zero, perhaps the last item was a penalty, and
-    % perhaps it was >=10000, e.g., a \nobreak.  In that case, we want
-    % to re-insert the same penalty (values >10000 are used for various
-    % signals); since we just inserted a non-discardable item, any
-    % following glue (such as a \parskip) would be a breakpoint.  For example:
-    % 
-    %   @deffn deffn-whatever
-    %   @vindex index-whatever
-    %   Description.
-    % would allow a break between the index-whatever whatsit
-    % and the "Description." paragraph.
-    \ifnum\count255>9999 \penalty\count255 \fi
-  \else
-    % On the other hand, if we had a nonzero \lastskip,
-    % this make-up glue would be preceded by a non-discardable item
-    % (the whatsit from the \write), so we must insert a \nobreak.
-    \nobreak\vskip\skip0
-  \fi
-}
-
-% The index entry written in the file actually looks like
-%  \entry {sortstring}{page}{topic}
-% or
-%  \entry {sortstring}{page}{topic}{subtopic}
-% The texindex program reads in these files and writes files
-% containing these kinds of lines:
-%  \initial {c}
-%     before the first topic whose initial is c
-%  \entry {topic}{pagelist}
-%     for a topic that is used without subtopics
-%  \primary {topic}
-%     for the beginning of a topic that is used with subtopics
-%  \secondary {subtopic}{pagelist}
-%     for each subtopic.
-
-% Define the user-accessible indexing commands
-% @findex, @vindex, @kindex, @cindex.
-
-\def\findex {\fnindex}
-\def\kindex {\kyindex}
-\def\cindex {\cpindex}
-\def\vindex {\vrindex}
-\def\tindex {\tpindex}
-\def\pindex {\pgindex}
-
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
-% Define the macros used in formatting output of the sorted index material.
-
-% @printindex causes a particular index (the ??s file) to get printed.
-% It does not print any chapter heading (usually an @unnumbered).
-%
-\parseargdef\printindex{\begingroup
-  \dobreak \chapheadingskip{10000}%
-  %
-  \smallfonts \rm
-  \tolerance = 9500
-  \everypar = {}% don't want the \kern\-parindent from indentation suppression.
-  %
-  % See if the index file exists and is nonempty.
-  % Change catcode of @ here so that if the index file contains
-  % \initial {@}
-  % as its first line, TeX doesn't complain about mismatched braces
-  % (because it thinks @} is a control sequence).
-  \catcode`\@ = 11
-  \openin 1 \jobname.#1s
-  \ifeof 1
-    % \enddoublecolumns gets confused if there is no text in the index,
-    % and it loses the chapter title and the aux file entries for the
-    % index.  The easiest way to prevent this problem is to make sure
-    % there is some text.
-    \putwordIndexNonexistent
-  \else
-    %
-    % If the index file exists but is empty, then \openin leaves \ifeof
-    % false.  We have to make TeX try to read something from the file, so
-    % it can discover if there is anything in it.
-    \read 1 to \temp
-    \ifeof 1
-      \putwordIndexIsEmpty
-    \else
-      % Index files are almost Texinfo source, but we use \ as the escape
-      % character.  It would be better to use @, but that's too big a change
-      % to make right now.
-      \def\indexbackslash{\backslashcurfont}%
-      \catcode`\\ = 0
-      \escapechar = `\\
-      \begindoublecolumns
-      \input \jobname.#1s
-      \enddoublecolumns
-    \fi
-  \fi
-  \closein 1
-\endgroup}
-
-% These macros are used by the sorted index file itself.
-% Change them to control the appearance of the index.
-
-\def\initial#1{{%
-  % Some minor font changes for the special characters.
-  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-  %
-  % Remove any glue we may have, we'll be inserting our own.
-  \removelastskip
-  %
-  % We like breaks before the index initials, so insert a bonus.
-  \nobreak
-  \vskip 0pt plus 3\baselineskip
-  \penalty 0
-  \vskip 0pt plus -3\baselineskip
-  %
-  % Typeset the initial.  Making this add up to a whole number of
-  % baselineskips increases the chance of the dots lining up from column
-  % to column.  It still won't often be perfect, because of the stretch
-  % we need before each entry, but it's better.
-  %
-  % No shrink because it confuses \balancecolumns.
-  \vskip 1.67\baselineskip plus .5\baselineskip
-  \leftline{\secbf #1}%
-  % Do our best not to break after the initial.
-  \nobreak
-  \vskip .33\baselineskip plus .1\baselineskip
-}}
-
-% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
-% then page number (#2) flushed to the right margin.  It is used for index
-% and table of contents entries.  The paragraph is indented by \leftskip.
-%
-% A straightforward implementation would start like this:
-%      \def\entry#1#2{...
-% But this frozes the catcodes in the argument, and can cause problems to
-% @code, which sets - active.  This problem was fixed by a kludge---
-% ``-'' was active throughout whole index, but this isn't really right.
-%
-% The right solution is to prevent \entry from swallowing the whole text.
-%                                 --kasal, 21nov03
-\def\entry{%
-  \begingroup
-    %
-    % Start a new paragraph if necessary, so our assignments below can't
-    % affect previous text.
-    \par
-    %
-    % Do not fill out the last line with white space.
-    \parfillskip = 0in
-    %
-    % No extra space above this paragraph.
-    \parskip = 0in
-    %
-    % Do not prefer a separate line ending with a hyphen to fewer lines.
-    \finalhyphendemerits = 0
-    %
-    % \hangindent is only relevant when the entry text and page number
-    % don't both fit on one line.  In that case, bob suggests starting the
-    % dots pretty far over on the line.  Unfortunately, a large
-    % indentation looks wrong when the entry text itself is broken across
-    % lines.  So we use a small indentation and put up with long leaders.
-    %
-    % \hangafter is reset to 1 (which is the value we want) at the start
-    % of each paragraph, so we need not do anything with that.
-    \hangindent = 2em
-    %
-    % When the entry text needs to be broken, just fill out the first line
-    % with blank space.
-    \rightskip = 0pt plus1fil
-    %
-    % A bit of stretch before each entry for the benefit of balancing
-    % columns.
-    \vskip 0pt plus1pt
-    %
-    % Swallow the left brace of the text (first parameter):
-    \afterassignment\doentry
-    \let\temp =
-}
-\def\doentry{%
-    \bgroup % Instead of the swallowed brace.
-      \noindent
-      \aftergroup\finishentry
-      % And now comes the text of the entry.
-}
-\def\finishentry#1{%
-    % #1 is the page number.
-    %
-    % The following is kludged to not output a line of dots in the index if
-    % there are no page numbers.  The next person who breaks this will be
-    % cursed by a Unix daemon.
-    \def\tempa{{\rm }}%
-    \def\tempb{#1}%
-    \edef\tempc{\tempa}%
-    \edef\tempd{\tempb}%
-    \ifx\tempc\tempd
-      \ %
-    \else
-      %
-      % If we must, put the page number on a line of its own, and fill out
-      % this line with blank space.  (The \hfil is overwhelmed with the
-      % fill leaders glue in \indexdotfill if the page number does fit.)
-      \hfil\penalty50
-      \null\nobreak\indexdotfill % Have leaders before the page number.
-      %
-      % The `\ ' here is removed by the implicit \unskip that TeX does as
-      % part of (the primitive) \par.  Without it, a spurious underfull
-      % \hbox ensues.
-      \ifpdf
-       \pdfgettoks#1.%
-       \ \the\toksA
-      \else
-       \ #1%
-      \fi
-    \fi
-    \par
-  \endgroup
-}
-
-% Like \dotfill except takes at least 1 em.
-\def\indexdotfill{\cleaders
-  \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
-
-\def\primary #1{\line{#1\hfil}}
-
-\newskip\secondaryindent \secondaryindent=0.5cm
-\def\secondary#1#2{{%
-  \parfillskip=0in
-  \parskip=0in
-  \hangindent=1in
-  \hangafter=1
-  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
-  \ifpdf
-    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
-  \else
-    #2
-  \fi
-  \par
-}}
-
-% Define two-column mode, which we use to typeset indexes.
-% Adapted from the TeXbook, page 416, which is to say,
-% the manmac.tex format used to print the TeXbook itself.
-\catcode`\@=11
-
-\newbox\partialpage
-\newdimen\doublecolumnhsize
-
-\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
-  % Grab any single-column material above us.
-  \output = {%
-    %
-    % Here is a possibility not foreseen in manmac: if we accumulate a
-    % whole lot of material, we might end up calling this \output
-    % routine twice in a row (see the doublecol-lose test, which is
-    % essentially a couple of indexes with @setchapternewpage off).  In
-    % that case we just ship out what is in \partialpage with the normal
-    % output routine.  Generally, \partialpage will be empty when this
-    % runs and this will be a no-op.  See the indexspread.tex test case.
-    \ifvoid\partialpage \else
-      \onepageout{\pagecontents\partialpage}%
-    \fi
-    %
-    \global\setbox\partialpage = \vbox{%
-      % Unvbox the main output page.
-      \unvbox\PAGE
-      \kern-\topskip \kern\baselineskip
-    }%
-  }%
-  \eject % run that output routine to set \partialpage
-  %
-  % Use the double-column output routine for subsequent pages.
-  \output = {\doublecolumnout}%
-  %
-  % Change the page size parameters.  We could do this once outside this
-  % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
-  % format, but then we repeat the same computation.  Repeating a couple
-  % of assignments once per index is clearly meaningless for the
-  % execution time, so we may as well do it in one place.
-  %
-  % First we halve the line length, less a little for the gutter between
-  % the columns.  We compute the gutter based on the line length, so it
-  % changes automatically with the paper format.  The magic constant
-  % below is chosen so that the gutter has the same value (well, +-<1pt)
-  % as it did when we hard-coded it.
-  %
-  % We put the result in a separate register, \doublecolumhsize, so we
-  % can restore it in \pagesofar, after \hsize itself has (potentially)
-  % been clobbered.
-  %
-  \doublecolumnhsize = \hsize
-    \advance\doublecolumnhsize by -.04154\hsize
-    \divide\doublecolumnhsize by 2
-  \hsize = \doublecolumnhsize
-  %
-  % Double the \vsize as well.  (We don't need a separate register here,
-  % since nobody clobbers \vsize.)
-  \vsize = 2\vsize
-}
-
-% The double-column output routine for all double-column pages except
-% the last.
-%
-\def\doublecolumnout{%
-  \splittopskip=\topskip \splitmaxdepth=\maxdepth
-  % Get the available space for the double columns -- the normal
-  % (undoubled) page height minus any material left over from the
-  % previous page.
-  \dimen@ = \vsize
-  \divide\dimen@ by 2
-  \advance\dimen@ by -\ht\partialpage
-  %
-  % box0 will be the left-hand column, box2 the right.
-  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-  \onepageout\pagesofar
-  \unvbox255
-  \penalty\outputpenalty
-}
-%
-% Re-output the contents of the output page -- any previous material,
-% followed by the two boxes we just split, in box0 and box2.
-\def\pagesofar{%
-  \unvbox\partialpage
-  %
-  \hsize = \doublecolumnhsize
-  \wd0=\hsize \wd2=\hsize
-  \hbox to\pagewidth{\box0\hfil\box2}%
-}
-%
-% All done with double columns.
-\def\enddoublecolumns{%
-  \output = {%
-    % Split the last of the double-column material.  Leave it on the
-    % current page, no automatic page break.
-    \balancecolumns
-    %
-    % If we end up splitting too much material for the current page,
-    % though, there will be another page break right after this \output
-    % invocation ends.  Having called \balancecolumns once, we do not
-    % want to call it again.  Therefore, reset \output to its normal
-    % definition right away.  (We hope \balancecolumns will never be
-    % called on to balance too much material, but if it is, this makes
-    % the output somewhat more palatable.)
-    \global\output = {\onepageout{\pagecontents\PAGE}}%
-  }%
-  \eject
-  \endgroup % started in \begindoublecolumns
-  %
-  % \pagegoal was set to the doubled \vsize above, since we restarted
-  % the current page.  We're now back to normal single-column
-  % typesetting, so reset \pagegoal to the normal \vsize (after the
-  % \endgroup where \vsize got restored).
-  \pagegoal = \vsize
-}
-%
-% Called at the end of the double column material.
-\def\balancecolumns{%
-  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
-  \dimen@ = \ht0
-  \advance\dimen@ by \topskip
-  \advance\dimen@ by-\baselineskip
-  \divide\dimen@ by 2 % target to split to
-  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
-  \splittopskip = \topskip
-  % Loop until we get a decent breakpoint.
-  {%
-    \vbadness = 10000
-    \loop
-      \global\setbox3 = \copy0
-      \global\setbox1 = \vsplit3 to \dimen@
-    \ifdim\ht3>\dimen@
-      \global\advance\dimen@ by 1pt
-    \repeat
-  }%
-  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
-  \setbox0=\vbox to\dimen@{\unvbox1}%
-  \setbox2=\vbox to\dimen@{\unvbox3}%
-  %
-  \pagesofar
-}
-\catcode`\@ = \other
-
-
-\message{sectioning,}
-% Chapters, sections, etc.
-
-% \unnumberedno is an oxymoron, of course.  But we count the unnumbered
-% sections so that we can refer to them unambiguously in the pdf
-% outlines by their "section number".  We avoid collisions with chapter
-% numbers by starting them at 10000.  (If a document ever has 10000
-% chapters, we're in trouble anyway, I'm sure.)
-\newcount\unnumberedno \unnumberedno = 10000
-\newcount\chapno
-\newcount\secno        \secno=0
-\newcount\subsecno     \subsecno=0
-\newcount\subsubsecno  \subsubsecno=0
-
-% This counter is funny since it counts through charcodes of letters A, B, ...
-\newcount\appendixno  \appendixno = `\@
-%
-% \def\appendixletter{\char\the\appendixno}
-% We do the following ugly conditional instead of the above simple
-% construct for the sake of pdftex, which needs the actual
-% letter in the expansion, not just typeset.
-%
-\def\appendixletter{%
-  \ifnum\appendixno=`A A%
-  \else\ifnum\appendixno=`B B%
-  \else\ifnum\appendixno=`C C%
-  \else\ifnum\appendixno=`D D%
-  \else\ifnum\appendixno=`E E%
-  \else\ifnum\appendixno=`F F%
-  \else\ifnum\appendixno=`G G%
-  \else\ifnum\appendixno=`H H%
-  \else\ifnum\appendixno=`I I%
-  \else\ifnum\appendixno=`J J%
-  \else\ifnum\appendixno=`K K%
-  \else\ifnum\appendixno=`L L%
-  \else\ifnum\appendixno=`M M%
-  \else\ifnum\appendixno=`N N%
-  \else\ifnum\appendixno=`O O%
-  \else\ifnum\appendixno=`P P%
-  \else\ifnum\appendixno=`Q Q%
-  \else\ifnum\appendixno=`R R%
-  \else\ifnum\appendixno=`S S%
-  \else\ifnum\appendixno=`T T%
-  \else\ifnum\appendixno=`U U%
-  \else\ifnum\appendixno=`V V%
-  \else\ifnum\appendixno=`W W%
-  \else\ifnum\appendixno=`X X%
-  \else\ifnum\appendixno=`Y Y%
-  \else\ifnum\appendixno=`Z Z%
-  % The \the is necessary, despite appearances, because \appendixletter is
-  % expanded while writing the .toc file.  \char\appendixno is not
-  % expandable, thus it is written literally, thus all appendixes come out
-  % with the same letter (or @) in the toc without it.
-  \else\char\the\appendixno
-  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-
-% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it.  @section does likewise.
-% However, they are not reliable, because we don't use marks.
-\def\thischapter{}
-\def\thissection{}
-
-\newcount\absseclevel % used to calculate proper heading level
-\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
-
-% @raisesections: treat @section as chapter, @subsection as section, etc.
-\def\raisesections{\global\advance\secbase by -1}
-\let\up=\raisesections % original BFox name
-
-% @lowersections: treat @chapter as section, @section as subsection, etc.
-\def\lowersections{\global\advance\secbase by 1}
-\let\down=\lowersections % original BFox name
-
-% we only have subsub.
-\chardef\maxseclevel = 3
-%
-% A numbered section within an unnumbered changes to unnumbered too.
-% To achive this, remember the "biggest" unnum. sec. we are currently in:
-\chardef\unmlevel = \maxseclevel
-%
-% Trace whether the current chapter is an appendix or not:
-% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
-\def\chapheadtype{N}
-
-% Choose a heading macro
-% #1 is heading type
-% #2 is heading level
-% #3 is text for heading
-\def\genhead#1#2#3{%
-  % Compute the abs. sec. level:
-  \absseclevel=#2
-  \advance\absseclevel by \secbase
-  % Make sure \absseclevel doesn't fall outside the range:
-  \ifnum \absseclevel < 0
-    \absseclevel = 0
-  \else
-    \ifnum \absseclevel > 3
-      \absseclevel = 3
-    \fi
-  \fi
-  % The heading type:
-  \def\headtype{#1}%
-  \if \headtype U%
-    \ifnum \absseclevel < \unmlevel
-      \chardef\unmlevel = \absseclevel
-    \fi
-  \else
-    % Check for appendix sections:
-    \ifnum \absseclevel = 0
-      \edef\chapheadtype{\headtype}%
-    \else
-      \if \headtype A\if \chapheadtype N%
-       \errmessage{@appendix... within a non-appendix chapter}%
-      \fi\fi
-    \fi
-    % Check for numbered within unnumbered:
-    \ifnum \absseclevel > \unmlevel
-      \def\headtype{U}%
-    \else
-      \chardef\unmlevel = 3
-    \fi
-  \fi
-  % Now print the heading:
-  \if \headtype U%
-    \ifcase\absseclevel
-       \unnumberedzzz{#3}%
-    \or \unnumberedseczzz{#3}%
-    \or \unnumberedsubseczzz{#3}%
-    \or \unnumberedsubsubseczzz{#3}%
-    \fi
-  \else
-    \if \headtype A%
-      \ifcase\absseclevel
-         \appendixzzz{#3}%
-      \or \appendixsectionzzz{#3}%
-      \or \appendixsubseczzz{#3}%
-      \or \appendixsubsubseczzz{#3}%
-      \fi
-    \else
-      \ifcase\absseclevel
-         \chapterzzz{#3}%
-      \or \seczzz{#3}%
-      \or \numberedsubseczzz{#3}%
-      \or \numberedsubsubseczzz{#3}%
-      \fi
-    \fi
-  \fi
-  \suppressfirstparagraphindent
-}
-
-% an interface:
-\def\numhead{\genhead N}
-\def\apphead{\genhead A}
-\def\unnmhead{\genhead U}
-
-% @chapter, @appendix, @unnumbered.  Increment top-level counter, reset
-% all lower-level sectioning counters to zero.
-%
-% Also set \chaplevelprefix, which we prepend to @float sequence numbers
-% (e.g., figures), q.v.  By default (before any chapter), that is empty.
-\let\chaplevelprefix = \empty
-%
-\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz#1{%
-  % section resetting is \global in case the chapter is in a group, such
-  % as an @include file.
-  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
-    \global\advance\chapno by 1
-  %
-  % Used for \float.
-  \gdef\chaplevelprefix{\the\chapno.}%
-  \resetallfloatnos
-  %
-  \message{\putwordChapter\space \the\chapno}%
-  %
-  % Write the actual heading.
-  \chapmacro{#1}{Ynumbered}{\the\chapno}%
-  %
-  % So @section and the like are numbered underneath this chapter.
-  \global\let\section = \numberedsec
-  \global\let\subsection = \numberedsubsec
-  \global\let\subsubsection = \numberedsubsubsec
-}
-
-\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
-\def\appendixzzz#1{%
-  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
-    \global\advance\appendixno by 1
-  \gdef\chaplevelprefix{\appendixletter.}%
-  \resetallfloatnos
-  %
-  \def\appendixnum{\putwordAppendix\space \appendixletter}%
-  \message{\appendixnum}%
-  %
-  \chapmacro{#1}{Yappendix}{\appendixletter}%
-  %
-  \global\let\section = \appendixsec
-  \global\let\subsection = \appendixsubsec
-  \global\let\subsubsection = \appendixsubsubsec
-}
-
-\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz#1{%
-  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
-    \global\advance\unnumberedno by 1
-  %
-  % Since an unnumbered has no number, no prefix for figures.
-  \global\let\chaplevelprefix = \empty
-  \resetallfloatnos
-  %
-  % This used to be simply \message{#1}, but TeX fully expands the
-  % argument to \message.  Therefore, if #1 contained @-commands, TeX
-  % expanded them.  For example, in `@unnumbered The @cite{Book}', TeX
-  % expanded @cite (which turns out to cause errors because \cite is meant
-  % to be executed, not expanded).
-  %
-  % Anyway, we don't want the fully-expanded definition of @cite to appear
-  % as a result of the \message, we just want `@cite' itself.  We use
-  % \the<toks register> to achieve this: TeX expands \the<toks> only once,
-  % simply yielding the contents of <toks register>.  (We also do this for
-  % the toc entries.)
-  \toks0 = {#1}%
-  \message{(\the\toks0)}%
-  %
-  \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
-  %
-  \global\let\section = \unnumberedsec
-  \global\let\subsection = \unnumberedsubsec
-  \global\let\subsubsection = \unnumberedsubsubsec
-}
-
-% @centerchap is like @unnumbered, but the heading is centered.
-\outer\parseargdef\centerchap{%
-  % Well, we could do the following in a group, but that would break
-  % an assumption that \chapmacro is called at the outermost level.
-  % Thus we are safer this way:                --kasal, 24feb04
-  \let\centerparametersmaybe = \centerparameters
-  \unnmhead0{#1}%
-  \let\centerparametersmaybe = \relax
-}
-
-% @top is like @unnumbered.
-\let\top\unnumbered
-
-% Sections.
-\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
-\def\seczzz#1{%
-  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
-  \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
-}
-
-\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz#1{%
-  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
-  \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
-}
-\let\appendixsec\appendixsection
-
-\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz#1{%
-  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
-  \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
-}
-
-% Subsections.
-\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz#1{%
-  \global\subsubsecno=0  \global\advance\subsecno by 1
-  \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
-}
-
-\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz#1{%
-  \global\subsubsecno=0  \global\advance\subsecno by 1
-  \sectionheading{#1}{subsec}{Yappendix}%
-                 {\appendixletter.\the\secno.\the\subsecno}%
-}
-
-\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz#1{%
-  \global\subsubsecno=0  \global\advance\subsecno by 1
-  \sectionheading{#1}{subsec}{Ynothing}%
-                 {\the\unnumberedno.\the\secno.\the\subsecno}%
-}
-
-% Subsubsections.
-\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz#1{%
-  \global\advance\subsubsecno by 1
-  \sectionheading{#1}{subsubsec}{Ynumbered}%
-                 {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
-}
-
-\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz#1{%
-  \global\advance\subsubsecno by 1
-  \sectionheading{#1}{subsubsec}{Yappendix}%
-                 {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
-}
-
-\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz#1{%
-  \global\advance\subsubsecno by 1
-  \sectionheading{#1}{subsubsec}{Ynothing}%
-                 {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
-}
-
-% These macros control what the section commands do, according
-% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
-% Define them by default for a numbered chapter.
-\let\section = \numberedsec
-\let\subsection = \numberedsubsec
-\let\subsubsection = \numberedsubsubsec
-
-% Define @majorheading, @heading and @subheading
-
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-%       1) We use \vbox rather than the earlier \line to permit
-%          overlong headings to fold.
-%       2) \hyphenpenalty is set to 10000 because hyphenation in a
-%          heading is obnoxious; this forbids it.
-%       3) Likewise, headings look best if no \parindent is used, and
-%          if justification is not attempted.  Hence \raggedright.
-
-
-\def\majorheading{%
-  {\advance\chapheadingskip by 10pt \chapbreak }%
-  \parsearg\chapheadingzzz
-}
-
-\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
-\def\chapheadingzzz#1{%
-  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                    \parindent=0pt\raggedright
-                    \rm #1\hfill}}%
-  \bigskip \par\penalty 200\relax
-  \suppressfirstparagraphindent
-}
-
-% @heading, @subheading, @subsubheading.
-\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
-  \suppressfirstparagraphindent}
-\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
-  \suppressfirstparagraphindent}
-\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
-  \suppressfirstparagraphindent}
-
-% These macros generate a chapter, section, etc. heading only
-% (including whitespace, linebreaking, etc. around it),
-% given all the information in convenient, parsed form.
-
-%%% Args are the skip and penalty (usually negative)
-\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-
-%%% Define plain chapter starts, and page on/off switching for it
-% Parameter controlling skip before chapter headings (if needed)
-
-\newskip\chapheadingskip
-
-\def\chapbreak{\dobreak \chapheadingskip {-4000}}
-\def\chappager{\par\vfill\supereject}
-\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
-
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-
-\def\CHAPPAGoff{%
-\global\let\contentsalignmacro = \chappager
-\global\let\pchapsepmacro=\chapbreak
-\global\let\pagealignmacro=\chappager}
-
-\def\CHAPPAGon{%
-\global\let\contentsalignmacro = \chappager
-\global\let\pchapsepmacro=\chappager
-\global\let\pagealignmacro=\chappager
-\global\def\HEADINGSon{\HEADINGSsingle}}
-
-\def\CHAPPAGodd{%
-\global\let\contentsalignmacro = \chapoddpage
-\global\let\pchapsepmacro=\chapoddpage
-\global\let\pagealignmacro=\chapoddpage
-\global\def\HEADINGSon{\HEADINGSdouble}}
-
-\CHAPPAGon
-
-% Chapter opening.
-%
-% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
-% Yappendix, Yomitfromtoc), #3 the chapter number.
-%
-% To test against our argument.
-\def\Ynothingkeyword{Ynothing}
-\def\Yomitfromtockeyword{Yomitfromtoc}
-\def\Yappendixkeyword{Yappendix}
-%
-\def\chapmacro#1#2#3{%
-  \pchapsepmacro
-  {%
-    \chapfonts \rm
-    %
-    % Have to define \thissection before calling \donoderef, because the
-    % xref code eventually uses it.  On the other hand, it has to be called
-    % after \pchapsepmacro, or the headline will change too soon.
-    \gdef\thissection{#1}%
-    \gdef\thischaptername{#1}%
-    %
-    % Only insert the separating space if we have a chapter/appendix
-    % number, and don't print the unnumbered ``number''.
-    \def\temptype{#2}%
-    \ifx\temptype\Ynothingkeyword
-      \setbox0 = \hbox{}%
-      \def\toctype{unnchap}%
-      \def\thischapter{#1}%
-    \else\ifx\temptype\Yomitfromtockeyword
-      \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
-      \def\toctype{omit}%
-      \xdef\thischapter{}%
-    \else\ifx\temptype\Yappendixkeyword
-      \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
-      \def\toctype{app}%
-      % We don't substitute the actual chapter name into \thischapter
-      % because we don't want its macros evaluated now.  And we don't
-      % use \thissection because that changes with each section.
-      %
-      \xdef\thischapter{\putwordAppendix{} \appendixletter:
-                        \noexpand\thischaptername}%
-    \else
-      \setbox0 = \hbox{#3\enspace}%
-      \def\toctype{numchap}%
-      \xdef\thischapter{\putwordChapter{} \the\chapno:
-                        \noexpand\thischaptername}%
-    \fi\fi\fi
-    %
-    % Write the toc entry for this chapter.  Must come before the
-    % \donoderef, because we include the current node name in the toc
-    % entry, and \donoderef resets it to empty.
-    \writetocentry{\toctype}{#1}{#3}%
-    %
-    % For pdftex, we have to write out the node definition (aka, make
-    % the pdfdest) after any page break, but before the actual text has
-    % been typeset.  If the destination for the pdf outline is after the
-    % text, then jumping from the outline may wind up with the text not
-    % being visible, for instance under high magnification.
-    \donoderef{#2}%
-    %
-    % Typeset the actual heading.
-    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
-          \hangindent=\wd0 \centerparametersmaybe
-          \unhbox0 #1\par}%
-  }%
-  \nobreak\bigskip % no page break after a chapter title
-  \nobreak
-}
-
-% @centerchap -- centered and unnumbered.
-\let\centerparametersmaybe = \relax
-\def\centerparameters{%
-  \advance\rightskip by 3\rightskip
-  \leftskip = \rightskip
-  \parfillskip = 0pt
-}
-
-
-% I don't think this chapter style is supported any more, so I'm not
-% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
-%
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-%
-\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt\raggedright
-                       \rm #1\hfill}}\bigskip \par\nobreak
-}
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-\def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt
-                       \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
-}
-\def\CHAPFopen{%
-  \global\let\chapmacro=\chfopen
-  \global\let\centerchapmacro=\centerchfopen}
-
-
-% Section titles.  These macros combine the section number parts and
-% call the generic \sectionheading to do the printing.
-%
-\newskip\secheadingskip
-\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
-
-% Subsection titles.
-\newskip\subsecheadingskip
-\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
-
-% Subsubsection titles.
-\def\subsubsecheadingskip{\subsecheadingskip}
-\def\subsubsecheadingbreak{\subsecheadingbreak}
-
-
-% Print any size, any type, section title.
-%
-% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
-% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
-% section number.
-%
-\def\sectionheading#1#2#3#4{%
-  {%
-    % Switch to the right set of fonts.
-    \csname #2fonts\endcsname \rm
-    %
-    % Insert space above the heading.
-    \csname #2headingbreak\endcsname
-    %
-    % Only insert the space after the number if we have a section number.
-    \def\sectionlevel{#2}%
-    \def\temptype{#3}%
-    %
-    \ifx\temptype\Ynothingkeyword
-      \setbox0 = \hbox{}%
-      \def\toctype{unn}%
-      \gdef\thissection{#1}%
-    \else\ifx\temptype\Yomitfromtockeyword
-      % for @headings -- no section number, don't include in toc,
-      % and don't redefine \thissection.
-      \setbox0 = \hbox{}%
-      \def\toctype{omit}%
-      \let\sectionlevel=\empty
-    \else\ifx\temptype\Yappendixkeyword
-      \setbox0 = \hbox{#4\enspace}%
-      \def\toctype{app}%
-      \gdef\thissection{#1}%
-    \else
-      \setbox0 = \hbox{#4\enspace}%
-      \def\toctype{num}%
-      \gdef\thissection{#1}%
-    \fi\fi\fi
-    %
-    % Write the toc entry (before \donoderef).  See comments in \chfplain.
-    \writetocentry{\toctype\sectionlevel}{#1}{#4}%
-    %
-    % Write the node reference (= pdf destination for pdftex).
-    % Again, see comments in \chfplain.
-    \donoderef{#3}%
-    %
-    % Output the actual section heading.
-    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
-          \hangindent=\wd0  % zero if no section number
-          \unhbox0 #1}%
-  }%
-  % Add extra space after the heading -- half of whatever came above it.
-  % Don't allow stretch, though.
-  \kern .5 \csname #2headingskip\endcsname
-  %
-  % Do not let the kern be a potential breakpoint, as it would be if it
-  % was followed by glue.
-  \nobreak
-  %
-  % We'll almost certainly start a paragraph next, so don't let that
-  % glue accumulate.  (Not a breakpoint because it's preceded by a
-  % discardable item.)
-  \vskip-\parskip
-  % 
-  % This is purely so the last item on the list is a known \penalty >
-  % 10000.  This is so \startdefun can avoid allowing breakpoints after
-  % section headings.  Otherwise, it would insert a valid breakpoint between:
-  % 
-  %   @section sec-whatever
-  %   @deffn def-whatever
-  \penalty 10001
-}
-
-
-\message{toc,}
-% Table of contents.
-\newwrite\tocfile
-
-% Write an entry to the toc file, opening it if necessary.
-% Called from @chapter, etc.
-%
-% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
-% We append the current node name (if any) and page number as additional
-% arguments for the \{chap,sec,...}entry macros which will eventually
-% read this.  The node name is used in the pdf outlines as the
-% destination to jump to.
-%
-% We open the .toc file for writing here instead of at @setfilename (or
-% any other fixed time) so that @contents can be anywhere in the document.
-% But if #1 is `omit', then we don't do anything.  This is used for the
-% table of contents chapter openings themselves.
-%
-\newif\iftocfileopened
-\def\omitkeyword{omit}%
-%
-\def\writetocentry#1#2#3{%
-  \edef\writetoctype{#1}%
-  \ifx\writetoctype\omitkeyword \else
-    \iftocfileopened\else
-      \immediate\openout\tocfile = \jobname.toc
-      \global\tocfileopenedtrue
-    \fi
-    %
-    \iflinks
-      \toks0 = {#2}%
-      \toks2 = \expandafter{\lastnode}%
-      \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}{#3}%
-                               {\the\toks2}{\noexpand\folio}}}%
-      \temp
-    \fi
-  \fi
-  %
-  % Tell \shipout to create a pdf destination on each page, if we're
-  % writing pdf.  These are used in the table of contents.  We can't
-  % just write one on every page because the title pages are numbered
-  % 1 and 2 (the page numbers aren't printed), and so are the first
-  % two pages of the document.  Thus, we'd have two destinations named
-  % `1', and two named `2'.
-  \ifpdf \global\pdfmakepagedesttrue \fi
-}
-
-\newskip\contentsrightmargin \contentsrightmargin=1in
-\newcount\savepageno
-\newcount\lastnegativepageno \lastnegativepageno = -1
-
-% Prepare to read what we've written to \tocfile.
-%
-\def\startcontents#1{%
-  % If @setchapternewpage on, and @headings double, the contents should
-  % start on an odd page, unlike chapters.  Thus, we maintain
-  % \contentsalignmacro in parallel with \pagealignmacro.
-  % From: Torbjorn Granlund <tege@matematik.su.se>
-  \contentsalignmacro
-  \immediate\closeout\tocfile
-  %
-  % Don't need to put `Contents' or `Short Contents' in the headline.
-  % It is abundantly clear what they are.
-  \def\thischapter{}%
-  \chapmacro{#1}{Yomitfromtoc}{}%
-  %
-  \savepageno = \pageno
-  \begingroup                  % Set up to handle contents files properly.
-    \catcode`\\=0  \catcode`\{=1  \catcode`\}=2  \catcode`\@=11
-    % We can't do this, because then an actual ^ in a section
-    % title fails, e.g., @chapter ^ -- exponentiation.  --karl, 9jul97.
-    %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
-    \raggedbottom             % Worry more about breakpoints than the bottom.
-    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
-    %
-    % Roman numerals for page numbers.
-    \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
-}
-
-
-% Normal (long) toc.
-\def\contents{%
-  \startcontents{\putwordTOC}%
-    \openin 1 \jobname.toc
-    \ifeof 1 \else
-      \input \jobname.toc
-    \fi
-    \vfill \eject
-    \contentsalignmacro % in case @setchapternewpage odd is in effect
-    \ifeof 1 \else
-      \pdfmakeoutlines
-    \fi
-    \closein 1
-  \endgroup
-  \lastnegativepageno = \pageno
-  \global\pageno = \savepageno
-}
-
-% And just the chapters.
-\def\summarycontents{%
-  \startcontents{\putwordShortTOC}%
-    %
-    \let\numchapentry = \shortchapentry
-    \let\appentry = \shortchapentry
-    \let\unnchapentry = \shortunnchapentry
-    % We want a true roman here for the page numbers.
-    \secfonts
-    \let\rm=\shortcontrm \let\bf=\shortcontbf
-    \let\sl=\shortcontsl \let\tt=\shortconttt
-    \rm
-    \hyphenpenalty = 10000
-    \advance\baselineskip by 1pt % Open it up a little.
-    \def\numsecentry##1##2##3##4{}
-    \let\appsecentry = \numsecentry
-    \let\unnsecentry = \numsecentry
-    \let\numsubsecentry = \numsecentry
-    \let\appsubsecentry = \numsecentry
-    \let\unnsubsecentry = \numsecentry
-    \let\numsubsubsecentry = \numsecentry
-    \let\appsubsubsecentry = \numsecentry
-    \let\unnsubsubsecentry = \numsecentry
-    \openin 1 \jobname.toc
-    \ifeof 1 \else
-      \input \jobname.toc
-    \fi
-    \closein 1
-    \vfill \eject
-    \contentsalignmacro % in case @setchapternewpage odd is in effect
-  \endgroup
-  \lastnegativepageno = \pageno
-  \global\pageno = \savepageno
-}
-\let\shortcontents = \summarycontents
-
-% Typeset the label for a chapter or appendix for the short contents.
-% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
-%
-\def\shortchaplabel#1{%
-  % This space should be enough, since a single number is .5em, and the
-  % widest letter (M) is 1em, at least in the Computer Modern fonts.
-  % But use \hss just in case.
-  % (This space doesn't include the extra space that gets added after
-  % the label; that gets put in by \shortchapentry above.)
-  %
-  % We'd like to right-justify chapter numbers, but that looks strange
-  % with appendix letters.  And right-justifying numbers and
-  % left-justifying letters looks strange when there is less than 10
-  % chapters.  Have to read the whole toc once to know how many chapters
-  % there are before deciding ...
-  \hbox to 1em{#1\hss}%
-}
-
-% These macros generate individual entries in the table of contents.
-% The first argument is the chapter or section name.
-% The last argument is the page number.
-% The arguments in between are the chapter number, section number, ...
-
-% Chapters, in the main contents.
-\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
-%
-% Chapters, in the short toc.
-% See comments in \dochapentry re vbox and related settings.
-\def\shortchapentry#1#2#3#4{%
-  \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
-}
-
-% Appendices, in the main contents.
-% Need the word Appendix, and a fixed-size box.
-%
-\def\appendixbox#1{%
-  % We use M since it's probably the widest letter.
-  \setbox0 = \hbox{\putwordAppendix{} M}%
-  \hbox to \wd0{\putwordAppendix{} #1\hss}}
-%
-\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
-
-% Unnumbered chapters.
-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
-
-% Sections.
-\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
-\let\appsecentry=\numsecentry
-\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
-
-% Subsections.
-\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
-\let\appsubsecentry=\numsubsecentry
-\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
-
-% And subsubsections.
-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
-\let\appsubsubsecentry=\numsubsubsecentry
-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
-
-% This parameter controls the indentation of the various levels.
-% Same as \defaultparindent.
-\newdimen\tocindent \tocindent = 15pt
-
-% Now for the actual typesetting. In all these, #1 is the text and #2 is the
-% page number.
-%
-% If the toc has to be broken over pages, we want it to be at chapters
-% if at all possible; hence the \penalty.
-\def\dochapentry#1#2{%
-   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
-   \begingroup
-     \chapentryfonts
-     \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-   \endgroup
-   \nobreak\vskip .25\baselineskip plus.1\baselineskip
-}
-
-\def\dosecentry#1#2{\begingroup
-  \secentryfonts \leftskip=\tocindent
-  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-\endgroup}
-
-\def\dosubsecentry#1#2{\begingroup
-  \subsecentryfonts \leftskip=2\tocindent
-  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-\endgroup}
-
-\def\dosubsubsecentry#1#2{\begingroup
-  \subsubsecentryfonts \leftskip=3\tocindent
-  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
-\endgroup}
-
-% We use the same \entry macro as for the index entries.
-\let\tocentry = \entry
-
-% Space between chapter (or whatever) number and the title.
-\def\labelspace{\hskip1em \relax}
-
-\def\dopageno#1{{\rm #1}}
-\def\doshortpageno#1{{\rm #1}}
-
-\def\chapentryfonts{\secfonts \rm}
-\def\secentryfonts{\textfonts}
-\def\subsecentryfonts{\textfonts}
-\def\subsubsecentryfonts{\textfonts}
-
-
-\message{environments,}
-% @foo ... @end foo.
-
-% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-%
-% Since these characters are used in examples, it should be an even number of
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-%
-\def\point{$\star$}
-\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% The @error{} command.
-% Adapted from the TeXbook's \boxit.
-%
-\newbox\errorbox
-%
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
-%
-\setbox\errorbox=\hbox to \dimen0{\hfil
-   \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
-   \advance\hsize by -2\dimen2 % Rules.
-   \vbox{%
-      \hrule height\dimen2
-      \hbox{\vrule width\dimen2 \kern3pt          % Space to left of text.
-         \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
-         \kern3pt\vrule width\dimen2}% Space to right.
-      \hrule height\dimen2}
-    \hfil}
-%
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
-% @tex ... @end tex    escapes into raw Tex temporarily.
-% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
-
-\envdef\tex{%
-  \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
-  \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
-  \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
-  \catcode `\%=14
-  \catcode `\+=\other
-  \catcode `\"=\other
-  \catcode `\|=\other
-  \catcode `\<=\other
-  \catcode `\>=\other
-  \escapechar=`\\
-  %
-  \let\b=\ptexb
-  \let\bullet=\ptexbullet
-  \let\c=\ptexc
-  \let\,=\ptexcomma
-  \let\.=\ptexdot
-  \let\dots=\ptexdots
-  \let\equiv=\ptexequiv
-  \let\!=\ptexexclam
-  \let\i=\ptexi
-  \let\indent=\ptexindent
-  \let\noindent=\ptexnoindent
-  \let\{=\ptexlbrace
-  \let\+=\tabalign
-  \let\}=\ptexrbrace
-  \let\/=\ptexslash
-  \let\*=\ptexstar
-  \let\t=\ptext
-  %
-  \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
-  \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
-  \def\@{@}%
-}
-% There is no need to define \Etex.
-
-% Define @lisp ... @end lisp.
-% @lisp environment forms a group so it can rebind things,
-% including the definition of @end lisp (which normally is erroneous).
-
-% Amount to narrow the margins by for @lisp.
-\newskip\lispnarrowing \lispnarrowing=0.4in
-
-% This is the definition that ^^M gets inside @lisp, @example, and other
-% such environments.  \null is better than a space, since it doesn't
-% have any width.
-\def\lisppar{\null\endgraf}
-
-% This space is always present above and below environments.
-\newskip\envskipamount \envskipamount = 0pt
-
-% Make spacing and below environment symmetrical.  We use \parskip here
-% to help in doing that, since in @example-like environments \parskip
-% is reset to zero; thus the \afterenvbreak inserts no space -- but the
-% start of the next paragraph will insert \parskip.
-%
-\def\aboveenvbreak{{%
-  % =10000 instead of <10000 because of a special case in \itemzzz and
-  % \sectionheading, q.v.
-  \ifnum \lastpenalty=10000 \else
-    \advance\envskipamount by \parskip
-    \endgraf
-    \ifdim\lastskip<\envskipamount
-      \removelastskip
-      % it's not a good place to break if the last penalty was \nobreak
-      % or better ...
-      \ifnum\lastpenalty<10000 \penalty-50 \fi
-      \vskip\envskipamount
-    \fi
-  \fi
-}}
-
-\let\afterenvbreak = \aboveenvbreak
-
-% \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins.
-\let\nonarrowing=\relax
-
-% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
-% environment contents.
-\font\circle=lcircle10
-\newdimen\circthick
-\newdimen\cartouter\newdimen\cartinner
-\newskip\normbskip\newskip\normpskip\newskip\normlskip
-\circthick=\fontdimen8\circle
-%
-\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
-\def\ctr{{\hskip 6pt\circle\char'010}}
-\def\cbl{{\circle\char'012\hskip -6pt}}
-\def\cbr{{\hskip 6pt\circle\char'011}}
-\def\carttop{\hbox to \cartouter{\hskip\lskip
-        \ctl\leaders\hrule height\circthick\hfil\ctr
-        \hskip\rskip}}
-\def\cartbot{\hbox to \cartouter{\hskip\lskip
-        \cbl\leaders\hrule height\circthick\hfil\cbr
-        \hskip\rskip}}
-%
-\newskip\lskip\newskip\rskip
-
-\envdef\cartouche{%
-  \ifhmode\par\fi  % can't be in the midst of a paragraph.
-  \startsavinginserts
-  \lskip=\leftskip \rskip=\rightskip
-  \leftskip=0pt\rightskip=0pt % we want these *outside*.
-  \cartinner=\hsize \advance\cartinner by-\lskip
-  \advance\cartinner by-\rskip
-  \cartouter=\hsize
-  \advance\cartouter by 18.4pt % allow for 3pt kerns on either
-                               % side, and for 6pt waste from
-                               % each corner char, and rule thickness
-  \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
-  % Flag to tell @lisp, etc., not to narrow margin.
-  \let\nonarrowing=\comment
-  \vbox\bgroup
-      \baselineskip=0pt\parskip=0pt\lineskip=0pt
-      \carttop
-      \hbox\bgroup
-         \hskip\lskip
-         \vrule\kern3pt
-         \vbox\bgroup
-             \kern3pt
-             \hsize=\cartinner
-             \baselineskip=\normbskip
-             \lineskip=\normlskip
-             \parskip=\normpskip
-             \vskip -\parskip
-             \comment % For explanation, see the end of \def\group.
-}
-\def\Ecartouche{%
-              \ifhmode\par\fi
-             \kern3pt
-         \egroup
-         \kern3pt\vrule
-         \hskip\rskip
-      \egroup
-      \cartbot
-  \egroup
-  \checkinserts
-}
-
-
-% This macro is called at the beginning of all the @example variants,
-% inside a group.
-\def\nonfillstart{%
-  \aboveenvbreak
-  \hfuzz = 12pt % Don't be fussy
-  \sepspaces % Make spaces be word-separators rather than space tokens.
-  \let\par = \lisppar % don't ignore blank lines
-  \obeylines % each line of input is a line of output
-  \parskip = 0pt
-  \parindent = 0pt
-  \emergencystretch = 0pt % don't try to avoid overfull boxes
-  % @cartouche defines \nonarrowing to inhibit narrowing
-  % at next level down.
-  \ifx\nonarrowing\relax
-    \advance \leftskip by \lispnarrowing
-    \exdentamount=\lispnarrowing
-  \fi
-  \let\exdent=\nofillexdent
-}
-
-% If you want all examples etc. small: @set dispenvsize small.
-% If you want even small examples the full size: @set dispenvsize nosmall.
-% This affects the following displayed environments:
-%    @example, @display, @format, @lisp
-%
-\def\smallword{small}
-\def\nosmallword{nosmall}
-\let\SETdispenvsize\relax
-\def\setnormaldispenv{%
-  \ifx\SETdispenvsize\smallword
-    \smallexamplefonts \rm
-  \fi
-}
-\def\setsmalldispenv{%
-  \ifx\SETdispenvsize\nosmallword
-  \else
-    \smallexamplefonts \rm
-  \fi
-}
-
-% We often define two environments, @foo and @smallfoo.
-% Let's do it by one command:
-\def\makedispenv #1#2{
-  \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
-  \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
-  \expandafter\let\csname E#1\endcsname \afterenvbreak
-  \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
-}
-
-% Define two synonyms:
-\def\maketwodispenvs #1#2#3{
-  \makedispenv{#1}{#3}
-  \makedispenv{#2}{#3}
-}
-
-% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
-%
-% @smallexample and @smalllisp: use smaller fonts.
-% Originally contributed by Pavel@xerox.
-%
-\maketwodispenvs {lisp}{example}{%
-  \nonfillstart
-  \tt
-  \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
-  \gobble       % eat return
-}
-
-% @display/@smalldisplay: same as @lisp except keep current font.
-%
-\makedispenv {display}{%
-  \nonfillstart
-  \gobble
-}
-
-% @format/@smallformat: same as @display except don't narrow margins.
-%
-\makedispenv{format}{%
-  \let\nonarrowing = t%
-  \nonfillstart
-  \gobble
-}
-
-% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
-\envdef\flushleft{%
-  \let\nonarrowing = t%
-  \nonfillstart
-  \gobble
-}
-\let\Eflushleft = \afterenvbreak
-
-% @flushright.
-%
-\envdef\flushright{%
-  \let\nonarrowing = t%
-  \nonfillstart
-  \advance\leftskip by 0pt plus 1fill
-  \gobble
-}
-\let\Eflushright = \afterenvbreak
-
-
-% @quotation does normal linebreaking (hence we can't use \nonfillstart)
-% and narrows the margins.  We keep \parskip nonzero in general, since
-% we're doing normal filling.  So, when using \aboveenvbreak and
-% \afterenvbreak, temporarily make \parskip 0.
-%
-\envdef\quotation{%
-  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-  \parindent=0pt
-  %
-  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
-  \ifx\nonarrowing\relax
-    \advance\leftskip by \lispnarrowing
-    \advance\rightskip by \lispnarrowing
-    \exdentamount = \lispnarrowing
-    \let\nonarrowing = \relax
-  \fi
-  \parsearg\quotationlabel
-}
-
-% We have retained a nonzero parskip for the environment, since we're
-% doing normal filling.
-%
-\def\Equotation{%
-  \par
-  \ifx\quotationauthor\undefined\else
-    % indent a bit.
-    \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
-  \fi
-  {\parskip=0pt \afterenvbreak}%
-}
-
-% If we're given an argument, typeset it in bold with a colon after.
-\def\quotationlabel#1{%
-  \def\temp{#1}%
-  \ifx\temp\empty \else
-    {\bf #1: }%
-  \fi
-}
-
-
-% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
-% If we want to allow any <char> as delimiter,
-% we need the curly braces so that makeinfo sees the @verb command, eg:
-% `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
-%
-% [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
-%
-% [Knuth] p.344; only we need to do the other characters Texinfo sets
-% active too.  Otherwise, they get lost as the first character on a
-% verbatim line.
-\def\dospecials{%
-  \do\ \do\\\do\{\do\}\do\$\do\&%
-  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
-  \do\<\do\>\do\|\do\@\do+\do\"%
-}
-%
-% [Knuth] p. 380
-\def\uncatcodespecials{%
-  \def\do##1{\catcode`##1=\other}\dospecials}
-%
-% [Knuth] pp. 380,381,391
-% Disable Spanish ligatures ?` and !` of \tt font
-\begingroup
-  \catcode`\`=\active\gdef`{\relax\lq}
-\endgroup
-%
-% Setup for the @verb command.
-%
-% Eight spaces for a tab
-\begingroup
-  \catcode`\^^I=\active
-  \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
-\endgroup
-%
-\def\setupverb{%
-  \tt  % easiest (and conventionally used) font for verbatim
-  \def\par{\leavevmode\endgraf}%
-  \catcode`\`=\active
-  \tabeightspaces
-  % Respect line breaks,
-  % print special symbols as themselves, and
-  % make each space count
-  % must do in this order:
-  \obeylines \uncatcodespecials \sepspaces
-}
-
-% Setup for the @verbatim environment
-%
-% Real tab expansion
-\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
-%
-\def\starttabbox{\setbox0=\hbox\bgroup}
-\begingroup
-  \catcode`\^^I=\active
-  \gdef\tabexpand{%
-    \catcode`\^^I=\active
-    \def^^I{\leavevmode\egroup
-      \dimen0=\wd0 % the width so far, or since the previous tab
-      \divide\dimen0 by\tabw
-      \multiply\dimen0 by\tabw % compute previous multiple of \tabw
-      \advance\dimen0 by\tabw  % advance to next multiple of \tabw
-      \wd0=\dimen0 \box0 \starttabbox
-    }%
-  }
-\endgroup
-\def\setupverbatim{%
-  \nonfillstart
-  \advance\leftskip by -\defbodyindent
-  % Easiest (and conventionally used) font for verbatim
-  \tt
-  \def\par{\leavevmode\egroup\box0\endgraf}%
-  \catcode`\`=\active
-  \tabexpand
-  % Respect line breaks,
-  % print special symbols as themselves, and
-  % make each space count
-  % must do in this order:
-  \obeylines \uncatcodespecials \sepspaces
-  \everypar{\starttabbox}%
-}
-
-% Do the @verb magic: verbatim text is quoted by unique
-% delimiter characters.  Before first delimiter expect a
-% right brace, after last delimiter expect closing brace:
-%
-%    \def\doverb'{'<char>#1<char>'}'{#1}
-%
-% [Knuth] p. 382; only eat outer {}
-\begingroup
-  \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
-  \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
-\endgroup
-%
-\def\verb{\begingroup\setupverb\doverb}
-%
-%
-% Do the @verbatim magic: define the macro \doverbatim so that
-% the (first) argument ends when '@end verbatim' is reached, ie:
-%
-%     \def\doverbatim#1@end verbatim{#1}
-%
-% For Texinfo it's a lot easier than for LaTeX,
-% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
-% we need not redefine '\', '{' and '}'.
-%
-% Inspired by LaTeX's verbatim command set [latex.ltx]
-%
-\begingroup
-  \catcode`\ =\active
-  \obeylines %
-  % ignore everything up to the first ^^M, that's the newline at the end
-  % of the @verbatim input line itself.  Otherwise we get an extra blank
-  % line in the output.
-  \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
-  % We really want {...\end verbatim} in the body of the macro, but
-  % without the active space; thus we have to use \xdef and \gobble.
-\endgroup
-%
-\envdef\verbatim{%
-    \setupverbatim\doverbatim
-}
-\let\Everbatim = \afterenvbreak
-
-
-% @verbatiminclude FILE - insert text of file in verbatim environment.
-%
-\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
-%
-\def\doverbatiminclude#1{%
-  {%
-    \makevalueexpandable
-    \setupverbatim
-    \input #1
-    \afterenvbreak
-  }%
-}
-
-% @copying ... @end copying.
-% Save the text away for @insertcopying later.
-%
-% We save the uninterpreted tokens, rather than creating a box.
-% Saving the text in a box would be much easier, but then all the
-% typesetting commands (@smallbook, font changes, etc.) have to be done
-% beforehand -- and a) we want @copying to be done first in the source
-% file; b) letting users define the frontmatter in as flexible order as
-% possible is very desirable.
-%
-\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
-\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
-%
-\def\insertcopying{%
-  \begingroup
-    \parindent = 0pt  % paragraph indentation looks wrong on title page
-    \scanexp\copyingtext
-  \endgroup
-}
-
-\message{defuns,}
-% @defun etc.
-
-\newskip\defbodyindent \defbodyindent=.4in
-\newskip\defargsindent \defargsindent=50pt
-\newskip\deflastargmargin \deflastargmargin=18pt
-
-% Start the processing of @deffn:
-\def\startdefun{%
-  \ifnum\lastpenalty<10000
-    \medbreak
-  \else
-    % If there are two @def commands in a row, we'll have a \nobreak,
-    % which is there to keep the function description together with its
-    % header.  But if there's nothing but headers, we need to allow a
-    % break somewhere.  Check specifically for penalty 10002, inserted
-    % by \defargscommonending, instead of 10000, since the sectioning
-    % commands also insert a nobreak penalty, and we don't want to allow
-    % a break between a section heading and a defun.
-    % 
-    \ifnum\lastpenalty=10002 \penalty2000 \fi
-    %
-    % Similarly, after a section heading, do not allow a break.
-    % But do insert the glue.
-    \medskip  % preceded by discardable penalty, so not a breakpoint
-  \fi
-  %
-  \parindent=0in
-  \advance\leftskip by \defbodyindent
-  \exdentamount=\defbodyindent
-}
-
-\def\dodefunx#1{%
-  % First, check whether we are in the right environment:
-  \checkenv#1%
-  %
-  % As above, allow line break if we have multiple x headers in a row.
-  % It's not a great place, though.
-  \ifnum\lastpenalty=10002 \penalty3000 \fi
-  %
-  % And now, it's time to reuse the body of the original defun:
-  \expandafter\gobbledefun#1%
-}
-\def\gobbledefun#1\startdefun{}
-
-% \printdefunline \deffnheader{text}
-%
-\def\printdefunline#1#2{%
-  \begingroup
-    % call \deffnheader:
-    #1#2 \endheader
-    % common ending:
-    \interlinepenalty = 10000
-    \advance\rightskip by 0pt plus 1fil
-    \endgraf
-    \nobreak\vskip -\parskip
-    \penalty 10002  % signal to \startdefun and \dodefunx
-    % Some of the @defun-type tags do not enable magic parentheses,
-    % rendering the following check redundant.  But we don't optimize.
-    \checkparencounts
-  \endgroup
-}
-
-\def\Edefun{\endgraf\medbreak}
-
-% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
-% the only thing remainnig is to define \deffnheader.
-%
-\def\makedefun#1{%
-  \expandafter\let\csname E#1\endcsname = \Edefun
-  \edef\temp{\noexpand\domakedefun
-    \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
-  \temp
-}
-
-% \domakedefun \deffn \deffnx \deffnheader
-%
-% Define \deffn and \deffnx, without parameters.
-% \deffnheader has to be defined explicitly.
-%
-\def\domakedefun#1#2#3{%
-  \envdef#1{%
-    \startdefun
-    \parseargusing\activeparens{\printdefunline#3}%
-  }%
-  \def#2{\dodefunx#1}%
-  \def#3%
-}
-
-%%% Untyped functions:
-
-% @deffn category name args
-\makedefun{deffn}{\deffngeneral{}}
-
-% @deffn category class name args
-\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
-
-% \defopon {category on}class name args
-\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-
-% \deffngeneral {subind}category name args
-%
-\def\deffngeneral#1#2 #3 #4\endheader{%
-  % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
-  \dosubind{fn}{\code{#3}}{#1}%
-  \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
-}
-
-%%% Typed functions:
-
-% @deftypefn category type name args
-\makedefun{deftypefn}{\deftypefngeneral{}}
-
-% @deftypeop category class type name args
-\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
-
-% \deftypeopon {category on}class type name args
-\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
-
-% \deftypefngeneral {subind}category type name args
-%
-\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
-  \dosubind{fn}{\code{#4}}{#1}%
-  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
-}
-
-%%% Typed variables:
-
-% @deftypevr category type var args
-\makedefun{deftypevr}{\deftypecvgeneral{}}
-
-% @deftypecv category class type var args
-\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
-
-% \deftypecvof {category of}class type var args
-\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
-
-% \deftypecvgeneral {subind}category type var args
-%
-\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
-  \dosubind{vr}{\code{#4}}{#1}%
-  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
-}
-
-%%% Untyped variables:
-
-% @defvr category var args
-\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
-
-% @defcv category class var args
-\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
-
-% \defcvof {category of}class var args
-\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-
-%%% Type:
-% @deftp category name args
-\makedefun{deftp}#1 #2 #3\endheader{%
-  \doind{tp}{\code{#2}}%
-  \defname{#1}{}{#2}\defunargs{#3\unskip}%
-}
-
-% Remaining @defun-like shortcuts:
-\makedefun{defun}{\deffnheader{\putwordDeffunc} }
-\makedefun{defmac}{\deffnheader{\putwordDefmac} }
-\makedefun{defspec}{\deffnheader{\putwordDefspec} }
-\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
-\makedefun{defvar}{\defvrheader{\putwordDefvar} }
-\makedefun{defopt}{\defvrheader{\putwordDefopt} }
-\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
-\makedefun{defmethod}{\defopon\putwordMethodon}
-\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
-\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
-\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
-
-% \defname, which formats the name of the @def (not the args).
-% #1 is the category, such as "Function".
-% #2 is the return type, if any.
-% #3 is the function name.
-%
-% We are followed by (but not passed) the arguments, if any.
-%
-\def\defname#1#2#3{%
-  % Get the values of \leftskip and \rightskip as they were outside the @def...
-  \advance\leftskip by -\defbodyindent
-  %
-  % How we'll format the type name.  Putting it in brackets helps
-  % distinguish it from the body text that may end up on the next line
-  % just below it.
-  \def\temp{#1}%
-  \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
-  %
-  % Figure out line sizes for the paragraph shape.
-  % The first line needs space for \box0; but if \rightskip is nonzero,
-  % we need only space for the part of \box0 which exceeds it:
-  \dimen0=\hsize  \advance\dimen0 by -\wd0  \advance\dimen0 by \rightskip
-  % The continuations:
-  \dimen2=\hsize  \advance\dimen2 by -\defargsindent
-  % (plain.tex says that \dimen1 should be used only as global.)
-  \parshape 2 0in \dimen0 \defargsindent \dimen2
-  %
-  % Put the type name to the right margin.
-  \noindent
-  \hbox to 0pt{%
-    \hfil\box0 \kern-\hsize
-    % \hsize has to be shortened this way:
-    \kern\leftskip
-    % Intentionally do not respect \rightskip, since we need the space.
-  }%
-  %
-  % Allow all lines to be underfull without complaint:
-  \tolerance=10000 \hbadness=10000
-  \exdentamount=\defbodyindent
-  {%
-    % defun fonts. We use typewriter by default (used to be bold) because:
-    % . we're printing identifiers, they should be in tt in principle.
-    % . in languages with many accents, such as Czech or French, it's
-    %   common to leave accents off identifiers.  The result looks ok in
-    %   tt, but exceedingly strange in rm.
-    % . we don't want -- and --- to be treated as ligatures.
-    % . this still does not fix the ?` and !` ligatures, but so far no
-    %   one has made identifiers using them :).
-    \df \tt
-    \def\temp{#2}% return value type
-    \ifx\temp\empty\else \tclose{\temp} \fi
-    #3% output function name
-  }%
-  {\rm\enskip}% hskip 0.5 em of \tenrm
-  %
-  \boldbrax
-  % arguments will be output next, if any.
-}
-
-% Print arguments in slanted roman (not ttsl), inconsistently with using
-% tt for the name.  This is because literal text is sometimes needed in
-% the argument list (groff manual), and ttsl and tt are not very
-% distinguishable.  Prevent hyphenation at `-' chars.
-%
-\def\defunargs#1{%
-  % use sl by default (not ttsl),
-  % tt for the names.
-  \df \sl \hyphenchar\font=0
-  %
-  % On the other hand, if an argument has two dashes (for instance), we
-  % want a way to get ttsl.  Let's try @var for that.
-  \let\var=\ttslanted
-  #1%
-  \sl\hyphenchar\font=45
-}
-
-% We want ()&[] to print specially on the defun line.
-%
-\def\activeparens{%
-  \catcode`\(=\active \catcode`\)=\active
-  \catcode`\[=\active \catcode`\]=\active
-  \catcode`\&=\active
-}
-
-% Make control sequences which act like normal parenthesis chars.
-\let\lparen = ( \let\rparen = )
-
-% Be sure that we always have a definition for `(', etc.  For example,
-% if the fn name has parens in it, \boldbrax will not be in effect yet,
-% so TeX would otherwise complain about undefined control sequence.
-{
-  \activeparens
-  \global\let(=\lparen \global\let)=\rparen
-  \global\let[=\lbrack \global\let]=\rbrack
-  \global\let& = \&
-
-  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-  \gdef\magicamp{\let&=\amprm}
-}
-
-\newcount\parencount
-
-% If we encounter &foo, then turn on ()-hacking afterwards
-\newif\ifampseen
-\def\amprm#1 {\ampseentrue{\bf\&#1 }}
-
-\def\parenfont{%
-  \ifampseen
-    % At the first level, print parens in roman,
-    % otherwise use the default font.
-    \ifnum \parencount=1 \rm \fi
-  \else
-    % The \sf parens (in \boldbrax) actually are a little bolder than
-    % the contained text.  This is especially needed for [ and ] .
-    \sf
-  \fi
-}
-\def\infirstlevel#1{%
-  \ifampseen
-    \ifnum\parencount=1
-      #1%
-    \fi
-  \fi
-}
-\def\bfafterword#1 {#1 \bf}
-
-\def\opnr{%
-  \global\advance\parencount by 1
-  {\parenfont(}%
-  \infirstlevel \bfafterword
-}
-\def\clnr{%
-  {\parenfont)}%
-  \infirstlevel \sl
-  \global\advance\parencount by -1
-}
-
-\newcount\brackcount
-\def\lbrb{%
-  \global\advance\brackcount by 1
-  {\bf[}%
-}
-\def\rbrb{%
-  {\bf]}%
-  \global\advance\brackcount by -1
-}
-
-\def\checkparencounts{%
-  \ifnum\parencount=0 \else \badparencount \fi
-  \ifnum\brackcount=0 \else \badbrackcount \fi
-}
-\def\badparencount{%
-  \errmessage{Unbalanced parentheses in @def}%
-  \global\parencount=0
-}
-\def\badbrackcount{%
-  \errmessage{Unbalanced square braces in @def}%
-  \global\brackcount=0
-}
-
-
-\message{macros,}
-% @macro.
-
-% To do this right we need a feature of e-TeX, \scantokens,
-% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
-  \newwrite\macscribble
-  \def\scantokens#1{%
-    \toks0={#1}%
-    \immediate\openout\macscribble=\jobname.tmp
-    \immediate\write\macscribble{\the\toks0}%
-    \immediate\closeout\macscribble
-    \input \jobname.tmp
-  }
-\fi
-
-\def\scanmacro#1{%
-  \begingroup
-    \newlinechar`\^^M
-    \let\xeatspaces\eatspaces
-    % Undo catcode changes of \startcontents and \doprintindex
-    % When called from @insertcopying or (short)caption, we need active
-    % backslash to get it printed correctly.  Previously, we had
-    % \catcode`\\=\other instead.  We'll see whether a problem appears
-    % with macro expansion.                            --kasal, 19aug04
-    \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
-    % ... and \example
-    \spaceisspace
-    %
-    % Append \endinput to make sure that TeX does not see the ending newline.
-    %
-    % I've verified that it is necessary both for e-TeX and for ordinary TeX
-    %                                                  --kasal, 29nov03
-    \scantokens{#1\endinput}%
-  \endgroup
-}
-
-\def\scanexp#1{%
-  \edef\temp{\noexpand\scanmacro{#1}}%
-  \temp
-}
-
-\newcount\paramno   % Count of parameters
-\newtoks\macname    % Macro name
-\newif\ifrecursive  % Is it recursive?
-\def\macrolist{}    % List of all defined macros in the form
-                    % \do\macro1\do\macro2...
-
-% Utility routines.
-% This does \let #1 = #2, with \csnames; that is,
-%   \let \csname#1\endcsname = \csname#2\endcsname
-% (except of course we have to play expansion games).
-% 
-\def\cslet#1#2{%
-  \expandafter\let
-  \csname#1\expandafter\endcsname
-  \csname#2\endcsname
-}
-
-% Trim leading and trailing spaces off a string.
-% Concepts from aro-bend problem 15 (see CTAN).
-{\catcode`\@=11
-\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
-\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
-\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
-\def\unbrace#1{#1}
-\unbrace{\gdef\trim@@@ #1 } #2@{#1}
-}
-
-% Trim a single trailing ^^M off a string.
-{\catcode`\^^M=\other \catcode`\Q=3%
-\gdef\eatcr #1{\eatcra #1Q^^MQ}%
-\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
-\gdef\eatcrb#1Q#2Q{#1}%
-}
-
-% Macro bodies are absorbed as an argument in a context where
-% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \.
-
-% It's necessary to have hard CRs when the macro is executed. This is
-% done by  making ^^M (\endlinechar) catcode 12 when reading the macro
-% body, and then making it the \newlinechar in \scanmacro.
-
-\def\scanctxt{%
-  \catcode`\"=\other
-  \catcode`\+=\other
-  \catcode`\<=\other
-  \catcode`\>=\other
-  \catcode`\@=\other
-  \catcode`\^=\other
-  \catcode`\_=\other
-  \catcode`\|=\other
-  \catcode`\~=\other
-}
-
-\def\scanargctxt{%
-  \scanctxt
-  \catcode`\\=\other
-  \catcode`\^^M=\other
-}
-
-\def\macrobodyctxt{%
-  \scanctxt
-  \catcode`\{=\other
-  \catcode`\}=\other
-  \catcode`\^^M=\other
-  \usembodybackslash
-}
-
-\def\macroargctxt{%
-  \scanctxt
-  \catcode`\\=\other
-}
-
-% \mbodybackslash is the definition of \ in @macro bodies.
-% It maps \foo\ => \csname macarg.foo\endcsname => #N
-% where N is the macro parameter number.
-% We define \csname macarg.\endcsname to be \realbackslash, so
-% \\ in macro replacement text gets you a backslash.
-
-{\catcode`@=0 @catcode`@\=@active
- @gdef@usembodybackslash{@let\=@mbodybackslash}
- @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
-}
-\expandafter\def\csname macarg.\endcsname{\realbackslash}
-
-\def\macro{\recursivefalse\parsearg\macroxxx}
-\def\rmacro{\recursivetrue\parsearg\macroxxx}
-
-\def\macroxxx#1{%
-  \getargs{#1}%           now \macname is the macname and \argl the arglist
-  \ifx\argl\empty       % no arguments
-     \paramno=0%
-  \else
-     \expandafter\parsemargdef \argl;%
-  \fi
-  \if1\csname ismacro.\the\macname\endcsname
-     \message{Warning: redefining \the\macname}%
-  \else
-     \expandafter\ifx\csname \the\macname\endcsname \relax
-     \else \errmessage{Macro name \the\macname\space already defined}\fi
-     \global\cslet{macsave.\the\macname}{\the\macname}%
-     \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
-     % Add the macroname to \macrolist
-     \toks0 = \expandafter{\macrolist\do}%
-     \xdef\macrolist{\the\toks0
-       \expandafter\noexpand\csname\the\macname\endcsname}%
-  \fi
-  \begingroup \macrobodyctxt
-  \ifrecursive \expandafter\parsermacbody
-  \else \expandafter\parsemacbody
-  \fi}
-
-\parseargdef\unmacro{%
-  \if1\csname ismacro.#1\endcsname
-    \global\cslet{#1}{macsave.#1}%
-    \global\expandafter\let \csname ismacro.#1\endcsname=0%
-    % Remove the macro name from \macrolist:
-    \begingroup
-      \expandafter\let\csname#1\endcsname \relax
-      \let\do\unmacrodo
-      \xdef\macrolist{\macrolist}%
-    \endgroup
-  \else
-    \errmessage{Macro #1 not defined}%
-  \fi
-}
-
-% Called by \do from \dounmacro on each macro.  The idea is to omit any
-% macro definitions that have been changed to \relax.
-%
-\def\unmacrodo#1{%
-  \ifx#1\relax
-    % remove this
-  \else
-    \noexpand\do \noexpand #1%
-  \fi
-}
-
-% This makes use of the obscure feature that if the last token of a
-% <parameter list> is #, then the preceding argument is delimited by
-% an opening brace, and that opening brace is not consumed.
-\def\getargs#1{\getargsxxx#1{}}
-\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname #1 #2\relax{\macname={#1}}
-\def\getmacargs#1{\def\argl{#1}}
-
-% Parse the optional {params} list.  Set up \paramno and \paramlist
-% so \defmacro knows what to do.  Define \macarg.blah for each blah
-% in the params list, to be ##N where N is the position in that list.
-% That gets used by \mbodybackslash (above).
-
-% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX:  let \hash be something
-% unexpandable, insert that wherever you need a #, and then redefine
-% it to # just before using the token list produced.
-%
-% The same technique is used to protect \eatspaces till just before
-% the macro is used.
-
-\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
-        \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
-\def\parsemargdefxxx#1,{%
-  \if#1;\let\next=\relax
-  \else \let\next=\parsemargdefxxx
-    \advance\paramno by 1%
-    \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
-        {\xeatspaces{\hash\the\paramno}}%
-    \edef\paramlist{\paramlist\hash\the\paramno,}%
-  \fi\next}
-
-% These two commands read recursive and nonrecursive macro bodies.
-% (They're different since rec and nonrec macros end differently.)
-
-\long\def\parsemacbody#1@end macro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\long\def\parsermacbody#1@end rmacro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
-% Much magic with \expandafter here.
-% \xdef is used so that macro definitions will survive the file
-% they're defined in; @include reads the file inside a group.
-\def\defmacro{%
-  \let\hash=##% convert placeholders to macro parameter chars
-  \ifrecursive
-    \ifcase\paramno
-    % 0
-      \expandafter\xdef\csname\the\macname\endcsname{%
-        \noexpand\scanmacro{\temp}}%
-    \or % 1
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\braceorline
-         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-         \egroup\noexpand\scanmacro{\temp}}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-        \csname\the\macname xxx\endcsname
-          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
-    \fi
-  \else
-    \ifcase\paramno
-    % 0
-      \expandafter\xdef\csname\the\macname\endcsname{%
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
-    \or % 1
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\braceorline
-         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-        \egroup
-        \noexpand\norecurse{\the\macname}%
-        \noexpand\scanmacro{\temp}\egroup}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \expandafter\noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-      \csname\the\macname xxx\endcsname
-      \paramlist{%
-          \egroup
-          \noexpand\norecurse{\the\macname}%
-          \noexpand\scanmacro{\temp}\egroup}%
-    \fi
-  \fi}
-
-\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
-
-% \braceorline decides whether the next nonwhitespace character is a
-% {.  If so it reads up to the closing }, if not, it reads the whole
-% line.  Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg)
-\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
-\def\braceorlinexxx{%
-  \ifx\nchar\bgroup\else
-    \expandafter\parsearg
-  \fi \next}
-
-% We want to disable all macros during \shipout so that they are not
-% expanded by \write.
-\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}%
-  \edef\next{\macrolist}\expandafter\endgroup\next}
-
-% For \indexnofonts, we need to get rid of all macros, leaving only the
-% arguments (if present).  Of course this is not nearly correct, but it
-% is the best we can do for now.  makeinfo does not expand macros in the
-% argument to @deffn, which ends up writing an index entry, and texindex
-% isn't prepared for an index sort entry that starts with \.
-% 
-% Since macro invocations are followed by braces, we can just redefine them
-% to take a single TeX argument.  The case of a macro invocation that
-% goes to end-of-line is not handled.
-% 
-\def\emptyusermacros{\begingroup
-  \def\do##1{\let\noexpand##1=\noexpand\asis}%
-  \edef\next{\macrolist}\expandafter\endgroup\next}
-
-
-% @alias.
-% We need some trickery to remove the optional spaces around the equal
-% sign.  Just make them active and then expand them all to nothing.
-\def\alias{\parseargusing\obeyspaces\aliasxxx}
-\def\aliasxxx #1{\aliasyyy#1\relax}
-\def\aliasyyy #1=#2\relax{%
-  {%
-    \expandafter\let\obeyedspace=\empty
-    \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
-  }%
-  \next
-}
-
-
-\message{cross references,}
-
-\newwrite\auxfile
-
-\newif\ifhavexrefs    % True if xref values are known.
-\newif\ifwarnedxrefs  % True if we warned once that they aren't known.
-
-% @inforef is relatively simple.
-\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
-  node \samp{\ignorespaces#1{}}}
-
-% @node's only job in TeX is to define \lastnode, which is used in
-% cross-references.  The @node line might or might not have commas, and
-% might or might not have spaces before the first comma, like:
-% @node foo , bar , ...
-% We don't want such trailing spaces in the node name.
-%
-\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
-%
-% also remove a trailing comma, in case of something like this:
-% @node Help-Cross,  ,  , Cross-refs
-\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
-\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
-
-\let\nwnode=\node
-\let\lastnode=\empty
-
-% Write a cross-reference definition for the current node.  #1 is the
-% type (Ynumbered, Yappendix, Ynothing).
-%
-\def\donoderef#1{%
-  \ifx\lastnode\empty\else
-    \setref{\lastnode}{#1}%
-    \global\let\lastnode=\empty
-  \fi
-}
-
-% @anchor{NAME} -- define xref target at arbitrary point.
-%
-\newcount\savesfregister
-%
-\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
-\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
-\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
-
-% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
-% anchor), which consists of three parts:
-% 1) NAME-title - the current sectioning name taken from \thissection,
-%                 or the anchor name.
-% 2) NAME-snt   - section number and type, passed as the SNT arg, or
-%                 empty for anchors.
-% 3) NAME-pg    - the page number.
-%
-% This is called from \donoderef, \anchor, and \dofloat.  In the case of
-% floats, there is an additional part, which is not written here:
-% 4) NAME-lof   - the text as it should appear in a @listoffloats.
-%
-\def\setref#1#2{%
-  \pdfmkdest{#1}%
-  \iflinks
-    {%
-      \atdummies  % preserve commands, but don't expand them
-      \turnoffactive
-      \otherbackslash
-      \edef\writexrdef##1##2{%
-       \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
-         ##1}{##2}}% these are parameters of \writexrdef
-      }%
-      \toks0 = \expandafter{\thissection}%
-      \immediate \writexrdef{title}{\the\toks0 }%
-      \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
-      \writexrdef{pg}{\folio}% will be written later, during \shipout
-    }%
-  \fi
-}
-
-% @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
-% the node name, #2 the name of the Info cross-reference, #3 the printed
-% node name, #4 the name of the Info file, #5 the name of the printed
-% manual.  All but the node name can be omitted.
-%
-\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
-\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
-\def\ref#1{\xrefX[#1,,,,,,,]}
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
-  \unsepspaces
-  \def\printedmanual{\ignorespaces #5}%
-  \def\printedrefname{\ignorespaces #3}%
-  \setbox1=\hbox{\printedmanual\unskip}%
-  \setbox0=\hbox{\printedrefname\unskip}%
-  \ifdim \wd0 = 0pt
-    % No printed node name was explicitly given.
-    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
-      % Use the node name inside the square brackets.
-      \def\printedrefname{\ignorespaces #1}%
-    \else
-      % Use the actual chapter/section title appear inside
-      % the square brackets.  Use the real section title if we have it.
-      \ifdim \wd1 > 0pt
-        % It is in another manual, so we don't have it.
-        \def\printedrefname{\ignorespaces #1}%
-      \else
-        \ifhavexrefs
-          % We know the real title if we have the xref values.
-          \def\printedrefname{\refx{#1-title}{}}%
-        \else
-          % Otherwise just copy the Info node name.
-          \def\printedrefname{\ignorespaces #1}%
-        \fi%
-      \fi
-    \fi
-  \fi
-  %
-  % Make link in pdf output.
-  \ifpdf
-    \leavevmode
-    \getfilename{#4}%
-    {\turnoffactive \otherbackslash
-     \ifnum\filenamelength>0
-       \startlink attr{/Border [0 0 0]}%
-         goto file{\the\filename.pdf} name{#1}%
-     \else
-       \startlink attr{/Border [0 0 0]}%
-         goto name{\pdfmkpgn{#1}}%
-     \fi
-    }%
-    \linkcolor
-  \fi
-  %
-  % Float references are printed completely differently: "Figure 1.2"
-  % instead of "[somenode], p.3".  We distinguish them by the
-  % LABEL-title being set to a magic string.
-  {%
-    % Have to otherify everything special to allow the \csname to
-    % include an _ in the xref name, etc.
-    \indexnofonts
-    \turnoffactive
-    \otherbackslash
-    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
-      \csname XR#1-title\endcsname
-  }%
-  \iffloat\Xthisreftitle
-    % If the user specified the print name (third arg) to the ref,
-    % print it instead of our usual "Figure 1.2".
-    \ifdim\wd0 = 0pt
-      \refx{#1-snt}%
-    \else
-      \printedrefname
-    \fi
-    %
-    % if the user also gave the printed manual name (fifth arg), append
-    % "in MANUALNAME".
-    \ifdim \wd1 > 0pt
-      \space \putwordin{} \cite{\printedmanual}%
-    \fi
-  \else
-    % node/anchor (non-float) references.
-    %
-    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
-    % insert empty discretionaries after hyphens, which means that it will
-    % not find a line break at a hyphen in a node names.  Since some manuals
-    % are best written with fairly long node names, containing hyphens, this
-    % is a loss.  Therefore, we give the text of the node name again, so it
-    % is as if TeX is seeing it for the first time.
-    \ifdim \wd1 > 0pt
-      \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
-    \else
-      % _ (for example) has to be the character _ for the purposes of the
-      % control sequence corresponding to the node, but it has to expand
-      % into the usual \leavevmode...\vrule stuff for purposes of
-      % printing. So we \turnoffactive for the \refx-snt, back on for the
-      % printing, back off for the \refx-pg.
-      {\turnoffactive \otherbackslash
-       % Only output a following space if the -snt ref is nonempty; for
-       % @unnumbered and @anchor, it won't be.
-       \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
-       \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
-      }%
-      % output the `[mynode]' via a macro so it can be overridden.
-      \xrefprintnodename\printedrefname
-      %
-      % But we always want a comma and a space:
-      ,\space
-      %
-      % output the `page 3'.
-      \turnoffactive \otherbackslash \putwordpage\tie\refx{#1-pg}{}%
-    \fi
-  \fi
-  \endlink
-\endgroup}
-
-% This macro is called from \xrefX for the `[nodename]' part of xref
-% output.  It's a separate macro only so it can be changed more easily,
-% since square brackets don't work well in some documents.  Particularly
-% one that Bob is working on :).
-%
-\def\xrefprintnodename#1{[#1]}
-
-% Things referred to by \setref.
-%
-\def\Ynothing{}
-\def\Yomitfromtoc{}
-\def\Ynumbered{%
-  \ifnum\secno=0
-    \putwordChapter@tie \the\chapno
-  \else \ifnum\subsecno=0
-    \putwordSection@tie \the\chapno.\the\secno
-  \else \ifnum\subsubsecno=0
-    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
-  \else
-    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
-  \fi\fi\fi
-}
-\def\Yappendix{%
-  \ifnum\secno=0
-     \putwordAppendix@tie @char\the\appendixno{}%
-  \else \ifnum\subsecno=0
-     \putwordSection@tie @char\the\appendixno.\the\secno
-  \else \ifnum\subsubsecno=0
-    \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
-  \else
-    \putwordSection@tie
-      @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
-  \fi\fi\fi
-}
-
-% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-% If its value is nonempty, SUFFIX is output afterward.
-%
-\def\refx#1#2{%
-  {%
-    \indexnofonts
-    \otherbackslash
-    \expandafter\global\expandafter\let\expandafter\thisrefX
-      \csname XR#1\endcsname
-  }%
-  \ifx\thisrefX\relax
-    % If not defined, say something at least.
-    \angleleft un\-de\-fined\angleright
-    \iflinks
-      \ifhavexrefs
-        \message{\linenumber Undefined cross reference `#1'.}%
-      \else
-        \ifwarnedxrefs\else
-          \global\warnedxrefstrue
-          \message{Cross reference values unknown; you must run TeX again.}%
-        \fi
-      \fi
-    \fi
-  \else
-    % It's defined, so just use it.
-    \thisrefX
-  \fi
-  #2% Output the suffix in any case.
-}
-
-% This is the macro invoked by entries in the aux file.  Usually it's
-% just a \def (we prepend XR to the control sequence name to avoid
-% collisions).  But if this is a float type, we have more work to do.
-%
-\def\xrdef#1#2{%
-  \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
-  %
-  % Was that xref control sequence that we just defined for a float?
-  \expandafter\iffloat\csname XR#1\endcsname
-    % it was a float, and we have the (safe) float type in \iffloattype.
-    \expandafter\let\expandafter\floatlist
-      \csname floatlist\iffloattype\endcsname
-    %
-    % Is this the first time we've seen this float type?
-    \expandafter\ifx\floatlist\relax
-      \toks0 = {\do}% yes, so just \do
-    \else
-      % had it before, so preserve previous elements in list.
-      \toks0 = \expandafter{\floatlist\do}%
-    \fi
-    %
-    % Remember this xref in the control sequence \floatlistFLOATTYPE,
-    % for later use in \listoffloats.
-    \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
-  \fi
-}
-
-% Read the last existing aux file, if any.  No error if none exists.
-%
-\def\tryauxfile{%
-  \openin 1 \jobname.aux
-  \ifeof 1 \else
-    \readauxfile
-    \global\havexrefstrue
-  \fi
-  \closein 1
-}
-
-\def\readauxfile{\begingroup
-  \catcode`\^^@=\other
-  \catcode`\^^A=\other
-  \catcode`\^^B=\other
-  \catcode`\^^C=\other
-  \catcode`\^^D=\other
-  \catcode`\^^E=\other
-  \catcode`\^^F=\other
-  \catcode`\^^G=\other
-  \catcode`\^^H=\other
-  \catcode`\^^K=\other
-  \catcode`\^^L=\other
-  \catcode`\^^N=\other
-  \catcode`\^^P=\other
-  \catcode`\^^Q=\other
-  \catcode`\^^R=\other
-  \catcode`\^^S=\other
-  \catcode`\^^T=\other
-  \catcode`\^^U=\other
-  \catcode`\^^V=\other
-  \catcode`\^^W=\other
-  \catcode`\^^X=\other
-  \catcode`\^^Z=\other
-  \catcode`\^^[=\other
-  \catcode`\^^\=\other
-  \catcode`\^^]=\other
-  \catcode`\^^^=\other
-  \catcode`\^^_=\other
-  % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
-  % in xref tags, i.e., node names.  But since ^^e4 notation isn't
-  % supported in the main text, it doesn't seem desirable.  Furthermore,
-  % that is not enough: for node names that actually contain a ^
-  % character, we would end up writing a line like this: 'xrdef {'hat
-  % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
-  % argument, and \hat is not an expandable control sequence.  It could
-  % all be worked out, but why?  Either we support ^^ or we don't.
-  %
-  % The other change necessary for this was to define \auxhat:
-  % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
-  % and then to call \auxhat in \setq.
-  %
-  \catcode`\^=\other
-  %
-  % Special characters.  Should be turned off anyway, but...
-  \catcode`\~=\other
-  \catcode`\[=\other
-  \catcode`\]=\other
-  \catcode`\"=\other
-  \catcode`\_=\other
-  \catcode`\|=\other
-  \catcode`\<=\other
-  \catcode`\>=\other
-  \catcode`\$=\other
-  \catcode`\#=\other
-  \catcode`\&=\other
-  \catcode`\%=\other
-  \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
-  %
-  % This is to support \ in node names and titles, since the \
-  % characters end up in a \csname.  It's easier than
-  % leaving it active and making its active definition an actual \
-  % character.  What I don't understand is why it works in the *value*
-  % of the xrdef.  Seems like it should be a catcode12 \, and that
-  % should not typeset properly.  But it works, so I'm moving on for
-  % now.  --karl, 15jan04.
-  \catcode`\\=\other
-  %
-  % Make the characters 128-255 be printing characters.
-  {%
-    \count 1=128
-    \def\loop{%
-      \catcode\count 1=\other
-      \advance\count 1 by 1
-      \ifnum \count 1<256 \loop \fi
-    }%
-  }%
-  %
-  % @ is our escape character in .aux files, and we need braces.
-  \catcode`\{=1
-  \catcode`\}=2
-  \catcode`\@=0
-  %
-  \input \jobname.aux
-\endgroup}
-
-
-\message{insertions,}
-% including footnotes.
-
-\newcount \footnoteno
-
-% The trailing space in the following definition for supereject is
-% vital for proper filling; pages come out unaligned when you do a
-% pagealignmacro call if that space before the closing brace is
-% removed. (Generally, numeric constants should always be followed by a
-% space to prevent strange expansion errors.)
-\def\supereject{\par\penalty -20000\footnoteno =0 }
-
-% @footnotestyle is meaningful for info output only.
-\let\footnotestyle=\comment
-
-{\catcode `\@=11
-%
-% Auto-number footnotes.  Otherwise like plain.
-\gdef\footnote{%
-  \let\indent=\ptexindent
-  \let\noindent=\ptexnoindent
-  \global\advance\footnoteno by \@ne
-  \edef\thisfootno{$^{\the\footnoteno}$}%
-  %
-  % In case the footnote comes at the end of a sentence, preserve the
-  % extra spacing after we do the footnote number.
-  \let\@sf\empty
-  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
-  %
-  % Remove inadvertent blank space before typesetting the footnote number.
-  \unskip
-  \thisfootno\@sf
-  \dofootnote
-}%
-
-% Don't bother with the trickery in plain.tex to not require the
-% footnote text as a parameter.  Our footnotes don't need to be so general.
-%
-% Oh yes, they do; otherwise, @ifset (and anything else that uses
-% \parseargline) fails inside footnotes because the tokens are fixed when
-% the footnote is read.  --karl, 16nov96.
-%
-\gdef\dofootnote{%
-  \insert\footins\bgroup
-  % We want to typeset this text as a normal paragraph, even if the
-  % footnote reference occurs in (for example) a display environment.
-  % So reset some parameters.
-  \hsize=\pagewidth
-  \interlinepenalty\interfootnotelinepenalty
-  \splittopskip\ht\strutbox % top baseline for broken footnotes
-  \splitmaxdepth\dp\strutbox
-  \floatingpenalty\@MM
-  \leftskip\z@skip
-  \rightskip\z@skip
-  \spaceskip\z@skip
-  \xspaceskip\z@skip
-  \parindent\defaultparindent
-  %
-  \smallfonts \rm
-  %
-  % Because we use hanging indentation in footnotes, a @noindent appears
-  % to exdent this text, so make it be a no-op.  makeinfo does not use
-  % hanging indentation so @noindent can still be needed within footnote
-  % text after an @example or the like (not that this is good style).
-  \let\noindent = \relax
-  %
-  % Hang the footnote text off the number.  Use \everypar in case the
-  % footnote extends for more than one paragraph.
-  \everypar = {\hang}%
-  \textindent{\thisfootno}%
-  %
-  % Don't crash into the line above the footnote text.  Since this
-  % expands into a box, it must come within the paragraph, lest it
-  % provide a place where TeX can split the footnote.
-  \footstrut
-  \futurelet\next\fo@t
-}
-}%end \catcode `\@=11
-
-% In case a @footnote appears in a vbox, save the footnote text and create
-% the real \insert just after the vbox finished.  Otherwise, the insertion
-% would be lost.
-% Similarily, if a @footnote appears inside an alignment, save the footnote
-% text to a box and make the \insert when a row of the table is finished.
-% And the same can be done for other insert classes.  --kasal, 16nov03.
-
-% Replace the \insert primitive by a cheating macro.
-% Deeper inside, just make sure that the saved insertions are not spilled
-% out prematurely.
-%
-\def\startsavinginserts{%
-  \ifx \insert\ptexinsert
-    \let\insert\saveinsert
-  \else
-    \let\checkinserts\relax
-  \fi
-}
-
-% This \insert replacement works for both \insert\footins{foo} and
-% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
-%
-\def\saveinsert#1{%
-  \edef\next{\noexpand\savetobox \makeSAVEname#1}%
-  \afterassignment\next
-  % swallow the left brace
-  \let\temp =
-}
-\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
-\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
-
-\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
-
-\def\placesaveins#1{%
-  \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
-    {\box#1}%
-}
-
-% eat @SAVE -- beware, all of them have catcode \other:
-{
-  \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials  %  ;-)
-  \gdef\gobblesave @SAVE{}
-}
-
-% initialization:
-\def\newsaveins #1{%
-  \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
-  \next
-}
-\def\newsaveinsX #1{%
-  \csname newbox\endcsname #1%
-  \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
-    \checksaveins #1}%
-}
-
-% initialize:
-\let\checkinserts\empty
-\newsaveins\footins
-\newsaveins\margin
-
-
-% @image.  We use the macros from epsf.tex to support this.
-% If epsf.tex is not installed and @image is used, we complain.
-%
-% Check for and read epsf.tex up front.  If we read it only at @image
-% time, we might be inside a group, and then its definitions would get
-% undone and the next image would fail.
-\openin 1 = epsf.tex
-\ifeof 1 \else
-  % Do not bother showing banner with epsf.tex v2.7k (available in
-  % doc/epsf.tex and on ctan).
-  \def\epsfannounce{\toks0 = }%
-  \input epsf.tex
-\fi
-\closein 1
-%
-% We will only complain once about lack of epsf.tex.
-\newif\ifwarnednoepsf
-\newhelp\noepsfhelp{epsf.tex must be installed for images to
-  work.  It is also included in the Texinfo distribution, or you can get
-  it from ftp://tug.org/tex/epsf.tex.}
-%
-\def\image#1{%
-  \ifx\epsfbox\undefined
-    \ifwarnednoepsf \else
-      \errhelp = \noepsfhelp
-      \errmessage{epsf.tex not found, images will be ignored}%
-      \global\warnednoepsftrue
-    \fi
-  \else
-    \imagexxx #1,,,,,\finish
-  \fi
-}
-%
-% Arguments to @image:
-% #1 is (mandatory) image filename; we tack on .eps extension.
-% #2 is (optional) width, #3 is (optional) height.
-% #4 is (ignored optional) html alt text.
-% #5 is (ignored optional) extension.
-% #6 is just the usual extra ignored arg for parsing this stuff.
-\newif\ifimagevmode
-\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
-  \catcode`\^^M = 5     % in case we're inside an example
-  \normalturnoffactive  % allow _ et al. in names
-  % If the image is by itself, center it.
-  \ifvmode
-    \imagevmodetrue
-    \nobreak\bigskip
-    % Usually we'll have text after the image which will insert
-    % \parskip glue, so insert it here too to equalize the space
-    % above and below.
-    \nobreak\vskip\parskip
-    \nobreak
-    \line\bgroup\hss
-  \fi
-  %
-  % Output the image.
-  \ifpdf
-    \dopdfimage{#1}{#2}{#3}%
-  \else
-    % \epsfbox itself resets \epsf?size at each figure.
-    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
-    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
-    \epsfbox{#1.eps}%
-  \fi
-  %
-  \ifimagevmode \hss \egroup \bigbreak \fi  % space after the image
-\endgroup}
-
-
-% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
-% etc.  We don't actually implement floating yet, we always include the
-% float "here".  But it seemed the best name for the future.
-%
-\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
-
-% There may be a space before second and/or third parameter; delete it.
-\def\eatcommaspace#1, {#1,}
-
-% #1 is the optional FLOATTYPE, the text label for this float, typically
-% "Figure", "Table", "Example", etc.  Can't contain commas.  If omitted,
-% this float will not be numbered and cannot be referred to.
-%
-% #2 is the optional xref label.  Also must be present for the float to
-% be referable.
-%
-% #3 is the optional positioning argument; for now, it is ignored.  It
-% will somehow specify the positions allowed to float to (here, top, bottom).
-%
-% We keep a separate counter for each FLOATTYPE, which we reset at each
-% chapter-level command.
-\let\resetallfloatnos=\empty
-%
-\def\dofloat#1,#2,#3,#4\finish{%
-  \let\thiscaption=\empty
-  \let\thisshortcaption=\empty
-  %
-  % don't lose footnotes inside @float.
-  %
-  % BEWARE: when the floats start float, we have to issue warning whenever an
-  % insert appears inside a float which could possibly float. --kasal, 26may04
-  %
-  \startsavinginserts
-  %
-  % We can't be used inside a paragraph.
-  \par
-  %
-  \vtop\bgroup
-    \def\floattype{#1}%
-    \def\floatlabel{#2}%
-    \def\floatloc{#3}% we do nothing with this yet.
-    %
-    \ifx\floattype\empty
-      \let\safefloattype=\empty
-    \else
-      {%
-        % the floattype might have accents or other special characters,
-        % but we need to use it in a control sequence name.
-        \indexnofonts
-        \turnoffactive
-        \xdef\safefloattype{\floattype}%
-      }%
-    \fi
-    %
-    % If label is given but no type, we handle that as the empty type.
-    \ifx\floatlabel\empty \else
-      % We want each FLOATTYPE to be numbered separately (Figure 1,
-      % Table 1, Figure 2, ...).  (And if no label, no number.)
-      %
-      \expandafter\getfloatno\csname\safefloattype floatno\endcsname
-      \global\advance\floatno by 1
-      %
-      {%
-        % This magic value for \thissection is output by \setref as the
-        % XREFLABEL-title value.  \xrefX uses it to distinguish float
-        % labels (which have a completely different output format) from
-        % node and anchor labels.  And \xrdef uses it to construct the
-        % lists of floats.
-        %
-        \edef\thissection{\floatmagic=\safefloattype}%
-        \setref{\floatlabel}{Yfloat}%
-      }%
-    \fi
-    %
-    % start with \parskip glue, I guess.
-    \vskip\parskip
-    %
-    % Don't suppress indentation if a float happens to start a section.
-    \restorefirstparagraphindent
-}
-
-% we have these possibilities:
-% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
-% @float Foo,lbl & no caption:    Foo 1.1
-% @float Foo & @caption{Cap}:     Foo: Cap
-% @float Foo & no caption:        Foo
-% @float ,lbl & Caption{Cap}:     1.1: Cap
-% @float ,lbl & no caption:       1.1
-% @float & @caption{Cap}:         Cap
-% @float & no caption:
-%
-\def\Efloat{%
-    \let\floatident = \empty
-    %
-    % In all cases, if we have a float type, it comes first.
-    \ifx\floattype\empty \else \def\floatident{\floattype}\fi
-    %
-    % If we have an xref label, the number comes next.
-    \ifx\floatlabel\empty \else
-      \ifx\floattype\empty \else % if also had float type, need tie first.
-        \appendtomacro\floatident{\tie}%
-      \fi
-      % the number.
-      \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
-    \fi
-    %
-    % Start the printed caption with what we've constructed in
-    % \floatident, but keep it separate; we need \floatident again.
-    \let\captionline = \floatident
-    %
-    \ifx\thiscaption\empty \else
-      \ifx\floatident\empty \else
-       \appendtomacro\captionline{: }% had ident, so need a colon between
-      \fi
-      %
-      % caption text.
-      \appendtomacro\captionline{\scanexp\thiscaption}%
-    \fi
-    %
-    % If we have anything to print, print it, with space before.
-    % Eventually this needs to become an \insert.
-    \ifx\captionline\empty \else
-      \vskip.5\parskip
-      \captionline
-      %
-      % Space below caption.
-      \vskip\parskip
-    \fi
-    %
-    % If have an xref label, write the list of floats info.  Do this
-    % after the caption, to avoid chance of it being a breakpoint.
-    \ifx\floatlabel\empty \else
-      % Write the text that goes in the lof to the aux file as
-      % \floatlabel-lof.  Besides \floatident, we include the short
-      % caption if specified, else the full caption if specified, else nothing.
-      {%
-        \atdummies \turnoffactive \otherbackslash
-        % since we read the caption text in the macro world, where ^^M
-        % is turned into a normal character, we have to scan it back, so
-        % we don't write the literal three characters "^^M" into the aux file.
-       \scanexp{%
-         \xdef\noexpand\gtemp{%
-           \ifx\thisshortcaption\empty
-             \thiscaption
-           \else
-             \thisshortcaption
-           \fi
-         }%
-       }%
-        \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
-         \ifx\gtemp\empty \else : \gtemp \fi}}%
-      }%
-    \fi
-  \egroup  % end of \vtop
-  %
-  % place the captured inserts
-  %
-  % BEWARE: when the floats start float, we have to issue warning whenever an
-  % insert appears inside a float which could possibly float. --kasal, 26may04
-  %
-  \checkinserts
-}
-
-% Append the tokens #2 to the definition of macro #1, not expanding either.
-%
-\def\appendtomacro#1#2{%
-  \expandafter\def\expandafter#1\expandafter{#1#2}%
-}
-
-% @caption, @shortcaption
-%
-\def\caption{\docaption\thiscaption}
-\def\shortcaption{\docaption\thisshortcaption}
-\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
-\def\defcaption#1#2{\egroup \def#1{#2}}
-
-% The parameter is the control sequence identifying the counter we are
-% going to use.  Create it if it doesn't exist and assign it to \floatno.
-\def\getfloatno#1{%
-  \ifx#1\relax
-      % Haven't seen this figure type before.
-      \csname newcount\endcsname #1%
-      %
-      % Remember to reset this floatno at the next chap.
-      \expandafter\gdef\expandafter\resetallfloatnos
-        \expandafter{\resetallfloatnos #1=0 }%
-  \fi
-  \let\floatno#1%
-}
-
-% \setref calls this to get the XREFLABEL-snt value.  We want an @xref
-% to the FLOATLABEL to expand to "Figure 3.1".  We call \setref when we
-% first read the @float command.
-%
-\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
-
-% Magic string used for the XREFLABEL-title value, so \xrefX can
-% distinguish floats from other xref types.
-\def\floatmagic{!!float!!}
-
-% #1 is the control sequence we are passed; we expand into a conditional
-% which is true if #1 represents a float ref.  That is, the magic
-% \thissection value which we \setref above.
-%
-\def\iffloat#1{\expandafter\doiffloat#1==\finish}
-%
-% #1 is (maybe) the \floatmagic string.  If so, #2 will be the
-% (safe) float type for this float.  We set \iffloattype to #2.
-%
-\def\doiffloat#1=#2=#3\finish{%
-  \def\temp{#1}%
-  \def\iffloattype{#2}%
-  \ifx\temp\floatmagic
-}
-
-% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
-%
-\parseargdef\listoffloats{%
-  \def\floattype{#1}% floattype
-  {%
-    % the floattype might have accents or other special characters,
-    % but we need to use it in a control sequence name.
-    \indexnofonts
-    \turnoffactive
-    \xdef\safefloattype{\floattype}%
-  }%
-  %
-  % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
-  \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
-    \ifhavexrefs
-      % if the user said @listoffloats foo but never @float foo.
-      \message{\linenumber No `\safefloattype' floats to list.}%
-    \fi
-  \else
-    \begingroup
-      \leftskip=\tocindent  % indent these entries like a toc
-      \let\do=\listoffloatsdo
-      \csname floatlist\safefloattype\endcsname
-    \endgroup
-  \fi
-}
-
-% This is called on each entry in a list of floats.  We're passed the
-% xref label, in the form LABEL-title, which is how we save it in the
-% aux file.  We strip off the -title and look up \XRLABEL-lof, which
-% has the text we're supposed to typeset here.
-%
-% Figures without xref labels will not be included in the list (since
-% they won't appear in the aux file).
-%
-\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
-\def\listoffloatsdoentry#1-title\finish{{%
-  % Can't fully expand XR#1-lof because it can contain anything.  Just
-  % pass the control sequence.  On the other hand, XR#1-pg is just the
-  % page number, and we want to fully expand that so we can get a link
-  % in pdf output.
-  \toksA = \expandafter{\csname XR#1-lof\endcsname}%
-  %
-  % use the same \entry macro we use to generate the TOC and index.
-  \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
-  \writeentry
-}}
-
-\message{localization,}
-% and i18n.
-
-% @documentlanguage is usually given very early, just after
-% @setfilename.  If done too late, it may not override everything
-% properly.  Single argument is the language abbreviation.
-% It would be nice if we could set up a hyphenation file here.
-%
-\parseargdef\documentlanguage{%
-  \tex % read txi-??.tex file in plain TeX.
-    % Read the file if it exists.
-    \openin 1 txi-#1.tex
-    \ifeof 1
-      \errhelp = \nolanghelp
-      \errmessage{Cannot read language file txi-#1.tex}%
-    \else
-      \input txi-#1.tex
-    \fi
-    \closein 1
-  \endgroup
-}
-\newhelp\nolanghelp{The given language definition file cannot be found or
-is empty.  Maybe you need to install it?  In the current directory
-should work if nowhere else does.}
-
-
-% @documentencoding should change something in TeX eventually, most
-% likely, but for now just recognize it.
-\let\documentencoding = \comment
-
-
-% Page size parameters.
-%
-\newdimen\defaultparindent \defaultparindent = 15pt
-
-\chapheadingskip = 15pt plus 4pt minus 2pt
-\secheadingskip = 12pt plus 3pt minus 2pt
-\subsecheadingskip = 9pt plus 2pt minus 2pt
-
-% Prevent underfull vbox error messages.
-\vbadness = 10000
-
-% Don't be so finicky about underfull hboxes, either.
-\hbadness = 2000
-
-% Following George Bush, just get rid of widows and orphans.
-\widowpenalty=10000
-\clubpenalty=10000
-
-% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
-% using an old version of TeX, don't do anything.  We want the amount of
-% stretch added to depend on the line length, hence the dependence on
-% \hsize.  We call this whenever the paper size is set.
-%
-\def\setemergencystretch{%
-  \ifx\emergencystretch\thisisundefined
-    % Allow us to assign to \emergencystretch anyway.
-    \def\emergencystretch{\dimen0}%
-  \else
-    \emergencystretch = .15\hsize
-  \fi
-}
-
-% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
-% 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8)
-% physical page width.
-%
-% We also call \setleading{\textleading}, so the caller should define
-% \textleading.  The caller should also set \parskip.
-%
-\def\internalpagesizes#1#2#3#4#5#6#7#8{%
-  \voffset = #3\relax
-  \topskip = #6\relax
-  \splittopskip = \topskip
-  %
-  \vsize = #1\relax
-  \advance\vsize by \topskip
-  \outervsize = \vsize
-  \advance\outervsize by 2\topandbottommargin
-  \pageheight = \vsize
-  %
-  \hsize = #2\relax
-  \outerhsize = \hsize
-  \advance\outerhsize by 0.5in
-  \pagewidth = \hsize
-  %
-  \normaloffset = #4\relax
-  \bindingoffset = #5\relax
-  %
-  \ifpdf
-    \pdfpageheight #7\relax
-    \pdfpagewidth #8\relax
-  \fi
-  %
-  \setleading{\textleading}
-  %
-  \parindent = \defaultparindent
-  \setemergencystretch
-}
-
-% @letterpaper (the default).
-\def\letterpaper{{\globaldefs = 1
-  \parskip = 3pt plus 2pt minus 1pt
-  \textleading = 13.2pt
-  %
-  % If page is nothing but text, make it come out even.
-  \internalpagesizes{46\baselineskip}{6in}%
-                    {\voffset}{.25in}%
-                    {\bindingoffset}{36pt}%
-                    {11in}{8.5in}%
-}}
-
-% Use @smallbook to reset parameters for 7x9.5 (or so) format.
-\def\smallbook{{\globaldefs = 1
-  \parskip = 2pt plus 1pt
-  \textleading = 12pt
-  %
-  \internalpagesizes{7.5in}{5in}%
-                    {\voffset}{.25in}%
-                    {\bindingoffset}{16pt}%
-                    {9.25in}{7in}%
-  %
-  \lispnarrowing = 0.3in
-  \tolerance = 700
-  \hfuzz = 1pt
-  \contentsrightmargin = 0pt
-  \defbodyindent = .5cm
-}}
-
-% Use @afourpaper to print on European A4 paper.
-\def\afourpaper{{\globaldefs = 1
-  \parskip = 3pt plus 2pt minus 1pt
-  \textleading = 13.2pt
-  %
-  % Double-side printing via postscript on Laserjet 4050
-  % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
-  % To change the settings for a different printer or situation, adjust
-  % \normaloffset until the front-side and back-side texts align.  Then
-  % do the same for \bindingoffset.  You can set these for testing in
-  % your texinfo source file like this:
-  % @tex
-  % \global\normaloffset = -6mm
-  % \global\bindingoffset = 10mm
-  % @end tex
-  \internalpagesizes{51\baselineskip}{160mm}
-                    {\voffset}{\hoffset}%
-                    {\bindingoffset}{44pt}%
-                    {297mm}{210mm}%
-  %
-  \tolerance = 700
-  \hfuzz = 1pt
-  \contentsrightmargin = 0pt
-  \defbodyindent = 5mm
-}}
-
-% Use @afivepaper to print on European A5 paper.
-% From romildo@urano.iceb.ufop.br, 2 July 2000.
-% He also recommends making @example and @lisp be small.
-\def\afivepaper{{\globaldefs = 1
-  \parskip = 2pt plus 1pt minus 0.1pt
-  \textleading = 12.5pt
-  %
-  \internalpagesizes{160mm}{120mm}%
-                    {\voffset}{\hoffset}%
-                    {\bindingoffset}{8pt}%
-                    {210mm}{148mm}%
-  %
-  \lispnarrowing = 0.2in
-  \tolerance = 800
-  \hfuzz = 1.2pt
-  \contentsrightmargin = 0pt
-  \defbodyindent = 2mm
-  \tableindent = 12mm
-}}
-
-% A specific text layout, 24x15cm overall, intended for A4 paper.
-\def\afourlatex{{\globaldefs = 1
-  \afourpaper
-  \internalpagesizes{237mm}{150mm}%
-                    {\voffset}{4.6mm}%
-                    {\bindingoffset}{7mm}%
-                    {297mm}{210mm}%
-  %
-  % Must explicitly reset to 0 because we call \afourpaper.
-  \globaldefs = 0
-}}
-
-% Use @afourwide to print on A4 paper in landscape format.
-\def\afourwide{{\globaldefs = 1
-  \afourpaper
-  \internalpagesizes{241mm}{165mm}%
-                    {\voffset}{-2.95mm}%
-                    {\bindingoffset}{7mm}%
-                    {297mm}{210mm}%
-  \globaldefs = 0
-}}
-
-% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
-% Perhaps we should allow setting the margins, \topskip, \parskip,
-% and/or leading, also. Or perhaps we should compute them somehow.
-%
-\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
-\def\pagesizesyyy#1,#2,#3\finish{{%
-  \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
-  \globaldefs = 1
-  %
-  \parskip = 3pt plus 2pt minus 1pt
-  \setleading{\textleading}%
-  %
-  \dimen0 = #1
-  \advance\dimen0 by \voffset
-  %
-  \dimen2 = \hsize
-  \advance\dimen2 by \normaloffset
-  %
-  \internalpagesizes{#1}{\hsize}%
-                    {\voffset}{\normaloffset}%
-                    {\bindingoffset}{44pt}%
-                    {\dimen0}{\dimen2}%
-}}
-
-% Set default to letter.
-%
-\letterpaper
-
-
-\message{and turning on texinfo input format.}
-
-% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\catcode`\$=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-\def\normaldollar{$}%$ font-lock fix
-
-% This macro is used to make a character print one way in \tt
-% (where it can probably be output as-is), and another way in other fonts,
-% where something hairier probably needs to be done.
-%
-% #1 is what to print if we are indeed using \tt; #2 is what to print
-% otherwise.  Since all the Computer Modern typewriter fonts have zero
-% interword stretch (and shrink), and it is reasonable to expect all
-% typewriter fonts to have this, we can check that font parameter.
-%
-\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
-
-% Same as above, but check for italic font.  Actually this also catches
-% non-italic slanted fonts since it is impossible to distinguish them from
-% italic fonts.  But since this is only used by $ and it uses \sl anyway
-% this is not a problem.
-\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
-
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary).
-% Most of these we simply print from the \tt font, but for some, we can
-% use math or other variants that look better in normal text.
-
-\catcode`\"=\active
-\def\activedoublequote{{\tt\char34}}
-\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt\char126}}
-\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
-
-\catcode`\_=\active
-\def_{\ifusingtt\normalunderscore\_}
-% Subroutine for the previous macro.
-\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
-
-\catcode`\|=\active
-\def|{{\tt\char124}}
-\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
-\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-\catcode`\$=\active
-\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
-
-% If a .fmt file is being used, characters that might appear in a file
-% name cannot be active until we have parsed the command line.
-% So turn them off again, and have \everyjob (or @setfilename) turn them on.
-% \otherifyactive is called near the end of this file.
-\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
-
-\catcode`\@=0
-
-% \backslashcurfont outputs one backslash character in current font,
-% as in \char`\\.
-\global\chardef\backslashcurfont=`\\
-\global\let\rawbackslashxx=\backslashcurfont  % let existing .??s files work
-
-% \rawbackslash defines an active \ to do \backslashcurfont.
-% \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other.
-{\catcode`\\=\active
- @gdef@rawbackslash{@let\=@backslashcurfont}
- @gdef@otherbackslash{@let\=@realbackslash}
-}
-
-% \realbackslash is an actual character `\' with catcode other.
-{\catcode`\\=\other @gdef@realbackslash{\}}
-
-% \normalbackslash outputs one backslash in fixed width font.
-\def\normalbackslash{{\tt\backslashcurfont}}
-
-\catcode`\\=\active
-
-% Used sometimes to turn off (effectively) the active characters
-% even after parsing them.
-@def@turnoffactive{%
-  @let"=@normaldoublequote
-  @let\=@realbackslash
-  @let~=@normaltilde
-  @let^=@normalcaret
-  @let_=@normalunderscore
-  @let|=@normalverticalbar
-  @let<=@normalless
-  @let>=@normalgreater
-  @let+=@normalplus
-  @let$=@normaldollar %$ font-lock fix
-  @unsepspaces
-}
-
-% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-% the literal character `\'.  (Thus, \ is not expandable when this is in
-% effect.)
-%
-@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
-
-% Make _ and + \other characters, temporarily.
-% This is canceled by @fixbackslash.
-@otherifyactive
-
-% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
-% That is what \eatinput is for; after that, the `\' should revert to printing
-% a backslash.
-%
-@gdef@eatinput input texinfo{@fixbackslash}
-@global@let\ = @eatinput
-
-% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\{ in the file would cause an error. This macro tries to fix
-% that, assuming it is called before the first `\' could plausibly occur.
-% Also back turn on active characters that might appear in the input
-% file name, in case not using a pre-dumped format.
-%
-@gdef@fixbackslash{%
-  @ifx\@eatinput @let\ = @normalbackslash @fi
-  @catcode`+=@active
-  @catcode`@_=@active
-}
-
-% Say @foo, not \foo, in error messages.
-@escapechar = `@@
-
-% These look ok in all fonts, so just make them not special.
-@catcode`@& = @other
-@catcode`@# = @other
-@catcode`@% = @other
-
-
-@c Local variables:
-@c eval: (add-hook 'write-file-hooks 'time-stamp)
-@c page-delimiter: "^\\\\message"
-@c time-stamp-start: "def\\\\texinfoversion{"
-@c time-stamp-format: "%:y-%02m-%02d.%02H"
-@c time-stamp-end: "}"
-@c End:
-
-@c vim:sw=2:
-
-@ignore
-   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
-@end ignore
diff --git a/doc/version.texi b/doc/version.texi
deleted file mode 100644 (file)
index 2f58075..0000000
+++ /dev/null
@@ -1 +0,0 @@
-@set VERSION 1.10
index 2e6520fc9cc787476a47754734b931d6f8a0ba9b..583c7fcf2ab370df8583ab45f17d202cef2a8b98 100644 (file)
@@ -3,7 +3,7 @@
 @c %**start of header
 @setfilename wget.info
 @include version.texi
-@set UPDATED Jul 2006
+@set UPDATED Mar 2008
 @settitle GNU Wget @value{VERSION} Manual
 @c Disable the monstrous rectangles beside overfull hbox-es.
 @finalout
 * Wget: (wget).         The non-interactive network downloader.
 @end direntry
 
-@ifnottex
-This file documents the the GNU Wget utility for downloading network
+@copying
+This file documents the GNU Wget utility for downloading network
 data.
 
 @c man begin COPYRIGHT
-Copyright @copyright{} 1996--2006 Free Software Foundation, Inc.
+Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
+@iftex
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
 are preserved on all copies.
+@end iftex
 
 @ignore
 Permission is granted to process this file through TeX and print the
@@ -46,11 +49,11 @@ notice identical to this one except for the removal of this paragraph
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no
-Back-Cover Texts.  A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
+Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
+copy of the license is included in the section entitled ``GNU Free
+Documentation License''.
 @c man end
-@end ifnottex
+@end copying
 
 @titlepage
 @title GNU Wget @value{VERSION}
@@ -61,33 +64,30 @@ entitled ``GNU Free Documentation License''.
 @ignore
 @c man begin AUTHOR
 Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
-Currently maintained by Mauro Tortonesi <mauro@ferrara.linux.it>.
+Currently maintained by Micah Cowan <micah@cowan.name>.
 @c man end
 @c man begin SEEALSO
-GNU Info entry for @file{wget}.
+This is @strong{not} the complete manual for GNU Wget.
+For more complete information, including more detailed explanations of
+some of the options, and a number of commands available
+for use with @file{.wgetrc} files and the @samp{-e} option, see the GNU
+Info entry for @file{wget}.
 @c man end
 @end ignore
 
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1996--2006, Free Software Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no
-Back-Cover Texts.  A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
+@insertcopying
 @end titlepage
 
+@contents
+
 @ifnottex
 @node Top
 @top Wget @value{VERSION}
 
-This manual documents version @value{VERSION} of GNU Wget, the freely
-available utility for network downloads.
-
-Copyright @copyright{} 1996--2006 Free Software Foundation, Inc.
+@insertcopying
+@end ifnottex
 
 @menu
 * Overview::            Features of Wget.
@@ -99,10 +99,9 @@ Copyright @copyright{} 1996--2006 Free Software Foundation, Inc.
 * Examples::            Examples of usage.
 * Various::             The stuff that doesn't fit anywhere else.
 * Appendices::          Some useful references.
-* Copying::             You may give out copies of Wget and of this manual.
+* Copying this manual:: You may give out copies of Wget and of this manual.
 * Concept Index::       Topics covered by this manual.
 @end menu
-@end ifnottex
 
 @node Overview
 @chapter Overview
@@ -168,11 +167,8 @@ download from where it left off.
 
 @item
 Wget supports proxy servers, which can lighten the network load, speed
-up retrieval and provide access behind firewalls.  However, if you are
-behind a firewall that requires that you use a socks style gateway,
-you can get the socks library and build Wget with support for socks.
-Wget uses the passive @sc{ftp} downloading by default, active @sc{ftp}
-being an option.
+up retrieval and provide access behind firewalls.  Wget uses the passive
+@sc{ftp} downloading by default, active @sc{ftp} being an option.
 
 @item
 Wget supports IP version 6, the next generation of IP.  IPv6 is
@@ -212,8 +208,8 @@ User startup file.
 @item
 Finally, GNU Wget is free software.  This means that everyone may use
 it, redistribute it and/or modify it under the terms of the GNU General
-Public License, as published by the Free Software Foundation
-(@pxref{Copying}).
+Public License, as published by the Free Software Foundation (see the
+file @file{COPYING} that came with GNU Wget, for details).
 @end itemize
 
 @node Invoking
@@ -347,7 +343,7 @@ wget -r --tries=10 http://fly.srk.fer.hr/ -o log
 @end example
 
 The space between the option accepting an argument and the argument may
-be omitted.  Instead @samp{-o log} you can write @samp{-olog}.
+be omitted.  Instead of @samp{-o log} you can write @samp{-olog}.
 
 You may put several options that do not require arguments together,
 like:
@@ -548,8 +544,16 @@ is used as @var{file}, documents will be printed to standard output,
 disabling link conversion.  (Use @samp{./-} to print to a file
 literally named @samp{-}.)
 
-Note that a combination with @samp{-k} is only well-defined for
-downloading a single document.
+Use of @samp{-O} is @emph{not} intended to mean simply ``use the name
+@var{file} instead of the one in the URL;'' rather, it is
+analogous to shell redirection:
+@samp{wget -O file http://foo} is intended to work like
+@samp{wget -O - http://foo > file}; @file{file} will be truncated
+immediately, and @emph{all} downloaded content will be written there.
+
+Note that a combination with @samp{-k} is only permitted when
+downloading a single document, and combination with any of @samp{-r},
+@samp{-p}, or @samp{-N} is not allowed.
 
 @cindex clobbering, file
 @cindex downloading multiple times
@@ -561,7 +565,7 @@ behavior depends on a few options, including @samp{-nc}.  In certain
 cases, the local file will be @dfn{clobbered}, or overwritten, upon
 repeated download.  In other cases it will be preserved.
 
-When running Wget without @samp{-N}, @samp{-nc}, or @samp{-r},
+When running Wget without @samp{-N}, @samp{-nc}, @samp{-r}, or @samp{p},
 downloading the same file in the same directory will result in the
 original copy of @var{file} being preserved and the second copy being
 named @samp{@var{file}.1}.  If that file is downloaded yet again, the
@@ -573,17 +577,17 @@ clobbering that's prevented (as the numeric suffixes were already
 preventing clobbering), but rather the multiple version saving that's
 prevented.
 
-When running Wget with @samp{-r}, but without @samp{-N} or @samp{-nc},
-re-downloading a file will result in the new copy simply overwriting the
-old.  Adding @samp{-nc} will prevent this behavior, instead causing the
-original version to be preserved and any newer copies on the server to
-be ignored.
+When running Wget with @samp{-r} or @samp{-p}, but without @samp{-N}
+or @samp{-nc}, re-downloading a file will result in the new copy
+simply overwriting the old.  Adding @samp{-nc} will prevent this
+behavior, instead causing the original version to be preserved and any
+newer copies on the server to be ignored.
 
-When running Wget with @samp{-N}, with or without @samp{-r}, the
-decision as to whether or not to download a newer copy of a file depends
-on the local and remote timestamp and size of the file
-(@pxref{Time-Stamping}).  @samp{-nc} may not be specified at the same
-time as @samp{-N}.
+When running Wget with @samp{-N}, with or without @samp{-r} or
+@samp{-p}, the decision as to whether or not to download a newer copy
+of a file depends on the local and remote timestamp and size of the
+file (@pxref{Time-Stamping}).  @samp{-nc} may not be specified at the
+same time as @samp{-N}.
 
 Note that when @samp{-nc} is specified, files with the suffixes
 @samp{.html} or @samp{.htm} will be loaded from the local disk and
@@ -746,7 +750,7 @@ connect timeout, other than that implemented by system libraries.
 @cindex timeout, read
 @item --read-timeout=@var{seconds}
 Set the read (and write) timeout to @var{seconds} seconds.  The
-``time'' of this timeout refers @dfn{idle time}: if, at any point in
+``time'' of this timeout refers to @dfn{idle time}: if, at any point in
 the download, no data is received for more than the specified number
 of seconds, reading fails and the download is restarted.  This option
 does not directly affect the duration of the entire download.
@@ -1079,8 +1083,8 @@ Retrieval Options}).
 @itemx --http-password=@var{password}
 Specify the username @var{user} and password @var{password} on an
 @sc{http} server.  According to the type of the challenge, Wget will
-encode them using either the @code{basic} (insecure) or the
-@code{digest} authentication scheme.
+encode them using either the @code{basic} (insecure),
+the @code{digest}, or the Windows @code{NTLM} authentication scheme.
 
 Another way to specify username and password is in the @sc{url} itself
 (@pxref{URL Format}).  Either method reveals your password to anyone who
@@ -1239,6 +1243,13 @@ wget --header="Host: foo.bar" http://localhost/
 In versions of Wget prior to 1.10 such use of @samp{--header} caused
 sending of duplicate headers.
 
+@cindex redirect
+@item --max-redirect=@var{number}
+Specifies the maximum number of redirections to follow for a resource.
+The default is 20, which is usually far more than necessary. However, on
+those occasions where you want to allow more (or fewer), this is the
+option to use.
+
 @cindex proxy user
 @cindex proxy password
 @cindex proxy authentication
@@ -1335,6 +1346,31 @@ the above will not work because @samp{--save-cookies} will not save
 them (and neither will browsers) and the @file{cookies.txt} file will
 be empty.  In that case use @samp{--keep-session-cookies} along with
 @samp{--save-cookies} to force saving of session cookies.
+
+@cindex Content-Disposition
+@item --content-disposition
+
+If this is set to on, experimental (not fully-functional) support for
+@code{Content-Disposition} headers is enabled. This can currently result in
+extra round-trips to the server for a @code{HEAD} request, and is known
+to suffer from a few bugs, which is why it is not currently enabled by default.
+
+This option is useful for some file-downloading CGI programs that use
+@code{Content-Disposition} headers to describe what the name of a
+downloaded file should be.
+
+@cindex authentication
+@item --auth-no-challenge
+
+If this option is given, Wget will send Basic HTTP authentication
+information (plaintext username and password) for all requests, just
+like Wget 1.10.2 and prior did by default.
+
+Use of this option is not recommended, and is intended only to support
+some few obscure servers, which never send HTTP authentication
+challenges, but accept unsolicited auth info, say, in addition to
+form-based authentication.
+
 @end table
 
 @node HTTPS (SSL/TLS) Options
@@ -1792,7 +1828,10 @@ option to turn it on.
 @item -A @var{acclist} --accept @var{acclist}
 @itemx -R @var{rejlist} --reject @var{rejlist}
 Specify comma-separated lists of file name suffixes or patterns to
-accept or reject (@pxref{Types of Files} for more details).
+accept or reject (@pxref{Types of Files}). Note that if
+any of the wildcard characters, @samp{*}, @samp{?}, @samp{[} or
+@samp{]}, appear in an element of @var{acclist} or @var{rejlist},
+it will be treated as a pattern, rather than a suffix.
 
 @item -D @var{domain-list}
 @itemx --domains=@var{domain-list}
@@ -1858,13 +1897,13 @@ without any distractions, not even those from the same hosts
 @item -I @var{list}
 @itemx --include-directories=@var{list}
 Specify a comma-separated list of directories you wish to follow when
-downloading (@pxref{Directory-Based Limits} for more details.)  Elements
+downloading (@pxref{Directory-Based Limits}).  Elements
 of @var{list} may contain wildcards.
 
 @item -X @var{list}
 @itemx --exclude-directories=@var{list}
 Specify a comma-separated list of directories you wish to exclude from
-download (@pxref{Directory-Based Limits} for more details.)  Elements of
+download (@pxref{Directory-Based Limits}).  Elements of
 @var{list} may contain wildcards.
 
 @item -np
@@ -2080,14 +2119,55 @@ Analogously, to download all files except the ones beginning with
 expansion by the shell.
 @end table
 
+@noindent
 The @samp{-A} and @samp{-R} options may be combined to achieve even
 better fine-tuning of which files to retrieve.  E.g. @samp{wget -A
 "*zelazny*" -R .ps} will download all the files having @samp{zelazny} as
 a part of their name, but @emph{not} the PostScript files.
 
 Note that these two options do not affect the downloading of @sc{html}
-files; Wget must load all the @sc{html}s to know where to go at
-all---recursive retrieval would make no sense otherwise.
+files (as determined by a @samp{.htm} or @samp{.html} filename
+prefix). This behavior may not be desirable for all users, and may be
+changed for future versions of Wget.
+
+Note, too, that query strings (strings at the end of a URL beginning
+with a question mark (@samp{?}) are not included as part of the
+filename for accept/reject rules, even though these will actually
+contribute to the name chosen for the local file. It is expected that
+a future version of Wget will provide an option to allow matching
+against query strings.
+
+Finally, it's worth noting that the accept/reject lists are matched
+@emph{twice} against downloaded files: once against the URL's filename
+portion, to determine if the file should be downloaded in the first
+place; then, after it has been accepted and successfully downloaded,
+the local file's name is also checked against the accept/reject lists
+to see if it should be removed. The rationale was that, since
+@samp{.htm} and @samp{.html} files are always downloaded regardless of
+accept/reject rules, they should be removed @emph{after} being
+downloaded and scanned for links, if they did match the accept/reject
+lists. However, this can lead to unexpected results, since the local
+filenames can differ from the original URL filenames in the following
+ways, all of which can change whether an accept/reject rule matches:
+
+@itemize @bullet
+@item
+If the local file already exists and @samp{--no-directories} was
+specified, a numeric suffix will be appended to the original name.
+@item
+If @samp{--html-extension} was specified, the local filename will have
+@samp{.html} appended to it. If Wget is invoked with @samp{-E -A.php},
+a filename such as @samp{index.php} will match be accepted, but upon
+download will be named @samp{index.php.html}, which no longer matches,
+and so the file will be deleted.
+@item
+Query strings do not contribute to URL matching, but are included in
+local filenames, and so @emph{do} contribute to filename matching.
+@end itemize
+
+@noindent
+This behavior, too, is considered less-than-desirable, and may change
+in a future version of Wget.
 
 @node Directory-Based Limits
 @section Directory-Based Limits
@@ -2163,6 +2243,14 @@ followed.  Only the archive you are interested in will be downloaded.
 Essentially, @samp{--no-parent} is similar to
 @samp{-I/~luzer/my-archive}, only it handles redirections in a more
 intelligent fashion.
+
+@strong{Note} that, for HTTP (and HTTPS), the trailing slash is very
+important to @samp{--no-parent}. HTTP has no concept of a ``directory''---Wget
+relies on you to indicate what's a directory and what isn't. In
+@samp{http://foo/bar/}, Wget will consider @samp{bar} to be a
+directory, while in @samp{http://foo/bar} (no trailing slash),
+@samp{bar} will be considered a filename (so @samp{--no-parent} would be
+meaningless, as its parent is @samp{/}).
 @end table
 
 @node Relative Links
@@ -2481,10 +2569,6 @@ Same as @samp{-A}/@samp{-R} (@pxref{Types of Files}).
 @item add_hostdir = on/off
 Enable/disable host-prefixed file names.  @samp{-nH} disables it.
 
-@item continue = on/off
-If set to on, force continuation of preexistent partially retrieved
-files.  See @samp{-c} before setting it.
-
 @item background = on/off
 Enable/disable going to background---the same as @samp{-b} (which
 enables it).
@@ -2530,15 +2614,23 @@ If this is set to off, the server certificate is not checked against
 the specified client authorities.  The default is ``on''.  The same as
 @samp{--check-certificate}.
 
+@item connect_timeout = @var{n}
+Set the connect timeout---the same as @samp{--connect-timeout}.
+
+@item content_disposition = on/off
+Turn on recognition of the (non-standard) @samp{Content-Disposition}
+HTTP header---if set to @samp{on}, the same as @samp{--content-disposition}.
+
+@item continue = on/off
+If set to on, force continuation of preexistent partially retrieved
+files.  See @samp{-c} before setting it.
+
 @item convert_links = on/off
 Convert non-relative links locally.  The same as @samp{-k}.
 
 @item cookies = on/off
 When set to off, disallow cookies.  See the @samp{--cookies} option.
 
-@item connect_timeout = @var{n}
-Set the connect timeout---the same as @samp{--connect-timeout}.
-
 @item cut_dirs = @var{n}
 Ignore @var{n} remote directory components.  Equivalent to
 @samp{--cut-dirs=@var{n}}.
@@ -2575,13 +2667,13 @@ respectively.  With dot settings you can tailor the dot retrieval to
 suit your needs, or you can use the predefined @dfn{styles}
 (@pxref{Download Options}).
 
+@item dot_spacing = @var{n}
+Specify the number of dots in a single cluster (10 by default).
+
 @item dots_in_line = @var{n}
 Specify the number of dots that will be printed in each line throughout
 the retrieval (50 by default).
 
-@item dot_spacing = @var{n}
-Specify the number of dots in a single cluster (10 by default).
-
 @item egd_file = @var{file}
 Use @var{string} as the EGD socket file name.  The same as
 @samp{--egd-file=@var{file}}.
@@ -2627,7 +2719,7 @@ This command used to be named @code{login} prior to Wget 1.10.
 Turn globbing on/off---the same as @samp{--glob} and @samp{--no-glob}.
 
 @item header = @var{string}
-Define a header for HTTP doewnloads, like using
+Define a header for HTTP downloads, like using
 @samp{--header=@var{string}}.
 
 @item html_extension = on/off
@@ -2694,13 +2786,17 @@ Load cookies from @var{file}.  See @samp{--load-cookies @var{file}}.
 @item logfile = @var{file}
 Set logfile to @var{file}, the same as @samp{-o @var{file}}.
 
+@item max_redirect = @var{number}
+Specifies the maximum number of redirections to follow for a resource.
+See @samp{--max-redirect=@var{number}}.
+
 @item mirror = on/off
 Turn mirroring on/off.  The same as @samp{-m}.
 
 @item netrc = on/off
 Turn reading netrc on or off.
 
-@item noclobber = on/off
+@item no_clobber = on/off
 Same as @samp{-nc}.
 
 @item no_parent = on/off
@@ -2759,14 +2855,14 @@ and @samp{bar}.  Equivalent to @samp{--progress=@var{string}}.
 When set, use the protocol name as a directory component of local file
 names.  The same as @samp{--protocol-directories}.
 
-@item proxy_user = @var{string}
-Set proxy authentication user name to @var{string}, like
-@samp{--proxy-user=@var{string}}.
-
 @item proxy_password = @var{string}
 Set proxy authentication password to @var{string}, like
 @samp{--proxy-password=@var{string}}.
 
+@item proxy_user = @var{string}
+Set proxy authentication user name to @var{string}, like
+@samp{--proxy-user=@var{string}}.
+
 @item quiet = on/off
 Quiet mode---the same as @samp{-q}.
 
@@ -2799,8 +2895,8 @@ Recursive on/off---the same as @samp{-r}.
 
 @item referer = @var{string}
 Set HTTP @samp{Referer:} header just like
-@samp{--referer=@var{string}}.  (Note it was the folks who wrote the
-@sc{http} spec who got the spelling of ``referrer'' wrong.)
+@samp{--referer=@var{string}}.  (Note that it was the folks who wrote
+the @sc{http} spec who got the spelling of ``referrer'' wrong.)
 
 @item relative_only = on/off
 Follow only relative links---the same as @samp{-L} (@pxref{Relative
@@ -2875,7 +2971,7 @@ Turn verbose on/off---the same as @samp{-v}/@samp{-nv}.
 Wait @var{n} seconds between retrievals---the same as @samp{-w
 @var{n}}.
 
-@item waitretry = @var{n}
+@item wait_retry = @var{n}
 Wait up to @var{n} seconds between retries of failed retrievals
 only---the same as @samp{--waitretry=@var{n}}.  Note that this is
 turned on by default in the global @file{wgetrc}.
@@ -3157,9 +3253,11 @@ wget -m -k -K -E http://www.gnu.org/ -o /home/me/weeklog
 This chapter contains all the stuff that could not fit anywhere else.
 
 @menu
-* Proxies::             Support for proxy servers
+* Proxies::             Support for proxy servers.
 * Distribution::        Getting the latest version.
+* Web Site::            GNU Wget's presence on the World Wide Web.
 * Mailing List::        Wget mailing list for announcements and discussion.
+* Internet Relay Chat:: Wget's presence on IRC.
 * Reporting Bugs::      How and where to report bugs.
 * Portability::         The systems Wget works on.
 * Signals::             Signal-handling performed by Wget.
@@ -3250,16 +3348,24 @@ master GNU archive site ftp.gnu.org, and its mirrors.  For example,
 Wget @value{VERSION} can be found at
 @url{ftp://ftp.gnu.org/pub/gnu/wget/wget-@value{VERSION}.tar.gz}
 
+@node Web Site
+@section Web Site
+@cindex web site
+
+The official web site for GNU Wget is at
+@url{http://www.gnu.org/software/wget/}. However, most useful
+information resides at ``The Wget Wgiki'',
+@url{http://wget.addictivecode.org/}.
+
 @node Mailing List
 @section Mailing List
 @cindex mailing list
 @cindex list
 
-There are several Wget-related mailing lists, all hosted by
-SunSITE.dk.  The general discussion list is at
-@email{wget@@sunsite.dk}.  It is the preferred place for bug reports
-and suggestions, as well as for discussion of development.  You are
-invited to subscribe.
+There are several Wget-related mailing lists.  The general discussion
+list is at @email{wget@@sunsite.dk}.  It is the preferred place for
+support requests and suggestions, as well as for discussion of
+development.  You are invited to subscribe.
 
 To subscribe, simply send mail to @email{wget-subscribe@@sunsite.dk}
 and follow the instructions.  Unsubscribe by mailing to
@@ -3267,19 +3373,38 @@ and follow the instructions.  Unsubscribe by mailing to
 @url{http://www.mail-archive.com/wget%40sunsite.dk/} and at
 @url{http://news.gmane.org/gmane.comp.web.wget.general}.
 
-The second mailing list is at @email{wget-patches@@sunsite.dk}, and is
+Another mailing list is at @email{wget-patches@@sunsite.dk}, and is
 used to submit patches for review by Wget developers.  A ``patch'' is
 a textual representation of change to source code, readable by both
-humans and programs.  The file @file{PATCHES} that comes with Wget
+humans and programs.  The
+@url{http://wget.addictivecode.org/PatchGuidelines} page
 covers the creation and submitting of patches in detail.  Please don't
 send general suggestions or bug reports to @samp{wget-patches}; use it
 only for patch submissions.
 
-To subscribe, simply send mail to @email{wget-subscribe@@sunsite.dk}
-and follow the instructions.  Unsubscribe by mailing to
-@email{wget-unsubscribe@@sunsite.dk}.  The mailing list is archived at
+Subscription is the same as above for @email{wget@@sunsite.dk}, except
+that you send to @email{wget-patches-subscribe@@sunsite.dk}, instead.
+The mailing list is archived at
 @url{http://news.gmane.org/gmane.comp.web.wget.patches}.
 
+Finally, there is the @email{wget-notify@@addictivecode.org} mailing
+list. This is a non-discussion list that receives commit notifications
+from the source repository, and also bug report-change notifications.
+This is the highest-traffic list for Wget, and is recommended only for
+people who are seriously interested in ongoing Wget development.
+Subscription is through the @code{mailman} interface at
+@url{http://addictivecode.org/mailman/listinfo/wget-notify}.
+
+@node Internet Relay Chat
+@section Internet Relay Chat
+@cindex Internet Relay Chat
+@cindex IRC
+@cindex #wget
+
+While, at the time of this writing, there is very low activity, we do
+have a support channel set up via IRC at @code{irc.freenode.org},
+@code{#wget}. Come check it out!
+
 @node Reporting Bugs
 @section Reporting Bugs
 @cindex bugs
@@ -3287,8 +3412,8 @@ and follow the instructions.  Unsubscribe by mailing to
 @cindex bug reports
 
 @c man begin BUGS
-You are welcome to send bug reports about GNU Wget to
-@email{bug-wget@@gnu.org}.
+You are welcome to submit bug reports via the GNU Wget bug tracker (see
+@url{http://wget.addictivecode.org/BugTracker}).
 
 Before actually submitting a bug report, please try to follow a few
 simple guidelines.
@@ -3298,11 +3423,13 @@ simple guidelines.
 Please try to ascertain that the behavior you see really is a bug.  If
 Wget crashes, it's a bug.  If Wget does not behave as documented,
 it's a bug.  If things work strange, but you are not sure about the way
-they are supposed to work, it might well be a bug.
+they are supposed to work, it might well be a bug, but you might want to
+double-check the documentation and the mailing lists (@pxref{Mailing
+List}).
 
 @item
 Try to repeat the bug in as simple circumstances as possible.  E.g. if
-Wget crashes while downloading @samp{wget -rl0 -kKE -t5 -Y0
+Wget crashes while downloading @samp{wget -rl0 -kKE -t5 --no-proxy
 http://yoyodyne.com -o /tmp/log}, you should try to see if the crash is
 repeatable, and if will occur with a simpler set of options.  You might
 even try to start the download at the page where the crash occurred to
@@ -3347,10 +3474,10 @@ uses GNU Autoconf for building and configuring, and mostly avoids using
 ``special'' features of any particular Unix, it should compile (and
 work) on all common Unix flavors.
 
-Various Wget versions have been compiled and tested under many kinds
-of Unix systems, including GNU/Linux, Solaris, SunOS 4.x, OSF (aka
-Digital Unix or Tru64), Ultrix, *BSD, IRIX, AIX, and others.  Some of
-those systems are no longer in widespread use and may not be able to
+Various Wget versions have been compiled and tested under many kinds of
+Unix systems, including GNU/Linux, Solaris, SunOS 4.x, Mac OS X, OSF
+(aka Digital Unix or Tru64), Ultrix, *BSD, IRIX, AIX, and others.  Some
+of those systems are no longer in widespread use and may not be able to
 support recent versions of Wget.  If Wget fails to compile on your
 system, we would like to know about it.
 
@@ -3366,6 +3493,10 @@ Windows usage should be reported to Wget mailing list at
 @email{wget@@sunsite.dk} where the volunteers who maintain the
 Windows-related features might look at them.
 
+Support for building on MS-DOS via DJGPP has been contributed by Gisle
+Vanem; a port to VMS is maintained by Steven Schweda, and is available
+at @url{http://antinode.org/}.
+
 @node Signals
 @section Signals
 @cindex signal handling
@@ -3522,7 +3653,7 @@ GNU Wget was written by Hrvoje Nik@v{s}i@'{c} @email{hniksic@@xemacs.org},
 @ifnottex
 GNU Wget was written by Hrvoje Niksic @email{hniksic@@xemacs.org},
 @end ifnottex
-and it is currently maintained by Mauro Tortonesi @email{mauro@@ferrara.linux.it}.
+and it is currently maintained by Micah Cowan @email{micah@@cowan.name}.
 
 However, the development of Wget could never have gone as far as it has, were
 it not for the help of many people, either with bug reports, feature proposals,
@@ -3603,6 +3734,22 @@ layout and many other things.
 Junio Hamano---donated support for Opie and @sc{http} @code{Digest}
 authentication.
 
+@item
+Mauro Tortonesi---Improved IPv6 support, adding support for dual
+family systems.  Refactored and enhanced FTP IPv6 code. Maintained GNU
+Wget from 2004--2007.
+
+@item
+Christopher G.@: Lewis---Maintenance of the Windows version of GNU WGet.
+
+@item
+Gisle Vanem---Many helpful patches and improvements, especially for
+Windows and MS-DOS support.
+
+@item
+Ralf Wildenhues---Contributed patches to convert Wget to use Automake as
+part of its build process, and various bugfixes.
+
 @item
 People who provided donations for development---including Brian Gough.
 @end itemize
@@ -3617,12 +3764,13 @@ Martin Baehr,
 Dieter Baron,
 Roger Beeman,
 Dan Berger,
-T. Bharath,
+T.@: Bharath,
 Christian Biere,
 Paul Bludov,
 Daniel Bodea,
 Mark Boyns,
 John Burden,
+Julien Buty,
 Wanderlei Cavassin,
 Gilles Cedoc,
 Tim Charron,
@@ -3638,6 +3786,7 @@ Andreas Damm,
 Ahmon Dancy,
 Andrew Davison,
 Bertrand Demiddelaer,
+Alexander Dergachev,
 Andrew Deryabin,
 Ulrich Drepper,
 Marc Duponcheel,
@@ -3658,7 +3807,7 @@ Aleksandar Erkalovic,
 Andy Eskilsson,
 Christian Fraenkel,
 David Fritz,
-Charles C. Fu,
+Charles C.@: Fu,
 FUJISHIMA Satsuki,
 Masashi Fujita,
 Howard Gayle,
@@ -3713,7 +3862,7 @@ Simos KSenitellis,
 @end ifnottex
 Christian Lackas,
 Hrvoje Lacko,
-Daniel S. Lewart,
+Daniel S.@: Lewart,
 @iftex
 Nicol@'{a}s Lichtmeier,
 @end iftex
@@ -3721,7 +3870,7 @@ Nicol@'{a}s Lichtmeier,
 Nicolas Lichtmeier,
 @end ifnottex
 Dave Love,
-Alexander V. Lukyanov,
+Alexander V.@: Lukyanov,
 @iftex
 Thomas Lu@ss{}nig,
 @end iftex
@@ -3730,16 +3879,16 @@ Thomas Lussnig,
 @end ifnottex
 Andre Majorel,
 Aurelien Marchand,
-Matthew J. Mellon,
+Matthew J.@: Mellon,
 Jordan Mendelson,
 Lin Zhe Min,
 Jan Minar,
 Tim Mooney,
 Keith Moore,
-Adam D. Moss,
+Adam D.@: Moss,
 Simon Munton,
 Charlie Negyesi,
-R. K. Owen,
+R.@: K.@: Owen,
 Leonid Petrov,
 Simone Piunno,
 Andrew Pollock,
@@ -3761,6 +3910,7 @@ Keith Refson,
 Bill Richardson,
 Tyler Riddle,
 Tobias Ringstrom,
+Jochen Roderburg,
 @c Texinfo doesn't grok @'{@i}, so we have to use TeX itself.
 @tex
 Juan Jos\'{e} Rodr\'{\i}guez,
@@ -3768,13 +3918,13 @@ Juan Jos\'{e} Rodr\'{\i}guez,
 @ifnottex
 Juan Jose Rodriguez,
 @end ifnottex
-Maciej W. Rozycki,
-Edward J. Sabol,
+Maciej W.@: Rozycki,
+Edward J.@: Sabol,
 Heinz Salzmann,
 Robert Schmidt,
 Nicolas Schodet,
 Andreas Schwab,
-Steven M. Schweda,
+Steven M.@: Schweda,
 Chris Seawood,
 Dennis Smit,
 Toomas Soome,
@@ -3790,6 +3940,7 @@ Philipp Thomas,
 Mauro Tortonesi,
 Dave Turner,
 Gisle Vanem,
+Rabin Vincent,
 Russell Vincent,
 @iftex
 @v{Z}eljko Vrba,
@@ -3798,7 +3949,9 @@ Russell Vincent,
 Zeljko Vrba,
 @end ifnottex
 Charles G Waldman,
-Douglas E. Wegscheid,
+Douglas E.@: Wegscheid,
+Ralf Wildenhues,
+Joshua David Williams,
 YAMAZAKI Makoto,
 Jasmin Zainul,
 @iftex
@@ -3812,79 +3965,16 @@ Kristijan Zimmer.
 Apologies to all who I accidentally left out, and many thanks to all the
 subscribers of the Wget mailing list.
 
-@node Copying
-@chapter Copying
-@cindex copying
-@cindex GPL
-@cindex GFDL
-@cindex free software
-
-GNU Wget is licensed under the GNU General Public License (GNU GPL),
-which makes it @dfn{free software}.  Please note that ``free'' in ``free
-software'' refers to liberty, not price.  As some people like to point
-out, it's the ``free'' of ``free speech'', not the ``free'' of ``free
-beer''.
-
-The exact and legally binding distribution terms are spelled out below.
-The GPL guarantees that you have the right (freedom) to run and change
-GNU Wget and distribute it to others, and even---if you want---charge
-money for doing any of those things.  With these rights comes the
-obligation to distribute the source code along with the software and to
-grant your recipients the same rights and impose the same restrictions.
-
-This licensing model is also known as @dfn{open source} because it,
-among other things, makes sure that all recipients will receive the
-source code along with the program, and be able to improve it.  The GNU
-project prefers the term ``free software'' for reasons outlined at
-@url{http://www.gnu.org/philosophy/free-software-for-freedom.html}.
-
-The exact license terms are defined by this paragraph and the GNU
-General Public License it refers to:
-
-@quotation
-GNU Wget 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 2 of the License, or (at your
-option) any later version.
-
-GNU Wget 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.
-
-A copy of the GNU General Public License is included as part of this
-manual; if you did not receive it, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-@end quotation
-
-In addition to this, this manual is free in the same sense:
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no
-Back-Cover Texts.  A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
-@end quotation
-
-@c #### Maybe we should wrap these licenses in ifinfo?  Stallman says
-@c that the GFDL needs to be present in the manual, and to me it would
-@c suck to include the license for the manual and not the license for
-@c the program.
-
-The full texts of the GNU General Public License and of the GNU Free
-Documentation License are available below.
-
+@node Copying this manual
+@appendix Copying this manual
+  
 @menu
-* GNU General Public License::
-* GNU Free Documentation License::
+* GNU Free Documentation License::  Licnse for copying this manual.
 @end menu
 
-@include gpl.texi
-
 @include fdl.texi
 
+
 @node Concept Index
 @unnumbered Concept Index
 @printindex cp
index 36f96f3e033cfaeefc092147d99d92f78e030d12..4fbbae7b7ff932e5af542dbe9612f193a68ed4d1 100755 (executable)
@@ -1,36 +1,62 @@
 #!/bin/sh
-#
 # install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
+
+scriptversion=2006-10-14.15
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
 #
-# Copyright 1991 by the Massachusetts Institute of Technology
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
 #
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
 # `make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
 
+nl='
+'
+IFS=" ""       $nl"
 
 # set DOITPROG to echo to test this script
 
 # Don't use :- since 4.3BSD and earlier shells don't like it.
 doit="${DOITPROG-}"
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
 
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
 
 mvprog="${MVPROG-mv}"
 cpprog="${CPPROG-cp}"
@@ -41,236 +67,441 @@ stripprog="${STRIPPROG-strip}"
 rmprog="${RMPROG-rm}"
 mkdirprog="${MKDIRPROG-mkdir}"
 
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-       -c) instcmd=$cpprog
-           shift
-           continue;;
-
-       -d) dir_arg=true
-           shift
-           continue;;
-
-       -m) chmodcmd="$chmodprog $2"
-           shift
-           shift
-           continue;;
-
-       -o) chowncmd="$chownprog $2"
-           shift
-           shift
-           continue;;
-
-       -g) chgrpcmd="$chgrpprog $2"
-           shift
-           shift
-           continue;;
-
-       -s) stripcmd=$stripprog
-           shift
-           continue;;
-
-       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-           shift
-           continue;;
-
-       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-           shift
-           continue;;
-
-       *)  if [ x"$src" = x ]
-           then
-               src=$1
-           else
-               # this colon is to work around a 386BSD /bin/sh bug
-               :
-               dst=$1
-           fi
-           shift
-           continue;;
-    esac
-done
+posix_glob=
+posix_mkdir=
 
-if [ x"$src" = x ]
-then
-       echo "$0: no input file specified" >&2
-       exit 1
-else
-       :
-fi
+# Desired mode of installed file.
+mode=0755
 
-if [ x"$dir_arg" != x ]; then
-       dst=$src
-       src=""
+chmodcmd=$chmodprog
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+        shift
+        shift
+       case $mode in
+         *' '* | *'    '* | *'
+'*       | *'*'* | *'?'* | *'['*)
+           echo "$0: invalid mode: $mode" >&2
+           exit 1;;
+       esac
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+       shift
+       shift
+       continue;;
 
-       if [ -d "$dst" ]; then
-               instcmd=:
-               chmodcmd=""
-       else
-               instcmd=$mkdirprog
-       fi
-else
+    -T) no_target_directory=true
+       shift
+       continue;;
 
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
+    --version) echo "$0 $scriptversion"; exit $?;;
 
-       if [ -f "$src" ] || [ -d "$src" ]
-       then
-               :
-       else
-               echo "$0: $src does not exist" >&2
-               exit 1
-       fi
+    --)        shift
+       break;;
 
-       if [ x"$dst" = x ]
-       then
-               echo "$0: no destination specified" >&2
-               exit 1
-       else
-               :
-       fi
+    -*)        echo "$0: invalid option: $1" >&2
+       exit 1;;
 
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
+    *)  break;;
+  esac
+done
 
-       if [ -d "$dst" ]
-       then
-               dst=$dst/`basename "$src"`
-       else
-               :
-       fi
+if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dstarg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dstarg"
+      shift # fnord
+    fi
+    shift # arg
+    dstarg=$arg
+  done
 fi
 
-## this sed command emulates the dirname command
-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-       '
-IFS="${IFS-$defaultIFS}"
-
-oIFS=$IFS
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS=$oIFS
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-       pathcomp=$pathcomp$1
-       shift
-
-       if [ ! -d "$pathcomp" ] ;
-        then
-               $mkdirprog "$pathcomp"
-       else
-               :
-       fi
-
-       pathcomp=$pathcomp/
-done
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
 fi
 
-if [ x"$dir_arg" != x ]
-then
-       $doit $instcmd "$dst" &&
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-       if [ x"$transformarg" = x ]
-       then
-               dstfile=`basename "$dst"`
-       else
-               dstfile=`basename "$dst" $transformbasename |
-                       sed $transformarg`$transformbasename
-       fi
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
 
-# don't allow the sed command to completely eliminate the filename
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
 
-       if [ x"$dstfile" = x ]
-       then
-               dstfile=`basename "$dst"`
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+       echo "$0: $dstarg: Is a directory" >&2
+       exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+       (dirname "$dst") 2>/dev/null ||
+       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+            X"$dst" : 'X\(//\)[^/]' \| \
+            X"$dst" : 'X\(//\)$' \| \
+            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+       echo X"$dst" |
+           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)[^/].*/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\).*/{
+                  s//\1/
+                  q
+                }
+                s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+       # Create intermediate dirs using mode 755 as modified by the umask.
+       # This is like FreeBSD 'install' as of 1997-10-28.
+       umask=`umask`
+       case $stripcmd.$umask in
+         # Optimize common cases.
+         *[2367][2367]) mkdir_umask=$umask;;
+         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+         *[0-7])
+           mkdir_umask=`expr $umask + 22 \
+             - $umask % 100 % 40 + $umask % 20 \
+             - $umask % 10 % 4 + $umask % 2
+           `;;
+         *) mkdir_umask=$umask,go-w;;
+       esac
+
+       # With -d, create the new directory with the user-specified mode.
+       # Otherwise, rely on $mkdir_umask.
+       if test -n "$dir_arg"; then
+         mkdir_mode=-m$mode
        else
-               :
+         mkdir_mode=
        fi
 
-# Make a couple of temp file names in the proper directory.
-
-       dsttmp=$dstdir/#inst.$$#
-       rmtmp=$dstdir/#rm.$$#
-
-# Trap to clean up temp files at exit.
-
-       trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
-       trap '(exit $?); exit' 1 2 13 15
-
-# Move or copy the file name to the temp name
-
-       $doit $instcmd "$src" "$dsttmp" &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
-
-# Now remove or move aside any old file at destination location.  We try this
-# two ways since rm can't unlink itself on some systems and the destination
-# file might be busy for other reasons.  In this case, the final cleanup
-# might fail but the new file should still install successfully.
+       posix_mkdir=false
+       case $umask in
+         *[123567][0-7][0-7])
+           # POSIX mkdir -p sets u+wx bits regardless of umask, which
+           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+           ;;
+         *)
+           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+           if (umask $mkdir_umask &&
+               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+           then
+             if test -z "$dir_arg" || {
+                  # Check for POSIX incompatibilities with -m.
+                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                  # other-writeable bit of parent directory when it shouldn't.
+                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                  case $ls_ld_tmpdir in
+                    d????-?r-*) different_mode=700;;
+                    d????-?--*) different_mode=755;;
+                    *) false;;
+                  esac &&
+                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                  }
+                }
+             then posix_mkdir=:
+             fi
+             rmdir "$tmpdir/d" "$tmpdir"
+           else
+             # Remove any dirs left behind by ancient mkdir implementations.
+             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+           fi
+           trap '' 0;;
+       esac;;
+    esac
 
-{
-       if [ -f "$dstdir/$dstfile" ]
-       then
-               $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
-               $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
-               {
-                 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
-                 (exit 1); exit
-               }
+    if
+      $posix_mkdir && (
+       umask $mkdir_umask &&
+       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+       /*) prefix=/ ;;
+       -*) prefix=./ ;;
+       *)  prefix= ;;
+      esac
+
+      case $posix_glob in
+        '')
+         if (set -f) 2>/dev/null; then
+           posix_glob=true
+         else
+           posix_glob=false
+         fi ;;
+      esac
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob && set -f
+      set fnord $dstdir
+      shift
+      $posix_glob && set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+       test -z "$d" && continue
+
+       prefix=$prefix$d
+       if test -d "$prefix"; then
+         prefixes=
        else
-               :
+         if $posix_mkdir; then
+           (umask=$mkdir_umask &&
+            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+           # Don't fail if two instances are running concurrently.
+           test -d "$prefix" || exit 1
+         else
+           case $prefix in
+             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+             *) qprefix=$prefix;;
+           esac
+           prefixes="$prefixes '$qprefix'"
+         fi
        fi
-} &&
-
-# Now rename the file to the real destination.
-
-       $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-
-fi &&
-
-# The final little trick to "correctly" pass the exit status to the exit trap.
+       prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+       # Don't fail if two instances are running concurrently.
+       (umask $mkdir_umask &&
+        eval "\$doit_exec \$mkdirprog $prefixes") ||
+         test -d "$dstdir" || exit 1
+       obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
+      || {
+          # The rename failed, perhaps because mv can't rename something else
+          # to itself, or perhaps because mv is so ancient that it does not
+          # support -f.
+
+          # Now remove or move aside any old file at destination location.
+          # We try this two ways since rm can't unlink itself on some
+          # systems and the destination file might be busy for other
+          # reasons.  In this case, the final cleanup might fail but the new
+          # file should still install successfully.
+          {
+            if test -f "$dst"; then
+              $doit $rmcmd -f "$dst" 2>/dev/null \
+              || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
+                    && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
+              || {
+                echo "$0: cannot unlink or rename $dst" >&2
+                (exit 1); exit 1
+              }
+            else
+              :
+            fi
+          } &&
+
+          # Now rename the file to the real destination.
+          $doit $mvcmd "$dsttmp" "$dst"
+        }
+    } || exit 1
+
+    trap '' 0
+  fi
+done
 
-{
-       (exit 0); exit
-}
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/lib/Makefile.am b/lib/Makefile.am
new file mode 100644 (file)
index 0000000..6a63184
--- /dev/null
@@ -0,0 +1,152 @@
+## DO NOT EDIT! GENERATED AUTOMATICALLY!
+## Process this file with automake to produce Makefile.in.
+# Copyright (C) 2004-2007 Free Software Foundation, Inc.
+#
+# This file is free software, distributed under the terms of the GNU
+# General Public License.  As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=. --no-libtool --macro-prefix=gl c-ctype getopt maintainer-makefile
+
+AUTOMAKE_OPTIONS = 1.5 gnits
+
+noinst_HEADERS =
+noinst_LIBRARIES =
+noinst_LTLIBRARIES =
+EXTRA_DIST =
+BUILT_SOURCES =
+SUFFIXES =
+MOSTLYCLEANFILES = core *.stackdump
+MOSTLYCLEANDIRS =
+CLEANFILES =
+DISTCLEANFILES =
+MAINTAINERCLEANFILES =
+
+AM_CPPFLAGS =
+
+noinst_LIBRARIES += libgnu.a
+
+libgnu_a_SOURCES =
+libgnu_a_LIBADD = $(gl_LIBOBJS)
+libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
+EXTRA_libgnu_a_SOURCES =
+
+## begin gnulib module c-ctype
+
+libgnu_a_SOURCES += c-ctype.h c-ctype.c
+
+## end   gnulib module c-ctype
+
+## begin gnulib module getopt
+
+BUILT_SOURCES += $(GETOPT_H)
+
+# We need the following in order to create <getopt.h> when the system
+# doesn't have one that works with the given compiler.
+getopt.h: getopt.in.h
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         cat $(srcdir)/getopt.in.h; \
+       } > $@-t
+       mv -f $@-t $@
+MOSTLYCLEANFILES += getopt.h getopt.h-t
+
+EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h
+
+EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c
+
+## end   gnulib module getopt
+
+## begin gnulib module gettext-h
+
+libgnu_a_SOURCES += gettext.h
+
+## end   gnulib module gettext-h
+
+## begin gnulib module link-warning
+
+LINK_WARNING_H=$(top_srcdir)/./link-warning.h
+
+EXTRA_DIST += $(top_srcdir)/./link-warning.h
+
+## end   gnulib module link-warning
+
+## begin gnulib module maintainer-makefile
+
+EXTRA_DIST += $(top_srcdir)/./GNUmakefile $(top_srcdir)/./maint.mk
+
+## end   gnulib module maintainer-makefile
+
+## begin gnulib module stdbool
+
+BUILT_SOURCES += $(STDBOOL_H)
+
+# We need the following in order to create <stdbool.h> when the system
+# doesn't have one that works.
+stdbool.h: stdbool.in.h
+       rm -f $@-t $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
+       } > $@-t
+       mv $@-t $@
+MOSTLYCLEANFILES += stdbool.h stdbool.h-t
+
+EXTRA_DIST += stdbool.in.h
+
+## end   gnulib module stdbool
+
+## begin gnulib module unistd
+
+BUILT_SOURCES += unistd.h
+
+# We need the following in order to create an empty placeholder for
+# <unistd.h> when the system doesn't have one.
+unistd.h: unistd.in.h
+       rm -f $@-t $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+             -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
+             -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
+             -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
+             -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
+             -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
+             -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
+             -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
+             -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
+             -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
+             -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
+             -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
+             -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+             -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+             -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
+             -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
+             -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+             -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
+             -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
+             -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+             -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
+             -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+             -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
+             -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+             < $(srcdir)/unistd.in.h; \
+       } > $@-t
+       mv $@-t $@
+MOSTLYCLEANFILES += unistd.h unistd.h-t
+
+EXTRA_DIST += unistd.in.h
+
+## end   gnulib module unistd
+
+
+mostlyclean-local: mostlyclean-generic
+       @for dir in '' $(MOSTLYCLEANDIRS); do \
+         if test -n "$$dir" && test -d $$dir; then \
+           echo "rmdir $$dir"; rmdir $$dir; \
+         fi; \
+       done; \
+       :
diff --git a/lib/c-ctype.c b/lib/c-ctype.c
new file mode 100644 (file)
index 0000000..b87e6ef
--- /dev/null
@@ -0,0 +1,396 @@
+/* Character handling in C locale.
+
+   Copyright 2000-2003, 2006 Free Software Foundation, Inc.
+
+This program 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 3 of the License, 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 General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#include <config.h>
+
+/* Specification.  */
+#define NO_C_CTYPE_MACROS
+#include "c-ctype.h"
+
+/* The function isascii is not locale dependent. Its use in EBCDIC is
+   questionable. */
+bool
+c_isascii (int c)
+{
+  return (c >= 0x00 && c <= 0x7f);
+}
+
+bool
+c_isalnum (int c)
+{
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+  return ((c >= '0' && c <= '9')
+          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
+#else
+  return ((c >= '0' && c <= '9')
+          || (c >= 'A' && c <= 'Z')
+          || (c >= 'a' && c <= 'z'));
+#endif
+#else
+  switch (c)
+    {
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isalpha (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+  return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
+#else
+  return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
+#endif
+#else
+  switch (c)
+    {
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isblank (int c)
+{
+  return (c == ' ' || c == '\t');
+}
+
+bool
+c_iscntrl (int c)
+{
+#if C_CTYPE_ASCII
+  return ((c & ~0x1f) == 0 || c == 0x7f);
+#else
+  switch (c)
+    {
+    case ' ': case '!': case '"': case '#': case '$': case '%':
+    case '&': case '\'': case '(': case ')': case '*': case '+':
+    case ',': case '-': case '.': case '/':
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+    case '{': case '|': case '}': case '~':
+      return 0;
+    default:
+      return 1;
+    }
+#endif
+}
+
+bool
+c_isdigit (int c)
+{
+#if C_CTYPE_CONSECUTIVE_DIGITS
+  return (c >= '0' && c <= '9');
+#else
+  switch (c)
+    {
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_islower (int c)
+{
+#if C_CTYPE_CONSECUTIVE_LOWERCASE
+  return (c >= 'a' && c <= 'z');
+#else
+  switch (c)
+    {
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isgraph (int c)
+{
+#if C_CTYPE_ASCII
+  return (c >= '!' && c <= '~');
+#else
+  switch (c)
+    {
+    case '!': case '"': case '#': case '$': case '%': case '&':
+    case '\'': case '(': case ')': case '*': case '+': case ',':
+    case '-': case '.': case '/':
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+    case '{': case '|': case '}': case '~':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isprint (int c)
+{
+#if C_CTYPE_ASCII
+  return (c >= ' ' && c <= '~');
+#else
+  switch (c)
+    {
+    case ' ': case '!': case '"': case '#': case '$': case '%':
+    case '&': case '\'': case '(': case ')': case '*': case '+':
+    case ',': case '-': case '.': case '/':
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+    case '{': case '|': case '}': case '~':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_ispunct (int c)
+{
+#if C_CTYPE_ASCII
+  return ((c >= '!' && c <= '~')
+          && !((c >= '0' && c <= '9')
+               || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
+#else
+  switch (c)
+    {
+    case '!': case '"': case '#': case '$': case '%': case '&':
+    case '\'': case '(': case ')': case '*': case '+': case ',':
+    case '-': case '.': case '/':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case '{': case '|': case '}': case '~':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isspace (int c)
+{
+  return (c == ' ' || c == '\t'
+          || c == '\n' || c == '\v' || c == '\f' || c == '\r');
+}
+
+bool
+c_isupper (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE
+  return (c >= 'A' && c <= 'Z');
+#else
+  switch (c)
+    {
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isxdigit (int c)
+{
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+  return ((c >= '0' && c <= '9')
+          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
+#else
+  return ((c >= '0' && c <= '9')
+          || (c >= 'A' && c <= 'F')
+          || (c >= 'a' && c <= 'f'));
+#endif
+#else
+  switch (c)
+    {
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+int
+c_tolower (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+  return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
+#else
+  switch (c)
+    {
+    case 'A': return 'a';
+    case 'B': return 'b';
+    case 'C': return 'c';
+    case 'D': return 'd';
+    case 'E': return 'e';
+    case 'F': return 'f';
+    case 'G': return 'g';
+    case 'H': return 'h';
+    case 'I': return 'i';
+    case 'J': return 'j';
+    case 'K': return 'k';
+    case 'L': return 'l';
+    case 'M': return 'm';
+    case 'N': return 'n';
+    case 'O': return 'o';
+    case 'P': return 'p';
+    case 'Q': return 'q';
+    case 'R': return 'r';
+    case 'S': return 's';
+    case 'T': return 't';
+    case 'U': return 'u';
+    case 'V': return 'v';
+    case 'W': return 'w';
+    case 'X': return 'x';
+    case 'Y': return 'y';
+    case 'Z': return 'z';
+    default: return c;
+    }
+#endif
+}
+
+int
+c_toupper (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+  return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
+#else
+  switch (c)
+    {
+    case 'a': return 'A';
+    case 'b': return 'B';
+    case 'c': return 'C';
+    case 'd': return 'D';
+    case 'e': return 'E';
+    case 'f': return 'F';
+    case 'g': return 'G';
+    case 'h': return 'H';
+    case 'i': return 'I';
+    case 'j': return 'J';
+    case 'k': return 'K';
+    case 'l': return 'L';
+    case 'm': return 'M';
+    case 'n': return 'N';
+    case 'o': return 'O';
+    case 'p': return 'P';
+    case 'q': return 'Q';
+    case 'r': return 'R';
+    case 's': return 'S';
+    case 't': return 'T';
+    case 'u': return 'U';
+    case 'v': return 'V';
+    case 'w': return 'W';
+    case 'x': return 'X';
+    case 'y': return 'Y';
+    case 'z': return 'Z';
+    default: return c;
+    }
+#endif
+}
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
new file mode 100644 (file)
index 0000000..76d5b0b
--- /dev/null
@@ -0,0 +1,280 @@
+/* Character handling in C locale.
+
+   These functions work like the corresponding functions in <ctype.h>,
+   except that they have the C (POSIX) locale hardwired, whereas the
+   <ctype.h> functions' behaviour depends on the current locale set via
+   setlocale.
+
+   Copyright (C) 2000-2003, 2006 Free Software Foundation, Inc.
+
+This program 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 3 of the License, 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 General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef C_CTYPE_H
+#define C_CTYPE_H
+
+#include <stdbool.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* The functions defined in this file assume the "C" locale and a character
+   set without diacritics (ASCII-US or EBCDIC-US or something like that).
+   Even if the "C" locale on a particular system is an extension of the ASCII
+   character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
+   is ISO-8859-1), the functions in this file recognize only the ASCII
+   characters.  */
+
+
+/* Check whether the ASCII optimizations apply. */
+
+/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
+   '0', '1', ..., '9' have consecutive integer values.  */
+#define C_CTYPE_CONSECUTIVE_DIGITS 1
+
+#if ('A' <= 'Z') \
+    && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
+    && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
+    && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
+    && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
+    && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
+    && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
+    && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
+    && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
+    && ('Y' + 1 == 'Z')
+#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
+#endif
+
+#if ('a' <= 'z') \
+    && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
+    && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
+    && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
+    && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
+    && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
+    && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
+    && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
+    && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
+    && ('y' + 1 == 'z')
+#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
+#endif
+
+#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+    && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+    && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+    && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+    && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+    && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+    && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+    && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+    && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+    && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+    && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+    && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+    && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+    && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+    && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+    && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+    && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+    && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+    && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+    && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+    && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+    && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+    && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
+/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
+   Testing the value of '\n' and '\r' is not relevant.  */
+#define C_CTYPE_ASCII 1
+#endif
+
+
+/* Function declarations. */
+
+extern bool c_isascii (int c); /* not locale dependent */
+
+extern bool c_isalnum (int c);
+extern bool c_isalpha (int c);
+extern bool c_isblank (int c);
+extern bool c_iscntrl (int c);
+extern bool c_isdigit (int c);
+extern bool c_islower (int c);
+extern bool c_isgraph (int c);
+extern bool c_isprint (int c);
+extern bool c_ispunct (int c);
+extern bool c_isspace (int c);
+extern bool c_isupper (int c);
+extern bool c_isxdigit (int c);
+
+extern int c_tolower (int c);
+extern int c_toupper (int c);
+
+
+#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS
+
+/* ASCII optimizations. */
+
+#undef c_isascii
+#define c_isascii(c) \
+  ({ int __c = (c); \
+     (__c >= 0x00 && __c <= 0x7f); \
+   })
+
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+#undef c_isalnum
+#define c_isalnum(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
+   })
+#else
+#undef c_isalnum
+#define c_isalnum(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || (__c >= 'A' && __c <= 'Z') \
+      || (__c >= 'a' && __c <= 'z')); \
+   })
+#endif
+#endif
+
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+#undef c_isalpha
+#define c_isalpha(c) \
+  ({ int __c = (c); \
+     ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
+   })
+#else
+#undef c_isalpha
+#define c_isalpha(c) \
+  ({ int __c = (c); \
+     ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
+   })
+#endif
+#endif
+
+#undef c_isblank
+#define c_isblank(c) \
+  ({ int __c = (c); \
+     (__c == ' ' || __c == '\t'); \
+   })
+
+#if C_CTYPE_ASCII
+#undef c_iscntrl
+#define c_iscntrl(c) \
+  ({ int __c = (c); \
+     ((__c & ~0x1f) == 0 || __c == 0x7f); \
+   })
+#endif
+
+#if C_CTYPE_CONSECUTIVE_DIGITS
+#undef c_isdigit
+#define c_isdigit(c) \
+  ({ int __c = (c); \
+     (__c >= '0' && __c <= '9'); \
+   })
+#endif
+
+#if C_CTYPE_CONSECUTIVE_LOWERCASE
+#undef c_islower
+#define c_islower(c) \
+  ({ int __c = (c); \
+     (__c >= 'a' && __c <= 'z'); \
+   })
+#endif
+
+#if C_CTYPE_ASCII
+#undef c_isgraph
+#define c_isgraph(c) \
+  ({ int __c = (c); \
+     (__c >= '!' && __c <= '~'); \
+   })
+#endif
+
+#if C_CTYPE_ASCII
+#undef c_isprint
+#define c_isprint(c) \
+  ({ int __c = (c); \
+     (__c >= ' ' && __c <= '~'); \
+   })
+#endif
+
+#if C_CTYPE_ASCII
+#undef c_ispunct
+#define c_ispunct(c) \
+  ({ int _c = (c); \
+     (c_isgraph (_c) && ! c_isalnum (_c)); \
+   })
+#endif
+
+#undef c_isspace
+#define c_isspace(c) \
+  ({ int __c = (c); \
+     (__c == ' ' || __c == '\t' \
+      || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
+   })
+
+#if C_CTYPE_CONSECUTIVE_UPPERCASE
+#undef c_isupper
+#define c_isupper(c) \
+  ({ int __c = (c); \
+     (__c >= 'A' && __c <= 'Z'); \
+   })
+#endif
+
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+#undef c_isxdigit
+#define c_isxdigit(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
+   })
+#else
+#undef c_isxdigit
+#define c_isxdigit(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || (__c >= 'A' && __c <= 'F') \
+      || (__c >= 'a' && __c <= 'f')); \
+   })
+#endif
+#endif
+
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#undef c_tolower
+#define c_tolower(c) \
+  ({ int __c = (c); \
+     (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
+   })
+#undef c_toupper
+#define c_toupper(c) \
+  ({ int __c = (c); \
+     (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
+   })
+#endif
+
+#endif /* optimizing for speed */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* C_CTYPE_H */
diff --git a/lib/getopt.c b/lib/getopt.c
new file mode 100644 (file)
index 0000000..3c23601
--- /dev/null
@@ -0,0 +1,1190 @@
+/* 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 drepper@gnu.org
+   before changing it!
+   Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004,2006
+       Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program 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 3 of the License, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+\f
+#ifndef _LIBC
+# include <config.h>
+#endif
+
+#include "getopt.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifdef __VMS
+# include <unixlib.h>
+#endif
+
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "gettext.h"
+# define _(msgid) gettext (msgid)
+#endif
+
+#if defined _LIBC && defined USE_IN_LIBIO
+# include <wchar.h>
+#endif
+
+#ifndef attribute_hidden
+# define attribute_hidden
+#endif
+
+/* Unlike standard Unix `getopt', functions like `getopt_long'
+   let the user intersperse the options with the other arguments.
+
+   As `getopt_long' 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.
+
+   Using `getopt' or setting the environment variable POSIXLY_CORRECT
+   disables permutation.
+   Then the application's 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_int.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;
+
+/* 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 -1, 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.  */
+
+/* 1003.2 says this must be 1 before any call.  */
+int optind = 1;
+
+/* 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 = '?';
+
+/* Keep a global copy of all internal members of getopt_data.  */
+
+static struct _getopt_data getopt_data;
+
+\f
+#if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV
+extern char *getenv ();
+#endif
+\f
+#ifdef _LIBC
+/* Stored original parameters.
+   XXX This is no good solution.  We should rather copy the args so
+   that we can compare them later.  But we must not use malloc(3).  */
+extern int __libc_argc;
+extern char **__libc_argv;
+
+/* Bash 2.0 gives us an environment variable containing flags
+   indicating ARGV elements that should not be considered arguments.  */
+
+# ifdef USE_NONOPTION_FLAGS
+/* Defined in getopt_init.c  */
+extern char *__getopt_nonoption_flags;
+# endif
+
+# ifdef USE_NONOPTION_FLAGS
+#  define SWAP_FLAGS(ch1, ch2) \
+  if (d->__nonoption_flags_len > 0)                                          \
+    {                                                                        \
+      char __tmp = __getopt_nonoption_flags[ch1];                            \
+      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];         \
+      __getopt_nonoption_flags[ch2] = __tmp;                                 \
+    }
+# else
+#  define SWAP_FLAGS(ch1, ch2)
+# endif
+#else  /* !_LIBC */
+# define SWAP_FLAGS(ch1, ch2)
+#endif /* _LIBC */
+
+/* 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 (char **argv, struct _getopt_data *d)
+{
+  int bottom = d->__first_nonopt;
+  int middle = d->__last_nonopt;
+  int top = d->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.  */
+
+#if defined _LIBC && defined USE_NONOPTION_FLAGS
+  /* First make sure the handling of the `__getopt_nonoption_flags'
+     string can work normally.  Our top argument must be in the range
+     of the string.  */
+  if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
+    {
+      /* We must extend the array.  The user plays games with us and
+        presents new arguments.  */
+      char *new_str = malloc (top + 1);
+      if (new_str == NULL)
+       d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
+      else
+       {
+         memset (__mempcpy (new_str, __getopt_nonoption_flags,
+                            d->__nonoption_flags_max_len),
+                 '\0', top + 1 - d->__nonoption_flags_max_len);
+         d->__nonoption_flags_max_len = top + 1;
+         __getopt_nonoption_flags = new_str;
+       }
+    }
+#endif
+
+  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;
+             SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
+           }
+         /* 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;
+             SWAP_FLAGS (bottom + i, middle + i);
+           }
+         /* Exclude the moved top segment from further swapping.  */
+         bottom += len;
+       }
+    }
+
+  /* Update records for the slots the non-options now occupy.  */
+
+  d->__first_nonopt += (d->optind - d->__last_nonopt);
+  d->__last_nonopt = d->optind;
+}
+
+/* Initialize the internal data when the first call is made.  */
+
+static const char *
+_getopt_initialize (int argc, char **argv, const char *optstring,
+                   int posixly_correct, struct _getopt_data *d)
+{
+  /* 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.  */
+
+  d->__first_nonopt = d->__last_nonopt = d->optind;
+
+  d->__nextchar = NULL;
+
+  d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT");
+
+  /* Determine how to handle the ordering of options and nonoptions.  */
+
+  if (optstring[0] == '-')
+    {
+      d->__ordering = RETURN_IN_ORDER;
+      ++optstring;
+    }
+  else if (optstring[0] == '+')
+    {
+      d->__ordering = REQUIRE_ORDER;
+      ++optstring;
+    }
+  else if (d->__posixly_correct)
+    d->__ordering = REQUIRE_ORDER;
+  else
+    d->__ordering = PERMUTE;
+
+#if defined _LIBC && defined USE_NONOPTION_FLAGS
+  if (!d->__posixly_correct
+      && argc == __libc_argc && argv == __libc_argv)
+    {
+      if (d->__nonoption_flags_max_len == 0)
+       {
+         if (__getopt_nonoption_flags == NULL
+             || __getopt_nonoption_flags[0] == '\0')
+           d->__nonoption_flags_max_len = -1;
+         else
+           {
+             const char *orig_str = __getopt_nonoption_flags;
+             int len = d->__nonoption_flags_max_len = strlen (orig_str);
+             if (d->__nonoption_flags_max_len < argc)
+               d->__nonoption_flags_max_len = argc;
+             __getopt_nonoption_flags =
+               (char *) malloc (d->__nonoption_flags_max_len);
+             if (__getopt_nonoption_flags == NULL)
+               d->__nonoption_flags_max_len = -1;
+             else
+               memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
+                       '\0', d->__nonoption_flags_max_len - len);
+           }
+       }
+      d->__nonoption_flags_len = d->__nonoption_flags_max_len;
+    }
+  else
+    d->__nonoption_flags_len = 0;
+#endif
+
+  return optstring;
+}
+\f
+/* 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 -1.
+   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.
+
+   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.
+
+   If POSIXLY_CORRECT is nonzero, behave as if the POSIXLY_CORRECT
+   environment variable were set.  */
+
+int
+_getopt_internal_r (int argc, char **argv, const char *optstring,
+                   const struct option *longopts, int *longind,
+                   int long_only, int posixly_correct, struct _getopt_data *d)
+{
+  int print_errors = d->opterr;
+  if (optstring[0] == ':')
+    print_errors = 0;
+
+  if (argc < 1)
+    return -1;
+
+  d->optarg = NULL;
+
+  if (d->optind == 0 || !d->__initialized)
+    {
+      if (d->optind == 0)
+       d->optind = 1;  /* Don't scan ARGV[0], the program name.  */
+      optstring = _getopt_initialize (argc, argv, optstring,
+                                     posixly_correct, d);
+      d->__initialized = 1;
+    }
+
+  /* Test whether ARGV[optind] points to a non-option argument.
+     Either it does not have option syntax, or there is an environment flag
+     from the shell indicating it is not an option.  The later information
+     is only used when the used in the GNU libc.  */
+#if defined _LIBC && defined USE_NONOPTION_FLAGS
+# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \
+                     || (d->optind < d->__nonoption_flags_len                \
+                         && __getopt_nonoption_flags[d->optind] == '1'))
+#else
+# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
+#endif
+
+  if (d->__nextchar == NULL || *d->__nextchar == '\0')
+    {
+      /* Advance to the next ARGV-element.  */
+
+      /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
+        moved back by the user (who may also have changed the arguments).  */
+      if (d->__last_nonopt > d->optind)
+       d->__last_nonopt = d->optind;
+      if (d->__first_nonopt > d->optind)
+       d->__first_nonopt = d->optind;
+
+      if (d->__ordering == PERMUTE)
+       {
+         /* If we have just processed some options following some non-options,
+            exchange them so that the options come first.  */
+
+         if (d->__first_nonopt != d->__last_nonopt
+             && d->__last_nonopt != d->optind)
+           exchange ((char **) argv, d);
+         else if (d->__last_nonopt != d->optind)
+           d->__first_nonopt = d->optind;
+
+         /* Skip any additional non-options
+            and extend the range of non-options previously skipped.  */
+
+         while (d->optind < argc && NONOPTION_P)
+           d->optind++;
+         d->__last_nonopt = d->optind;
+       }
+
+      /* The 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 (d->optind != argc && !strcmp (argv[d->optind], "--"))
+       {
+         d->optind++;
+
+         if (d->__first_nonopt != d->__last_nonopt
+             && d->__last_nonopt != d->optind)
+           exchange ((char **) argv, d);
+         else if (d->__first_nonopt == d->__last_nonopt)
+           d->__first_nonopt = d->optind;
+         d->__last_nonopt = argc;
+
+         d->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 (d->optind == argc)
+       {
+         /* Set the next-arg-index to point at the non-options
+            that we previously skipped, so the caller will digest them.  */
+         if (d->__first_nonopt != d->__last_nonopt)
+           d->optind = d->__first_nonopt;
+         return -1;
+       }
+
+      /* 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 (NONOPTION_P)
+       {
+         if (d->__ordering == REQUIRE_ORDER)
+           return -1;
+         d->optarg = argv[d->optind++];
+         return 1;
+       }
+
+      /* We have found another option-ARGV-element.
+        Skip the initial punctuation.  */
+
+      d->__nextchar = (argv[d->optind] + 1
+                 + (longopts != NULL && argv[d->optind][1] == '-'));
+    }
+
+  /* Decode the current option-ARGV-element.  */
+
+  /* Check whether the ARGV-element is a long option.
+
+     If long_only and the ARGV-element has the form "-f", where f is
+     a valid short option, don't consider it an abbreviated form of
+     a long option that starts with f.  Otherwise there would be no
+     way to give the -f short option.
+
+     On the other hand, if there's a long option "fubar" and
+     the ARGV-element is "-fu", do consider that an abbreviation of
+     the long option, just like "--fu", and not "-f" with arg "u".
+
+     This distinction seems to be the most useful approach.  */
+
+  if (longopts != NULL
+      && (argv[d->optind][1] == '-'
+         || (long_only && (argv[d->optind][2]
+                           || !strchr (optstring, argv[d->optind][1])))))
+    {
+      char *nameend;
+      const struct option *p;
+      const struct option *pfound = NULL;
+      int exact = 0;
+      int ambig = 0;
+      int indfound = -1;
+      int option_index;
+
+      for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
+       /* Do nothing.  */ ;
+
+      /* Test all long options for either exact match
+        or abbreviated matches.  */
+      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+       if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
+         {
+           if ((unsigned int) (nameend - d->__nextchar)
+               == (unsigned int) 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 if (long_only
+                    || pfound->has_arg != p->has_arg
+                    || pfound->flag != p->flag
+                    || pfound->val != p->val)
+             /* Second or later nonexact match found.  */
+             ambig = 1;
+         }
+
+      if (ambig && !exact)
+       {
+         if (print_errors)
+           {
+#if defined _LIBC && defined USE_IN_LIBIO
+             char *buf;
+
+             if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
+                             argv[0], argv[d->optind]) >= 0)
+               {
+                 _IO_flockfile (stderr);
+
+                 int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                 ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+
+                 __fxprintf (NULL, "%s", buf);
+
+                 ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                 _IO_funlockfile (stderr);
+
+                 free (buf);
+               }
+#else
+             fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+                      argv[0], argv[d->optind]);
+#endif
+           }
+         d->__nextchar += strlen (d->__nextchar);
+         d->optind++;
+         d->optopt = 0;
+         return '?';
+       }
+
+      if (pfound != NULL)
+       {
+         option_index = indfound;
+         d->optind++;
+         if (*nameend)
+           {
+             /* Don't test has_arg with >, because some C compilers don't
+                allow it to be used on enums.  */
+             if (pfound->has_arg)
+               d->optarg = nameend + 1;
+             else
+               {
+                 if (print_errors)
+                   {
+#if defined _LIBC && defined USE_IN_LIBIO
+                     char *buf;
+                     int n;
+#endif
+
+                     if (argv[d->optind - 1][1] == '-')
+                       {
+                         /* --option */
+#if defined _LIBC && defined USE_IN_LIBIO
+                         n = __asprintf (&buf, _("\
+%s: option `--%s' doesn't allow an argument\n"),
+                                         argv[0], pfound->name);
+#else
+                         fprintf (stderr, _("\
+%s: option `--%s' doesn't allow an argument\n"),
+                                  argv[0], pfound->name);
+#endif
+                       }
+                     else
+                       {
+                         /* +option or -option */
+#if defined _LIBC && defined USE_IN_LIBIO
+                         n = __asprintf (&buf, _("\
+%s: option `%c%s' doesn't allow an argument\n"),
+                                         argv[0], argv[d->optind - 1][0],
+                                         pfound->name);
+#else
+                         fprintf (stderr, _("\
+%s: option `%c%s' doesn't allow an argument\n"),
+                                  argv[0], argv[d->optind - 1][0],
+                                  pfound->name);
+#endif
+                       }
+
+#if defined _LIBC && defined USE_IN_LIBIO
+                     if (n >= 0)
+                       {
+                         _IO_flockfile (stderr);
+
+                         int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                         ((_IO_FILE *) stderr)->_flags2
+                           |= _IO_FLAGS2_NOTCANCEL;
+
+                         __fxprintf (NULL, "%s", buf);
+
+                         ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                         _IO_funlockfile (stderr);
+
+                         free (buf);
+                       }
+#endif
+                   }
+
+                 d->__nextchar += strlen (d->__nextchar);
+
+                 d->optopt = pfound->val;
+                 return '?';
+               }
+           }
+         else if (pfound->has_arg == 1)
+           {
+             if (d->optind < argc)
+               d->optarg = argv[d->optind++];
+             else
+               {
+                 if (print_errors)
+                   {
+#if defined _LIBC && defined USE_IN_LIBIO
+                     char *buf;
+
+                     if (__asprintf (&buf, _("\
+%s: option `%s' requires an argument\n"),
+                                     argv[0], argv[d->optind - 1]) >= 0)
+                       {
+                         _IO_flockfile (stderr);
+
+                         int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                         ((_IO_FILE *) stderr)->_flags2
+                           |= _IO_FLAGS2_NOTCANCEL;
+
+                         __fxprintf (NULL, "%s", buf);
+
+                         ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                         _IO_funlockfile (stderr);
+
+                         free (buf);
+                       }
+#else
+                     fprintf (stderr,
+                              _("%s: option `%s' requires an argument\n"),
+                              argv[0], argv[d->optind - 1]);
+#endif
+                   }
+                 d->__nextchar += strlen (d->__nextchar);
+                 d->optopt = pfound->val;
+                 return optstring[0] == ':' ? ':' : '?';
+               }
+           }
+         d->__nextchar += strlen (d->__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[d->optind][1] == '-'
+         || strchr (optstring, *d->__nextchar) == NULL)
+       {
+         if (print_errors)
+           {
+#if defined _LIBC && defined USE_IN_LIBIO
+             char *buf;
+             int n;
+#endif
+
+             if (argv[d->optind][1] == '-')
+               {
+                 /* --option */
+#if defined _LIBC && defined USE_IN_LIBIO
+                 n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
+                                 argv[0], d->__nextchar);
+#else
+                 fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+                          argv[0], d->__nextchar);
+#endif
+               }
+             else
+               {
+                 /* +option or -option */
+#if defined _LIBC && defined USE_IN_LIBIO
+                 n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
+                                 argv[0], argv[d->optind][0], d->__nextchar);
+#else
+                 fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+                          argv[0], argv[d->optind][0], d->__nextchar);
+#endif
+               }
+
+#if defined _LIBC && defined USE_IN_LIBIO
+             if (n >= 0)
+               {
+                 _IO_flockfile (stderr);
+
+                 int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                 ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+
+                 __fxprintf (NULL, "%s", buf);
+
+                 ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                 _IO_funlockfile (stderr);
+
+                 free (buf);
+               }
+#endif
+           }
+         d->__nextchar = (char *) "";
+         d->optind++;
+         d->optopt = 0;
+         return '?';
+       }
+    }
+
+  /* Look at and handle the next short option-character.  */
+
+  {
+    char c = *d->__nextchar++;
+    char *temp = strchr (optstring, c);
+
+    /* Increment `optind' when we start to process its last character.  */
+    if (*d->__nextchar == '\0')
+      ++d->optind;
+
+    if (temp == NULL || c == ':')
+      {
+       if (print_errors)
+         {
+#if defined _LIBC && defined USE_IN_LIBIO
+             char *buf;
+             int n;
+#endif
+
+           if (d->__posixly_correct)
+             {
+               /* 1003.2 specifies the format of this message.  */
+#if defined _LIBC && defined USE_IN_LIBIO
+               n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
+                               argv[0], c);
+#else
+               fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
+#endif
+             }
+           else
+             {
+#if defined _LIBC && defined USE_IN_LIBIO
+               n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
+                               argv[0], c);
+#else
+               fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
+#endif
+             }
+
+#if defined _LIBC && defined USE_IN_LIBIO
+           if (n >= 0)
+             {
+               _IO_flockfile (stderr);
+
+               int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+               ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+
+               __fxprintf (NULL, "%s", buf);
+
+               ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+               _IO_funlockfile (stderr);
+
+               free (buf);
+             }
+#endif
+         }
+       d->optopt = c;
+       return '?';
+      }
+    /* Convenience. Treat POSIX -W foo same as long option --foo */
+    if (temp[0] == 'W' && temp[1] == ';')
+      {
+       char *nameend;
+       const struct option *p;
+       const struct option *pfound = NULL;
+       int exact = 0;
+       int ambig = 0;
+       int indfound = 0;
+       int option_index;
+
+       /* This is an option that requires an argument.  */
+       if (*d->__nextchar != '\0')
+         {
+           d->optarg = d->__nextchar;
+           /* If we end this ARGV-element by taking the rest as an arg,
+              we must advance to the next element now.  */
+           d->optind++;
+         }
+       else if (d->optind == argc)
+         {
+           if (print_errors)
+             {
+               /* 1003.2 specifies the format of this message.  */
+#if defined _LIBC && defined USE_IN_LIBIO
+               char *buf;
+
+               if (__asprintf (&buf,
+                               _("%s: option requires an argument -- %c\n"),
+                               argv[0], c) >= 0)
+                 {
+                   _IO_flockfile (stderr);
+
+                   int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                   ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+
+                   __fxprintf (NULL, "%s", buf);
+
+                   ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                   _IO_funlockfile (stderr);
+
+                   free (buf);
+                 }
+#else
+               fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+                        argv[0], c);
+#endif
+             }
+           d->optopt = c;
+           if (optstring[0] == ':')
+             c = ':';
+           else
+             c = '?';
+           return c;
+         }
+       else
+         /* We already incremented `d->optind' once;
+            increment it again when taking next ARGV-elt as argument.  */
+         d->optarg = argv[d->optind++];
+
+       /* optarg is now the argument, see if it's in the
+          table of longopts.  */
+
+       for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
+            nameend++)
+         /* Do nothing.  */ ;
+
+       /* Test all long options for either exact match
+          or abbreviated matches.  */
+       for (p = longopts, option_index = 0; p->name; p++, option_index++)
+         if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
+           {
+             if ((unsigned int) (nameend - d->__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 or later nonexact match found.  */
+               ambig = 1;
+           }
+       if (ambig && !exact)
+         {
+           if (print_errors)
+             {
+#if defined _LIBC && defined USE_IN_LIBIO
+               char *buf;
+
+               if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
+                               argv[0], argv[d->optind]) >= 0)
+                 {
+                   _IO_flockfile (stderr);
+
+                   int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                   ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+
+                   __fxprintf (NULL, "%s", buf);
+
+                   ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                   _IO_funlockfile (stderr);
+
+                   free (buf);
+                 }
+#else
+               fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+                        argv[0], argv[d->optind]);
+#endif
+             }
+           d->__nextchar += strlen (d->__nextchar);
+           d->optind++;
+           return '?';
+         }
+       if (pfound != NULL)
+         {
+           option_index = indfound;
+           if (*nameend)
+             {
+               /* Don't test has_arg with >, because some C compilers don't
+                  allow it to be used on enums.  */
+               if (pfound->has_arg)
+                 d->optarg = nameend + 1;
+               else
+                 {
+                   if (print_errors)
+                     {
+#if defined _LIBC && defined USE_IN_LIBIO
+                       char *buf;
+
+                       if (__asprintf (&buf, _("\
+%s: option `-W %s' doesn't allow an argument\n"),
+                                       argv[0], pfound->name) >= 0)
+                         {
+                           _IO_flockfile (stderr);
+
+                           int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                           ((_IO_FILE *) stderr)->_flags2
+                             |= _IO_FLAGS2_NOTCANCEL;
+
+                           __fxprintf (NULL, "%s", buf);
+
+                           ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                           _IO_funlockfile (stderr);
+
+                           free (buf);
+                         }
+#else
+                       fprintf (stderr, _("\
+%s: option `-W %s' doesn't allow an argument\n"),
+                                argv[0], pfound->name);
+#endif
+                     }
+
+                   d->__nextchar += strlen (d->__nextchar);
+                   return '?';
+                 }
+             }
+           else if (pfound->has_arg == 1)
+             {
+               if (d->optind < argc)
+                 d->optarg = argv[d->optind++];
+               else
+                 {
+                   if (print_errors)
+                     {
+#if defined _LIBC && defined USE_IN_LIBIO
+                       char *buf;
+
+                       if (__asprintf (&buf, _("\
+%s: option `%s' requires an argument\n"),
+                                       argv[0], argv[d->optind - 1]) >= 0)
+                         {
+                           _IO_flockfile (stderr);
+
+                           int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                           ((_IO_FILE *) stderr)->_flags2
+                             |= _IO_FLAGS2_NOTCANCEL;
+
+                           __fxprintf (NULL, "%s", buf);
+
+                           ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                           _IO_funlockfile (stderr);
+
+                           free (buf);
+                         }
+#else
+                       fprintf (stderr,
+                                _("%s: option `%s' requires an argument\n"),
+                                argv[0], argv[d->optind - 1]);
+#endif
+                     }
+                   d->__nextchar += strlen (d->__nextchar);
+                   return optstring[0] == ':' ? ':' : '?';
+                 }
+             }
+           d->__nextchar += strlen (d->__nextchar);
+           if (longind != NULL)
+             *longind = option_index;
+           if (pfound->flag)
+             {
+               *(pfound->flag) = pfound->val;
+               return 0;
+             }
+           return pfound->val;
+         }
+         d->__nextchar = NULL;
+         return 'W';   /* Let the application handle it.   */
+      }
+    if (temp[1] == ':')
+      {
+       if (temp[2] == ':')
+         {
+           /* This is an option that accepts an argument optionally.  */
+           if (*d->__nextchar != '\0')
+             {
+               d->optarg = d->__nextchar;
+               d->optind++;
+             }
+           else
+             d->optarg = NULL;
+           d->__nextchar = NULL;
+         }
+       else
+         {
+           /* This is an option that requires an argument.  */
+           if (*d->__nextchar != '\0')
+             {
+               d->optarg = d->__nextchar;
+               /* If we end this ARGV-element by taking the rest as an arg,
+                  we must advance to the next element now.  */
+               d->optind++;
+             }
+           else if (d->optind == argc)
+             {
+               if (print_errors)
+                 {
+                   /* 1003.2 specifies the format of this message.  */
+#if defined _LIBC && defined USE_IN_LIBIO
+                   char *buf;
+
+                   if (__asprintf (&buf, _("\
+%s: option requires an argument -- %c\n"),
+                                   argv[0], c) >= 0)
+                     {
+                       _IO_flockfile (stderr);
+
+                       int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+                       ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+
+                       __fxprintf (NULL, "%s", buf);
+
+                       ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+                       _IO_funlockfile (stderr);
+
+                       free (buf);
+                     }
+#else
+                   fprintf (stderr,
+                            _("%s: option requires an argument -- %c\n"),
+                            argv[0], c);
+#endif
+                 }
+               d->optopt = c;
+               if (optstring[0] == ':')
+                 c = ':';
+               else
+                 c = '?';
+             }
+           else
+             /* We already incremented `optind' once;
+                increment it again when taking next ARGV-elt as argument.  */
+             d->optarg = argv[d->optind++];
+           d->__nextchar = NULL;
+         }
+      }
+    return c;
+  }
+}
+
+int
+_getopt_internal (int argc, char **argv, const char *optstring,
+                 const struct option *longopts, int *longind,
+                 int long_only, int posixly_correct)
+{
+  int result;
+
+  getopt_data.optind = optind;
+  getopt_data.opterr = opterr;
+
+  result = _getopt_internal_r (argc, argv, optstring, longopts, longind,
+                              long_only, posixly_correct, &getopt_data);
+
+  optind = getopt_data.optind;
+  optarg = getopt_data.optarg;
+  optopt = getopt_data.optopt;
+
+  return result;
+}
+
+/* glibc gets a LSB-compliant getopt.
+   Standalone applications get a POSIX-compliant getopt.  */
+#if _LIBC
+enum { POSIXLY_CORRECT = 0 };
+#else
+enum { POSIXLY_CORRECT = 1 };
+#endif
+
+int
+getopt (int argc, char *const *argv, const char *optstring)
+{
+  return _getopt_internal (argc, (char **) argv, optstring, NULL, NULL, 0,
+                          POSIXLY_CORRECT);
+}
+
+\f
+#ifdef TEST
+
+/* Compile with -DTEST to make an executable for use in testing
+   the above definition of `getopt'.  */
+
+int
+main (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 == -1)
+       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 --git a/lib/getopt.in.h b/lib/getopt.in.h
new file mode 100644 (file)
index 0000000..d2d3e6e
--- /dev/null
@@ -0,0 +1,225 @@
+/* Declarations for getopt.
+   Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007
+   Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program 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 3 of the License, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_H
+
+#ifndef __need_getopt
+# define _GETOPT_H 1
+#endif
+
+/* Standalone applications should #define __GETOPT_PREFIX to an
+   identifier that prefixes the external functions and variables
+   defined in this header.  When this happens, include the
+   headers that might declare getopt so that they will not cause
+   confusion if included after this file.  Then systematically rename
+   identifiers so that they do not collide with the system functions
+   and variables.  Renaming avoids problems with some compilers and
+   linkers.  */
+#if defined __GETOPT_PREFIX && !defined __need_getopt
+# include <stdlib.h>
+# include <stdio.h>
+# include <unistd.h>
+# undef __need_getopt
+# undef getopt
+# undef getopt_long
+# undef getopt_long_only
+# undef optarg
+# undef opterr
+# undef optind
+# undef optopt
+# define __GETOPT_CONCAT(x, y) x ## y
+# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# define getopt __GETOPT_ID (getopt)
+# define getopt_long __GETOPT_ID (getopt_long)
+# define getopt_long_only __GETOPT_ID (getopt_long_only)
+# define optarg __GETOPT_ID (optarg)
+# define opterr __GETOPT_ID (opterr)
+# define optind __GETOPT_ID (optind)
+# define optopt __GETOPT_ID (optopt)
+#endif
+
+/* Standalone applications get correct prototypes for getopt_long and
+   getopt_long_only; they declare "char **argv".  libc uses prototypes
+   with "char *const *argv" that are incorrect because getopt_long and
+   getopt_long_only can permute argv; this is required for backward
+   compatibility (e.g., for LSB 2.0.1).
+
+   This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt',
+   but it caused redefinition warnings if both unistd.h and getopt.h were
+   included, since unistd.h includes getopt.h having previously defined
+   __need_getopt.
+
+   The only place where __getopt_argv_const is used is in definitions
+   of getopt_long and getopt_long_only below, but these are visible
+   only if __need_getopt is not defined, so it is quite safe to rewrite
+   the conditional as follows:
+*/
+#if !defined __need_getopt
+# if defined __GETOPT_PREFIX
+#  define __getopt_argv_const /* empty */
+# else
+#  define __getopt_argv_const const
+# endif
+#endif
+
+/* If __GNU_LIBRARY__ is not already defined, either we are being used
+   standalone, or this is the first header included in the source file.
+   If we are being used with glibc, we need to include <features.h>, but
+   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
+   not defined, include <ctype.h>, which will pull in <features.h> for us
+   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
+   doesn't flood the namespace with stuff the way some other headers do.)  */
+#if !defined __GNU_LIBRARY__
+# include <ctype.h>
+#endif
+
+#ifndef __THROW
+# ifndef __GNUC_PREREQ
+#  define __GNUC_PREREQ(maj, min) (0)
+# endif
+# if defined __cplusplus && __GNUC_PREREQ (2,8)
+#  define __THROW      throw ()
+# else
+#  define __THROW
+# endif
+#endif
+
+#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 -1, 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;
+
+#ifndef __need_getopt
+/* 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
+{
+  const char *name;
+  /* 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
+#endif /* need getopt */
+
+
+/* Get definitions and prototypes for functions to process the
+   arguments in ARGV (ARGC of them, minus the program name) for
+   options given in OPTS.
+
+   Return the option character from OPTS just read.  Return -1 when
+   there are no more options.  For unrecognized options, or options
+   missing arguments, `optopt' is set to the option letter, and '?' is
+   returned.
+
+   The OPTS string is a list of characters which are recognized option
+   letters, optionally followed by colons, specifying that that letter
+   takes an argument, to be placed in `optarg'.
+
+   If a letter in OPTS is followed by two colons, its argument is
+   optional.  This behavior is specific to the GNU `getopt'.
+
+   The argument `--' causes premature termination of argument
+   scanning, explicitly telling `getopt' that there are no more
+   options.
+
+   If OPTS begins with `-', then non-option arguments are treated as
+   arguments to the option '\1'.  This behavior is specific to the GNU
+   `getopt'.  If OPTS begins with `+', or POSIXLY_CORRECT is set in
+   the environment, then do not permute arguments.  */
+
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+       __THROW;
+
+#ifndef __need_getopt
+extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
+                       const char *__shortopts,
+                       const struct option *__longopts, int *__longind)
+       __THROW;
+extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
+                            const char *__shortopts,
+                            const struct option *__longopts, int *__longind)
+       __THROW;
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Make sure we later can get all the definitions and declarations.  */
+#undef __need_getopt
+
+#endif /* getopt.h */
diff --git a/lib/getopt1.c b/lib/getopt1.c
new file mode 100644 (file)
index 0000000..d6a3ecf
--- /dev/null
@@ -0,0 +1,170 @@
+/* getopt_long and getopt_long_only entry points for GNU getopt.
+   Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004,2006
+     Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program 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 3 of the License, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+\f
+#ifdef _LIBC
+# include <getopt.h>
+#else
+# include <config.h>
+# include "getopt.h"
+#endif
+#include "getopt_int.h"
+
+#include <stdio.h>
+
+/* This needs to come after some library #include
+   to get __GNU_LIBRARY__ defined.  */
+#ifdef __GNU_LIBRARY__
+#include <stdlib.h>
+#endif
+
+#ifndef        NULL
+#define NULL 0
+#endif
+
+int
+getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
+            const struct option *long_options, int *opt_index)
+{
+  return _getopt_internal (argc, (char **) argv, options, long_options,
+                          opt_index, 0, 0);
+}
+
+int
+_getopt_long_r (int argc, char **argv, const char *options,
+               const struct option *long_options, int *opt_index,
+               struct _getopt_data *d)
+{
+  return _getopt_internal_r (argc, argv, options, long_options, opt_index,
+                            0, 0, d);
+}
+
+/* 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 (int argc, char *__getopt_argv_const *argv,
+                 const char *options,
+                 const struct option *long_options, int *opt_index)
+{
+  return _getopt_internal (argc, (char **) argv, options, long_options,
+                          opt_index, 1, 0);
+}
+
+int
+_getopt_long_only_r (int argc, char **argv, const char *options,
+                    const struct option *long_options, int *opt_index,
+                    struct _getopt_data *d)
+{
+  return _getopt_internal_r (argc, argv, options, long_options, opt_index,
+                            1, 0, d);
+}
+
+\f
+#ifdef TEST
+
+#include <stdio.h>
+
+int
+main (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 == -1)
+       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 --git a/lib/getopt_int.h b/lib/getopt_int.h
new file mode 100644 (file)
index 0000000..3c6628b
--- /dev/null
@@ -0,0 +1,130 @@
+/* Internal declarations for getopt.
+   Copyright (C) 1989-1994,1996-1999,2001,2003,2004
+   Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program 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 3 of the License, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_INT_H
+#define _GETOPT_INT_H  1
+
+extern int _getopt_internal (int ___argc, char **___argv,
+                            const char *__shortopts,
+                            const struct option *__longopts, int *__longind,
+                            int __long_only, int __posixly_correct);
+
+\f
+/* Reentrant versions which can handle parsing multiple argument
+   vectors at the same time.  */
+
+/* Data type for reentrant functions.  */
+struct _getopt_data
+{
+  /* These have exactly the same meaning as the corresponding global
+     variables, except that they are used for the reentrant
+     versions of getopt.  */
+  int optind;
+  int opterr;
+  int optopt;
+  char *optarg;
+
+  /* Internal members.  */
+
+  /* True if the internal members have been initialized.  */
+  int __initialized;
+
+  /* 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.  */
+  char *__nextchar;
+
+  /* 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, or by calling getopt.
+
+     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 -1 with `optind' != ARGC.  */
+
+  enum
+    {
+      REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
+    } __ordering;
+
+  /* If the POSIXLY_CORRECT environment variable is set
+     or getopt was called.  */
+  int __posixly_correct;
+
+
+  /* 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.  */
+
+  int __first_nonopt;
+  int __last_nonopt;
+
+#if defined _LIBC && defined USE_NONOPTION_FLAGS
+  int __nonoption_flags_max_len;
+  int __nonoption_flags_len;
+# endif
+};
+
+/* The initializer is necessary to set OPTIND and OPTERR to their
+   default values and to clear the initialization flag.  */
+#define _GETOPT_DATA_INITIALIZER       { 1, 1 }
+
+extern int _getopt_internal_r (int ___argc, char **___argv,
+                              const char *__shortopts,
+                              const struct option *__longopts, int *__longind,
+                              int __long_only, int __posixly_correct,
+                              struct _getopt_data *__data);
+
+extern int _getopt_long_r (int ___argc, char **___argv,
+                          const char *__shortopts,
+                          const struct option *__longopts, int *__longind,
+                          struct _getopt_data *__data);
+
+extern int _getopt_long_only_r (int ___argc, char **___argv,
+                               const char *__shortopts,
+                               const struct option *__longopts,
+                               int *__longind,
+                               struct _getopt_data *__data);
+
+#endif /* getopt_int.h */
diff --git a/lib/gettext.h b/lib/gettext.h
new file mode 100644 (file)
index 0000000..763dd3c
--- /dev/null
@@ -0,0 +1,270 @@
+/* Convenience header for conditional use of GNU <libintl.h>.
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006 Free Software Foundation, Inc.
+
+   This program 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 3, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _LIBGETTEXT_H
+#define _LIBGETTEXT_H 1
+
+/* NLS can be disabled through the configure --disable-nls option.  */
+#if ENABLE_NLS
+
+/* Get declarations of GNU message catalog functions.  */
+# include <libintl.h>
+
+/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by
+   the gettext() and ngettext() macros.  This is an alternative to calling
+   textdomain(), and is useful for libraries.  */
+# ifdef DEFAULT_TEXT_DOMAIN
+#  undef gettext
+#  define gettext(Msgid) \
+     dgettext (DEFAULT_TEXT_DOMAIN, Msgid)
+#  undef ngettext
+#  define ngettext(Msgid1, Msgid2, N) \
+     dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N)
+# endif
+
+#else
+
+/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
+   chokes if dcgettext is defined as a macro.  So include it now, to make
+   later inclusions of <locale.h> a NOP.  We don't include <libintl.h>
+   as well because people using "gettext.h" will not include <libintl.h>,
+   and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
+   is OK.  */
+#if defined(__sun)
+# include <locale.h>
+#endif
+
+/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
+   <libintl.h>, which chokes if dcgettext is defined as a macro.  So include
+   it now, to make later inclusions of <libintl.h> a NOP.  */
+#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
+# include <cstdlib>
+# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
+#  include <libintl.h>
+# endif
+#endif
+
+/* Disabled NLS.
+   The casts to 'const char *' serve the purpose of producing warnings
+   for invalid uses of the value returned from these functions.
+   On pre-ANSI systems without 'const', the config.h file is supposed to
+   contain "#define const".  */
+# define gettext(Msgid) ((const char *) (Msgid))
+# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
+# define dcgettext(Domainname, Msgid, Category) \
+    ((void) (Category), dgettext (Domainname, Msgid))
+# define ngettext(Msgid1, Msgid2, N) \
+    ((N) == 1 \
+     ? ((void) (Msgid2), (const char *) (Msgid1)) \
+     : ((void) (Msgid1), (const char *) (Msgid2)))
+# define dngettext(Domainname, Msgid1, Msgid2, N) \
+    ((void) (Domainname), ngettext (Msgid1, Msgid2, N))
+# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+    ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N))
+# define textdomain(Domainname) ((const char *) (Domainname))
+# define bindtextdomain(Domainname, Dirname) \
+    ((void) (Domainname), (const char *) (Dirname))
+# define bind_textdomain_codeset(Domainname, Codeset) \
+    ((void) (Domainname), (const char *) (Codeset))
+
+#endif
+
+/* A pseudo function call that serves as a marker for the automated
+   extraction of messages, but does not call gettext().  The run-time
+   translation is done at a different place in the code.
+   The argument, String, should be a literal string.  Concatenated strings
+   and other string expressions won't work.
+   The macro's expansion is not parenthesized, so that it is suitable as
+   initializer for static 'char[]' or 'const char[]' variables.  */
+#define gettext_noop(String) String
+
+/* The separator between msgctxt and msgid in a .mo file.  */
+#define GETTEXT_CONTEXT_GLUE "\004"
+
+/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
+   MSGID.  MSGCTXT and MSGID must be string literals.  MSGCTXT should be
+   short and rarely need to change.
+   The letter 'p' stands for 'particular' or 'special'.  */
+#ifdef DEFAULT_TEXT_DOMAIN
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#else
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#endif
+#define dpgettext(Domainname, Msgctxt, Msgid) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
+#ifdef DEFAULT_TEXT_DOMAIN
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#else
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#endif
+#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+pgettext_aux (const char *domain,
+             const char *msg_ctxt_id, const char *msgid,
+             int category)
+{
+  const char *translation = dcgettext (domain, msg_ctxt_id, category);
+  if (translation == msg_ctxt_id)
+    return msgid;
+  else
+    return translation;
+}
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+npgettext_aux (const char *domain,
+              const char *msg_ctxt_id, const char *msgid,
+              const char *msgid_plural, unsigned long int n,
+              int category)
+{
+  const char *translation =
+    dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+  if (translation == msg_ctxt_id || translation == msgid_plural)
+    return (n == 1 ? msgid : msgid_plural);
+  else
+    return translation;
+}
+
+/* The same thing extended for non-constant arguments.  Here MSGCTXT and MSGID
+   can be arbitrary expressions.  But for string literals these macros are
+   less efficient than those above.  */
+
+#include <string.h>
+
+#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
+  (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \
+   /* || __STDC_VERSION__ >= 199901L */ )
+
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+#include <stdlib.h>
+#endif
+
+#define pgettext_expr(Msgctxt, Msgid) \
+  dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
+#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
+  dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcpgettext_expr (const char *domain,
+                const char *msgctxt, const char *msgid,
+                int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcgettext (domain, msg_ctxt_id, category);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+       free (msg_ctxt_id);
+#endif
+      if (translation != msg_ctxt_id)
+       return translation;
+    }
+  return msgid;
+}
+
+#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcnpgettext_expr (const char *domain,
+                 const char *msgctxt, const char *msgid,
+                 const char *msgid_plural, unsigned long int n,
+                 int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+       free (msg_ctxt_id);
+#endif
+      if (!(translation == msg_ctxt_id || translation == msgid_plural))
+       return translation;
+    }
+  return (n == 1 ? msgid : msgid_plural);
+}
+
+#endif /* _LIBGETTEXT_H */
diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h
new file mode 100644 (file)
index 0000000..171d70a
--- /dev/null
@@ -0,0 +1,119 @@
+/* Copyright (C) 2001, 2002, 2003, 2006, 2007 Free Software Foundation, Inc.
+   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+
+   This program 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 3, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _GL_STDBOOL_H
+#define _GL_STDBOOL_H
+
+/* ISO C 99 <stdbool.h> for platforms that lack it.  */
+
+/* Usage suggestions:
+
+   Programs that use <stdbool.h> should be aware of some limitations
+   and standards compliance issues.
+
+   Standards compliance:
+
+       - <stdbool.h> must be #included before 'bool', 'false', 'true'
+         can be used.
+
+       - You cannot assume that sizeof (bool) == 1.
+
+       - Programs should not undefine the macros bool, true, and false,
+         as C99 lists that as an "obsolescent feature".
+
+   Limitations of this substitute, when used in a C89 environment:
+
+       - <stdbool.h> must be #included before the '_Bool' type can be used.
+
+       - You cannot assume that _Bool is a typedef; it might be a macro.
+
+       - Bit-fields of type 'bool' are not supported.  Portable code
+         should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'.
+
+       - In C99, casts and automatic conversions to '_Bool' or 'bool' are
+         performed in such a way that every nonzero value gets converted
+         to 'true', and zero gets converted to 'false'.  This doesn't work
+         with this substitute.  With this substitute, only the values 0 and 1
+         give the expected result when converted to _Bool' or 'bool'.
+
+   Also, it is suggested that programs use 'bool' rather than '_Bool';
+   this isn't required, but 'bool' is more common.  */
+
+
+/* 7.16. Boolean type and values */
+
+/* BeOS <sys/socket.h> already #defines false 0, true 1.  We use the same
+   definitions below, but temporarily we have to #undef them.  */
+#ifdef __BEOS__
+# include <OS.h> /* defines bool but not _Bool */
+# undef false
+# undef true
+#endif
+
+/* For the sake of symbolic names in gdb, we define true and false as
+   enum constants, not only as macros.
+   It is tempting to write
+      typedef enum { false = 0, true = 1 } _Bool;
+   so that gdb prints values of type 'bool' symbolically. But if we do
+   this, values of type '_Bool' may promote to 'int' or 'unsigned int'
+   (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
+   (see ISO C 99 6.3.1.1.(2)).  So we add a negative value to the
+   enum; this ensures that '_Bool' promotes to 'int'.  */
+#if defined __cplusplus || defined __BEOS__
+  /* A compiler known to have 'bool'.  */
+  /* If the compiler already has both 'bool' and '_Bool', we can assume they
+     are the same types.  */
+# if !@HAVE__BOOL@
+typedef bool _Bool;
+# endif
+#else
+# if !defined __GNUC__
+   /* If @HAVE__BOOL@:
+        Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
+        the built-in _Bool type is used.  See
+          http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+          http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+          http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+        Similar bugs are likely with other compilers as well; this file
+        wouldn't be used if <stdbool.h> was working.
+        So we override the _Bool type.
+      If !@HAVE__BOOL@:
+        Need to define _Bool ourselves. As 'signed char' or as an enum type?
+        Use of a typedef, with SunPRO C, leads to a stupid
+          "warning: _Bool is a keyword in ISO C99".
+        Use of an enum type, with IRIX cc, leads to a stupid
+          "warning(1185): enumerated type mixed with another type".
+        Even the existence of an enum type, without a typedef,
+          "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
+        The only benefit of the enum, debuggability, is not important
+        with these compilers.  So use 'signed char' and no enum.  */
+#  define _Bool signed char
+# else
+   /* With this compiler, trust the _Bool type if the compiler has it.  */
+#  if !@HAVE__BOOL@
+typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
+#  endif
+# endif
+#endif
+#define bool _Bool
+
+/* The other macros must be usable in preprocessor directives.  */
+#define false 0
+#define true 1
+#define __bool_true_false_are_defined 1
+
+#endif /* _GL_STDBOOL_H */
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
new file mode 100644 (file)
index 0000000..a224889
--- /dev/null
@@ -0,0 +1,317 @@
+/* Substitute for and wrapper around <unistd.h>.
+   Copyright (C) 2004-2007 Free Software Foundation, Inc.
+
+   This program 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 3, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _GL_UNISTD_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_UNISTD_H@
+# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+#endif
+
+#ifndef _GL_UNISTD_H
+#define _GL_UNISTD_H
+
+/* mingw doesn't define the SEEK_* macros in <unistd.h>.  */
+#if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET)
+# include <stdio.h>
+#endif
+
+/* mingw fails to declare _exit in <unistd.h>.  */
+#include <stdlib.h>
+
+/* The definition of GL_LINK_WARNING is copied here.  */
+
+
+/* Declare overridden functions.  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#if @GNULIB_CHOWN@
+# if @REPLACE_CHOWN@
+#  ifndef REPLACE_CHOWN
+#   define REPLACE_CHOWN 1
+#  endif
+#  if REPLACE_CHOWN
+/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
+   to GID (if GID is not -1).  Follow symbolic links.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/chown.html>.  */
+#   define chown rpl_chown
+extern int chown (const char *file, uid_t uid, gid_t gid);
+#  endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef chown
+# define chown(f,u,g) \
+    (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \
+                      "doesn't treat a uid or gid of -1 on some systems - " \
+                      "use gnulib module chown for portability"), \
+     chown (f, u, g))
+#endif
+
+
+#if @GNULIB_DUP2@
+# if !@HAVE_DUP2@
+/* Copy the file descriptor OLDFD into file descriptor NEWFD.  Do nothing if
+   NEWFD = OLDFD, otherwise close NEWFD first if it is open.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/dup2.html>.  */
+extern int dup2 (int oldfd, int newfd);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef dup2
+# define dup2(o,n) \
+    (GL_LINK_WARNING ("dup2 is unportable - " \
+                      "use gnulib module dup2 for portability"), \
+     dup2 (o, n))
+#endif
+
+
+#if @GNULIB_FCHDIR@
+# if @REPLACE_FCHDIR@
+
+/* Change the process' current working directory to the directory on which
+   the given file descriptor is open.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/fchdir.html>.  */
+extern int fchdir (int /*fd*/);
+
+#  define close rpl_close
+extern int close (int);
+#  define dup rpl_dup
+extern int dup (int);
+#  define dup2 rpl_dup2
+extern int dup2 (int, int);
+
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef fchdir
+# define fchdir(f) \
+    (GL_LINK_WARNING ("fchdir is unportable - " \
+                      "use gnulib module fchdir for portability"), \
+     fchdir (f))
+#endif
+
+
+#if @GNULIB_FTRUNCATE@
+# if !@HAVE_FTRUNCATE@
+/* Change the size of the file to which FD is opened to become equal to LENGTH.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/ftruncate.html>.  */
+extern int ftruncate (int fd, off_t length);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef ftruncate
+# define ftruncate(f,l) \
+    (GL_LINK_WARNING ("ftruncate is unportable - " \
+                      "use gnulib module ftruncate for portability"), \
+     ftruncate (f, l))
+#endif
+
+
+#if @GNULIB_GETCWD@
+/* Include the headers that might declare getcwd so that they will not
+   cause confusion if included after this file.  */
+# include <stdlib.h>
+# if @REPLACE_GETCWD@
+/* Get the name of the current working directory, and put it in SIZE bytes
+   of BUF.
+   Return BUF if successful, or NULL if the directory couldn't be determined
+   or SIZE was too small.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/getcwd.html>.
+   Additionally, the gnulib module 'getcwd' guarantees the following GNU
+   extension: If BUF is NULL, an array is allocated with 'malloc'; the array
+   is SIZE bytes long, unless SIZE == 0, in which case it is as big as
+   necessary.  */
+#  define getcwd rpl_getcwd
+extern char * getcwd (char *buf, size_t size);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getcwd
+# define getcwd(b,s) \
+    (GL_LINK_WARNING ("getcwd is unportable - " \
+                      "use gnulib module getcwd for portability"), \
+     getcwd (b, s))
+#endif
+
+
+#if @GNULIB_GETLOGIN_R@
+/* Copies the user's login name to NAME.
+   The array pointed to by NAME has room for SIZE bytes.
+
+   Returns 0 if successful.  Upon error, an error number is returned, or -1 in
+   the case that the login name cannot be found but no specific error is
+   provided (this case is hopefully rare but is left open by the POSIX spec).
+
+   See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+ */
+# if !@HAVE_DECL_GETLOGIN_R@
+#  include <stddef.h>
+extern int getlogin_r (char *name, size_t size);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getlogin_r
+# define getlogin_r(n,s) \
+    (GL_LINK_WARNING ("getlogin_r is unportable - " \
+                      "use gnulib module getlogin_r for portability"), \
+     getlogin_r (n, s))
+#endif
+
+
+#if @GNULIB_GETPAGESIZE@
+# if !@HAVE_GETPAGESIZE@
+/* This is for POSIX systems.  */
+#  if !defined getpagesize && defined _SC_PAGESIZE
+#   if ! (defined __VMS && __VMS_VER < 70000000)
+#    define getpagesize() sysconf (_SC_PAGESIZE)
+#   endif
+#  endif
+/* This is for older VMS.  */
+#  if !defined getpagesize && defined __VMS
+#   ifdef __ALPHA
+#    define getpagesize() 8192
+#   else
+#    define getpagesize() 512
+#   endif
+#  endif
+/* This is for BeOS.  */
+#  if !defined getpagesize && @HAVE_OS_H@
+#   include <OS.h>
+#   if defined B_PAGE_SIZE
+#    define getpagesize() B_PAGE_SIZE
+#   endif
+#  endif
+/* This is for AmigaOS4.0.  */
+#  if !defined getpagesize && defined __amigaos4__
+#   define getpagesize() 2048
+#  endif
+/* This is for older Unix systems.  */
+#  if !defined getpagesize && @HAVE_SYS_PARAM_H@
+#   include <sys/param.h>
+#   ifdef EXEC_PAGESIZE
+#    define getpagesize() EXEC_PAGESIZE
+#   else
+#    ifdef NBPG
+#     ifndef CLSIZE
+#      define CLSIZE 1
+#     endif
+#     define getpagesize() (NBPG * CLSIZE)
+#    else
+#     ifdef NBPC
+#      define getpagesize() NBPC
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getpagesize
+# define getpagesize() \
+    (GL_LINK_WARNING ("getpagesize is unportable - " \
+                      "use gnulib module getpagesize for portability"), \
+     getpagesize ())
+#endif
+
+
+#if @GNULIB_LCHOWN@
+# if @REPLACE_LCHOWN@
+/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
+   to GID (if GID is not -1).  Do not follow symbolic links.
+   Return 0 if successful, otherwise -1 and errno set.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/lchown.html>.  */
+#  define lchown rpl_lchown
+extern int lchown (char const *file, uid_t owner, gid_t group);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lchown
+# define lchown(f,u,g) \
+    (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \
+                      "systems - use gnulib module lchown for portability"), \
+     lchown (f, u, g))
+#endif
+
+
+#if @GNULIB_LSEEK@
+# if @REPLACE_LSEEK@
+/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
+   Return the new offset if successful, otherwise -1 and errno set.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/lseek.html>.  */
+#  define lseek rpl_lseek
+   extern off_t lseek (int fd, off_t offset, int whence);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lseek
+# define lseek(f,o,w) \
+    (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \
+                      "systems - use gnulib module lseek for portability"), \
+     lseek (f, o, w))
+#endif
+
+
+#if @GNULIB_READLINK@
+/* Read the contents of the symbolic link FILE and place the first BUFSIZE
+   bytes of it into BUF.  Return the number of bytes placed into BUF if
+   successful, otherwise -1 and errno set.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/readlink.html>.  */
+# if !@HAVE_READLINK@
+#  include <stddef.h>
+extern int readlink (const char *file, char *buf, size_t bufsize);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef readlink
+# define readlink(f,b,s) \
+    (GL_LINK_WARNING ("readlink is unportable - " \
+                      "use gnulib module readlink for portability"), \
+     readlink (f, b, s))
+#endif
+
+
+#if @GNULIB_SLEEP@
+/* Pause the execution of the current thread for N seconds.
+   Returns the number of seconds left to sleep.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/sleep.html>.  */
+# if !@HAVE_SLEEP@
+extern unsigned int sleep (unsigned int n);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef sleep
+# define sleep(n) \
+    (GL_LINK_WARNING ("sleep is unportable - " \
+                      "use gnulib module sleep for portability"), \
+     sleep (n))
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _GL_UNISTD_H */
+#endif /* _GL_UNISTD_H */
diff --git a/link-warning.h b/link-warning.h
new file mode 100644 (file)
index 0000000..fda0194
--- /dev/null
@@ -0,0 +1,28 @@
+/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
+   a linker warning on most glibc systems.
+   We use a linker warning rather than a preprocessor warning, because
+   #warning cannot be used inside macros.  */
+#ifndef GL_LINK_WARNING
+  /* This works on platforms with GNU ld and ELF object format.
+     Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
+     Testing __ELF__ guarantees the ELF object format.
+     Testing __GNUC__ is necessary for the compound expression syntax.  */
+# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
+#  define GL_LINK_WARNING(message) \
+     GL_LINK_WARNING1 (__FILE__, __LINE__, message)
+#  define GL_LINK_WARNING1(file, line, message) \
+     GL_LINK_WARNING2 (file, line, message)  /* macroexpand file and line */
+#  define GL_LINK_WARNING2(file, line, message) \
+     GL_LINK_WARNING3 (file ":" #line ": warning: " message)
+#  define GL_LINK_WARNING3(message) \
+     ({ static const char warning[sizeof (message)]            \
+          __attribute__ ((__unused__,                          \
+                          __section__ (".gnu.warning"),                \
+                          __aligned__ (1)))                    \
+          = message "\n";                                      \
+        (void)0;                                               \
+     })
+# else
+#  define GL_LINK_WARNING(message) ((void) 0)
+# endif
+#endif
diff --git a/m4/getopt.m4 b/m4/getopt.m4
new file mode 100644 (file)
index 0000000..c0a73b2
--- /dev/null
@@ -0,0 +1,83 @@
+# getopt.m4 serial 13
+dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# The getopt module assume you want GNU getopt, with getopt_long etc,
+# rather than vanilla POSIX getopt.  This means your code should
+# always include <getopt.h> for the getopt prototypes.
+
+AC_DEFUN([gl_GETOPT_SUBSTITUTE],
+[
+  AC_LIBOBJ([getopt])
+  AC_LIBOBJ([getopt1])
+  gl_GETOPT_SUBSTITUTE_HEADER
+  gl_PREREQ_GETOPT
+])
+
+AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
+[
+  GETOPT_H=getopt.h
+  AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
+    [Define to rpl_ if the getopt replacement functions and variables
+     should be used.])
+  AC_SUBST([GETOPT_H])
+])
+
+AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
+[
+  if test -z "$GETOPT_H"; then
+    AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h])
+  fi
+
+  if test -z "$GETOPT_H"; then
+    AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h])
+  fi
+
+  dnl BSD getopt_long uses an incompatible method to reset option processing,
+  dnl and (as of 2004-10-15) mishandles optional option-arguments.
+  if test -z "$GETOPT_H"; then
+    AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include <getopt.h>])
+  fi
+
+  dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
+  dnl option string (as of 2005-05-05).
+  if test -z "$GETOPT_H"; then
+    AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt],
+      [AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM([#include <getopt.h>],
+          [[
+            char *myargv[3];
+            myargv[0] = "conftest";
+            myargv[1] = "-+";
+            myargv[2] = 0;
+            return getopt (2, myargv, "+a") != '?';
+          ]])],
+       [gl_cv_func_gnu_getopt=yes],
+       [gl_cv_func_gnu_getopt=no],
+       [dnl cross compiling - pessimistically guess based on decls
+        dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
+        dnl option string (as of 2005-05-05).
+        AC_CHECK_DECL([getopt_clip],
+          [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes],
+          [#include <getopt.h>])])])
+    if test "$gl_cv_func_gnu_getopt" = "no"; then
+      GETOPT_H=getopt.h
+    fi
+  fi
+])
+
+AC_DEFUN([gl_GETOPT_IFELSE],
+[
+  AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
+  AS_IF([test -n "$GETOPT_H"], [$1], [$2])
+])
+
+AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])])
+
+# Prerequisites of lib/getopt*.
+AC_DEFUN([gl_PREREQ_GETOPT],
+[
+  AC_CHECK_DECLS_ONCE([getenv])
+])
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644 (file)
index 0000000..91c345e
--- /dev/null
@@ -0,0 +1,419 @@
+# gettext.m4 serial 59 (gettext-0.16.1)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl    default (if it is not specified or empty) is 'no-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl    $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.  If NEEDSYMBOL is specified and is
+dnl    'need-formatstring-macros', then GNU gettext implementations that don't
+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries.  If empty,
+dnl    the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+  define([gt_included_intl],
+    ifelse([$1], [external],
+      ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
+      [yes]))
+  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+  gt_NEEDS_INIT
+  AM_GNU_GETTEXT_NEED([$2])
+
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
+
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
+  dnl Ideally we would do this search only after the
+  dnl      if test "$USE_NLS" = "yes"; then
+  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+  dnl the configure script would need to contain the same shell code
+  dnl again, outside any 'if'. There are two solutions:
+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+  dnl documented, we avoid it.
+  ifelse(gt_included_intl, yes, , [
+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+  ])
+
+  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+  gt_INTL_MACOSX
+
+  dnl Set USE_NLS.
+  AC_REQUIRE([AM_NLS])
+
+  ifelse(gt_included_intl, yes, [
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+  ])
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+  dnl Add a version number to the cache macros.
+  case " $gt_needs " in
+    *" need-formatstring-macros "*) gt_api_version=3 ;;
+    *" need-ngettext "*) gt_api_version=2 ;;
+    *) gt_api_version=1 ;;
+  esac
+  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
+      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.
+
+        if test $gt_api_version -ge 3; then
+          gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+'
+        else
+          gt_revision_test_code=
+        fi
+        if test $gt_api_version -ge 2; then
+          gt_expression_test_code=' + * ngettext ("", "", 0)'
+        else
+          gt_expression_test_code=
+        fi
+
+        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+         [AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+            [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
+            [eval "$gt_func_gnugettext_libc=yes"],
+            [eval "$gt_func_gnugettext_libc=no"])])
+
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+          dnl Sometimes libintl requires libiconv, so first search for libiconv.
+          ifelse(gt_included_intl, yes, , [
+            AM_ICONV_LINK
+          ])
+          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+          dnl even if libiconv doesn't exist.
+          AC_LIB_LINKFLAGS_BODY([intl])
+          AC_CACHE_CHECK([for GNU gettext in libintl],
+            [$gt_func_gnugettext_libintl],
+           [gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+            dnl Now see whether libintl exists and does not depend on libiconv.
+            AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+              [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+              [eval "$gt_func_gnugettext_libintl=yes"],
+              [eval "$gt_func_gnugettext_libintl=no"])
+            dnl Now see whether libintl exists and depends on libiconv.
+            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+                [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+               [LIBINTL="$LIBINTL $LIBICONV"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                eval "$gt_func_gnugettext_libintl=yes"
+               ])
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            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 { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+          dnl Reset the values set by searching for libintl.
+          LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+    ifelse(gt_included_intl, yes, [
+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      CATOBJEXT=
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
+        CATOBJEXT=.gmo
+      fi
+    ])
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Some extra flags are needed during linking.
+        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+      AC_DEFINE(ENABLE_NLS, 1,
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  AC_MSG_CHECKING([whether to use NLS])
+  AC_MSG_RESULT([$USE_NLS])
+  if test "$USE_NLS" = "yes"; then
+    AC_MSG_CHECKING([where the gettext function comes from])
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    AC_MSG_RESULT([$gt_source])
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        AC_MSG_CHECKING([how to link with libintl])
+        AC_MSG_RESULT([$LIBINTL])
+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+      fi
+
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE(HAVE_GETTEXT, 1,
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE(HAVE_DCGETTEXT, 1,
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
+    fi
+
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  ifelse(gt_included_intl, yes, [
+    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-runtime || test "$PACKAGE" = gettext-tools; then
+      BUILD_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(BUILD_INCLUDED_LIBINTL)
+    AC_SUBST(USE_INCLUDED_LIBINTL)
+    AC_SUBST(CATOBJEXT)
+
+    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 For backward compatibility. Some Makefiles may be using this.
+    INTLOBJS=
+    if test "$USE_INCLUDED_LIBINTL" = yes; then
+      INTLOBJS="\$(GETTOBJS)"
+    fi
+    AC_SUBST(INTLOBJS)
+
+    dnl Enable libtool support if the surrounding package wishes it.
+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+  ])
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INTLLIBS="$LIBINTL"
+  AC_SUBST(INTLLIBS)
+
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST(LIBINTL)
+  AC_SUBST(LTLIBINTL)
+  AC_SUBST(POSUB)
+])
+
+
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+  dnl Check for API introduced in MacOS X 10.2.
+  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
+       [CFPreferencesCopyAppValue(NULL, NULL)],
+       [gt_cv_func_CFPreferencesCopyAppValue=yes],
+       [gt_cv_func_CFPreferencesCopyAppValue=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+  fi
+  dnl Check for API introduced in MacOS X 10.3.
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+       [gt_cv_func_CFLocaleCopyCurrent=yes],
+       [gt_cv_func_CFLocaleCopyCurrent=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+  AC_SUBST([INTL_MACOSX_LIBS])
+])
+
+
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
+[
+  m4_divert_text([DEFAULTS], [gt_needs=])
+  m4_define([gt_NEEDS_INIT], [])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
+[
+  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
new file mode 100644 (file)
index 0000000..489a3c9
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright (C) 2004-2007 Free Software Foundation, Inc.
+#
+# This file is free software, distributed under the terms of the GNU
+# General Public License.  As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+#
+# This file represents the specification of how gnulib-tool is used.
+# It acts as a cache: It is written and read by gnulib-tool.
+# In projects using CVS, this file is meant to be stored in CVS,
+# like the configure.ac and various Makefile.am files.
+
+
+# Specification in the form of a command-line invocation:
+#   gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=. --no-libtool --macro-prefix=gl c-ctype getopt maintainer-makefile
+
+# Specification in the form of a few gnulib-tool.m4 macro invocations:
+gl_LOCAL_DIR([])
+gl_MODULES([c-ctype getopt maintainer-makefile])
+gl_AVOID([])
+gl_SOURCE_BASE([lib])
+gl_M4_BASE([m4])
+gl_PO_BASE([])
+gl_DOC_BASE([doc])
+gl_TESTS_BASE([tests])
+gl_LIB([libgnu])
+gl_MAKEFILE_NAME([])
+gl_MACRO_PREFIX([gl])
+gl_PO_DOMAIN([])
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
new file mode 100644 (file)
index 0000000..9336d72
--- /dev/null
@@ -0,0 +1,65 @@
+# gnulib-common.m4 serial 3
+dnl Copyright (C) 2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# gl_MODULE_INDICATOR([modulename])
+# defines a C macro indicating the presence of the given module.
+AC_DEFUN([gl_MODULE_INDICATOR],
+[
+  AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
+    [Define to 1 when using the gnulib module ]$1[.])
+])
+
+# AC_PROG_MKDIR_P
+# is a backport of autoconf-2.60's AC_PROG_MKDIR_P.
+# Remove this macro when we can assume autoconf >= 2.60.
+m4_ifdef([AC_PROG_MKDIR_P], [], [
+  AC_DEFUN([AC_PROG_MKDIR_P],
+    [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+     MKDIR_P='$(mkdir_p)'
+     AC_SUBST([MKDIR_P])])])
+
+# AC_C_RESTRICT
+# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
+# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
+# works.
+# This definition can be removed once autoconf >= 2.62 can be assumed.
+AC_DEFUN([AC_C_RESTRICT],
+[AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict,
+  [ac_cv_c_restrict=no
+   # The order here caters to the fact that C++ does not require restrict.
+   for ac_kw in __restrict __restrict__ _Restrict restrict; do
+     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+      [[typedef int * int_ptr;
+       int foo (int_ptr $ac_kw ip) {
+       return ip[0];
+       }]],
+      [[int s[1];
+       int * $ac_kw t = s;
+       t[0] = 0;
+       return foo(t)]])],
+      [ac_cv_c_restrict=$ac_kw])
+     test "$ac_cv_c_restrict" != no && break
+   done
+  ])
+ AH_VERBATIM([restrict],
+[/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported directly.  */
+#undef restrict
+/* Work around a bug in Sun C++: it does not support _Restrict, even
+   though the corresponding Sun C compiler does, which causes
+   "#define restrict _Restrict" in the previous line.  Perhaps some future
+   version of Sun C++ will work with _Restrict; if so, it'll probably
+   define __RESTRICT, just as Sun C does.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+#endif])
+ case $ac_cv_c_restrict in
+   restrict) ;;
+   no) AC_DEFINE([restrict], []) ;;
+   *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
+ esac
+])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
new file mode 100644 (file)
index 0000000..5d074c9
--- /dev/null
@@ -0,0 +1,118 @@
+# DO NOT EDIT! GENERATED AUTOMATICALLY!
+# Copyright (C) 2004-2007 Free Software Foundation, Inc.
+#
+# This file is free software, distributed under the terms of the GNU
+# General Public License.  As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+#
+# This file represents the compiled summary of the specification in
+# gnulib-cache.m4. It lists the computed macro invocations that need
+# to be invoked from configure.ac.
+# In projects using CVS, this file can be treated like other built files.
+
+
+# This macro should be invoked from ./configure.ac, in the section
+# "Checks for programs", right after AC_PROG_CC, and certainly before
+# any checks for libraries, header files, types and library functions.
+AC_DEFUN([gl_EARLY],
+[
+  m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace
+  m4_pattern_allow([^gl_ES$])dnl a valid locale name
+  m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
+  m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+  AC_REQUIRE([AC_PROG_RANLIB])
+])
+
+# This macro should be invoked from ./configure.ac, in the section
+# "Check for header files, types and library functions".
+AC_DEFUN([gl_INIT],
+[
+  m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ]))
+  m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS]))
+  m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES]))
+  AM_CONDITIONAL([GL_COND_LIBTOOL], [false])
+  gl_cond_libtool=false
+  gl_libdeps=
+  gl_ltlibdeps=
+  gl_source_base='lib'
+  gl_GETOPT
+  AC_SUBST([LIBINTL])
+  AC_SUBST([LTLIBINTL])
+  AM_STDBOOL_H
+  gl_UNISTD_H
+  LIBGNU_LIBDEPS="$gl_libdeps"
+  AC_SUBST([LIBGNU_LIBDEPS])
+  LIBGNU_LTLIBDEPS="$gl_ltlibdeps"
+  AC_SUBST([LIBGNU_LTLIBDEPS])
+  m4_popdef([AC_LIBSOURCES])
+  m4_popdef([AC_REPLACE_FUNCS])
+  m4_popdef([AC_LIBOBJ])
+  AC_CONFIG_COMMANDS_PRE([
+    gl_libobjs=
+    gl_ltlibobjs=
+    if test -n "$gl_LIBOBJS"; then
+      # Remove the extension.
+      sed_drop_objext='s/\.o$//;s/\.obj$//'
+      for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+        gl_libobjs="$gl_libobjs $i.$ac_objext"
+        gl_ltlibobjs="$gl_ltlibobjs $i.lo"
+      done
+    fi
+    AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
+    AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
+  ])
+])
+
+# Like AC_LIBOBJ, except that the module name goes
+# into gl_LIBOBJS instead of into LIBOBJS.
+AC_DEFUN([gl_LIBOBJ], [
+  AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl
+  gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext"
+])
+
+# Like AC_REPLACE_FUNCS, except that the module name goes
+# into gl_LIBOBJS instead of into LIBOBJS.
+AC_DEFUN([gl_REPLACE_FUNCS], [
+  m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl
+  AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)])
+])
+
+# Like AC_LIBSOURCES, except the directory where the source file is
+# expected is derived from the gnulib-tool parametrization,
+# and alloca is special cased (for the alloca-opt module).
+# We could also entirely rely on EXTRA_lib..._SOURCES.
+AC_DEFUN([gl_LIBSOURCES], [
+  m4_foreach([_gl_NAME], [$1], [
+    m4_if(_gl_NAME, [alloca.c], [], [
+      m4_syscmd([test -r lib/]_gl_NAME[ || test ! -d lib])dnl
+      m4_if(m4_sysval, [0], [],
+        [AC_FATAL([missing lib/]_gl_NAME)])
+    ])
+  ])
+])
+
+# This macro records the list of files which have been installed by
+# gnulib-tool and may be removed by future gnulib-tool invocations.
+AC_DEFUN([gl_FILE_LIST], [
+  build-aux/GNUmakefile
+  build-aux/link-warning.h
+  build-aux/maint.mk
+  lib/c-ctype.c
+  lib/c-ctype.h
+  lib/getopt.c
+  lib/getopt.in.h
+  lib/getopt1.c
+  lib/getopt_int.h
+  lib/gettext.h
+  lib/stdbool.in.h
+  lib/unistd.in.h
+  m4/getopt.m4
+  m4/gnulib-common.m4
+  m4/include_next.m4
+  m4/stdbool.m4
+  m4/unistd_h.m4
+])
diff --git a/m4/gnulib-tool.m4 b/m4/gnulib-tool.m4
new file mode 100644 (file)
index 0000000..ef59320
--- /dev/null
@@ -0,0 +1,33 @@
+# gnulib-tool.m4 serial 1
+dnl Copyright (C) 2004-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl The following macros need not be invoked explicitly.
+dnl Invoking them does nothing except to declare default arguments
+dnl for "gnulib-tool --import".
+
+dnl Usage: gl_MODULES([module1 module2 ...])
+AC_DEFUN([gl_MODULES], [])
+
+dnl Usage: gl_AVOID([module1 module2 ...])
+AC_DEFUN([gl_AVOID], [])
+
+dnl Usage: gl_SOURCE_BASE([DIR])
+AC_DEFUN([gl_SOURCE_BASE], [])
+
+dnl Usage: gl_M4_BASE([DIR])
+AC_DEFUN([gl_M4_BASE], [])
+
+dnl Usage: gl_LIB([LIBNAME])
+AC_DEFUN([gl_LIB], [])
+
+dnl Usage: gl_LGPL
+AC_DEFUN([gl_LGPL], [])
+
+dnl Usage: gl_LIBTOOL
+AC_DEFUN([gl_LIBTOOL], [])
+
+dnl Usage: gl_MACRO_PREFIX([PREFIX])
+AC_DEFUN([gl_MACRO_PREFIX], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644 (file)
index 0000000..654c415
--- /dev/null
@@ -0,0 +1,101 @@
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  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 <stdlib.h>
+#include <iconv.h>],
+      [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 $LIBICONV"
+      AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+        [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
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST(LIBICONV)
+  AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL(am_cv_proto_iconv, [
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+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
+], [], 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)
+    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+      [Define as const if the declaration of iconv() needs const.])
+  fi
+])
diff --git a/m4/include_next.m4 b/m4/include_next.m4
new file mode 100644 (file)
index 0000000..7ce472b
--- /dev/null
@@ -0,0 +1,107 @@
+# include_next.m4 serial 4
+dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert and Derek Price.
+
+AC_DEFUN([gl_INCLUDE_NEXT],
+[
+  AC_LANG_PREPROC_REQUIRE()
+  AC_CACHE_CHECK([whether the preprocessor supports include_next],
+    [gl_cv_have_include_next],
+    [rm -rf conftestd1 conftestd2
+     mkdir conftestd1 conftestd2
+     cat <<EOF > conftestd1/conftest.h
+#define DEFINED_IN_CONFTESTD1
+#include_next <conftest.h>
+#ifdef DEFINED_IN_CONFTESTD2
+int foo;
+#else
+#error "include_next doesn't work"
+#endif
+EOF
+     cat <<EOF > conftestd2/conftest.h
+#ifndef DEFINED_IN_CONFTESTD1
+#error "include_next test doesn't work"
+#endif
+#define DEFINED_IN_CONFTESTD2
+EOF
+     save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2"
+     AC_COMPILE_IFELSE([#include <conftest.h>],
+       [gl_cv_have_include_next=yes],
+       [gl_cv_have_include_next=no])
+     CPPFLAGS="$save_CPPFLAGS"
+     rm -rf conftestd1 conftestd2
+    ])
+  if test $gl_cv_have_include_next = yes; then
+
+    dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it
+    dnl to use @INCLUDE_NEXT@ instead.
+    AC_DEFINE([HAVE_INCLUDE_NEXT], 1,
+             [Define if your compiler supports the #include_next directive.])
+
+    INCLUDE_NEXT=include_next
+  else
+    INCLUDE_NEXT=include
+  fi
+  AC_SUBST([INCLUDE_NEXT])
+])
+
+# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
+# ------------------------------------------
+# For each arg foo.h, if #include_next works, define NEXT_FOO_H to be
+# '<foo.h>'; otherwise define it to be
+# '"///usr/include/foo.h"', or whatever other absolute file name is suitable.
+# That way, a header file with the following line:
+#      #@INCLUDE_NEXT@ @NEXT_FOO_H@
+# behaves (after sed substitution) as if it contained
+#      #include_next <foo.h>
+# even if the compiler does not support include_next.
+# The three "///" are to pacify Sun C 5.8, which otherwise would say
+# "warning: #include of /usr/include/... may be non-portable".
+# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+AC_DEFUN([gl_CHECK_NEXT_HEADERS],
+[
+  AC_REQUIRE([gl_INCLUDE_NEXT])
+  AC_CHECK_HEADERS_ONCE([$1])
+
+  AC_FOREACH([gl_HEADER_NAME], [$1],
+    [AS_VAR_PUSHDEF([gl_next_header],
+                   [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME])))
+     if test $gl_cv_have_include_next = yes; then
+       AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+     else
+       AC_CACHE_CHECK(
+        [absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>],
+        m4_quote(m4_defn([gl_next_header])),
+        [AS_VAR_PUSHDEF([gl_header_exists],
+                        [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME])))
+         if test AS_VAR_GET(gl_header_exists) = yes; then
+           AC_LANG_CONFTEST(
+             [AC_LANG_SOURCE(
+                [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
+              )])
+           dnl eval is necessary to expand ac_cpp.
+           dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+           dnl so use subshell.
+           AS_VAR_SET([gl_next_header],
+             ['"'`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+              sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{
+                s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1#
+                s#^/[^/]#//&#
+                p
+                q
+              }'`'"'])
+         else
+           AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+         fi
+         AS_VAR_POPDEF([gl_header_exists])])
+     fi
+     AC_SUBST(
+       AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))),
+       [AS_VAR_GET([gl_next_header])])
+     AS_VAR_POPDEF([gl_next_header])])
+])
index ea0b0c4ea6b85bbb799fb1cf6fb8844eb33de436..f95b7ba88d5ed86a8884f930a0e339cf9f6bca64 100644 (file)
@@ -1,5 +1,5 @@
-# lib-link.m4 serial 6 (gettext-0.14.3)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-link.m4 serial 9 (gettext-0.16)
+dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -126,6 +126,7 @@ dnl the libraries corresponding to explicit and implicit dependencies.
 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 [
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
   dnl By default, look in $includedir and $libdir.
@@ -148,7 +149,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
         ])
       else
         additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
+        additional_libdir="$withval/$acl_libdirstem"
       fi
     fi
 ])
@@ -197,9 +198,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
           found_so=
           found_a=
           if test $use_additional = yes; then
-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+            if test -n "$shlibext" \
+               && { test -f "$additional_libdir/lib$name.$shlibext" \
+                    || { test "$shlibext" = dll \
+                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
               found_dir="$additional_libdir"
-              found_so="$additional_libdir/lib$name.$shlibext"
+              if test -f "$additional_libdir/lib$name.$shlibext"; then
+                found_so="$additional_libdir/lib$name.$shlibext"
+              else
+                found_so="$additional_libdir/lib$name.dll.a"
+              fi
               if test -f "$additional_libdir/lib$name.la"; then
                 found_la="$additional_libdir/lib$name.la"
               fi
@@ -219,9 +227,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               case "$x" in
                 -L*)
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+                  if test -n "$shlibext" \
+                     && { test -f "$dir/lib$name.$shlibext" \
+                          || { test "$shlibext" = dll \
+                               && test -f "$dir/lib$name.dll.a"; }; }; then
                     found_dir="$dir"
-                    found_so="$dir/lib$name.$shlibext"
+                    if test -f "$dir/lib$name.$shlibext"; then
+                      found_so="$dir/lib$name.$shlibext"
+                    else
+                      found_so="$dir/lib$name.dll.a"
+                    fi
                     if test -f "$dir/lib$name.la"; then
                       found_la="$dir/lib$name.la"
                     fi
@@ -248,7 +263,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               dnl Linking with a shared library. We attempt to hardcode its
               dnl directory into the executable's runpath, unless it's the
               dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
                 dnl No hardcoding is needed.
                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
               else
@@ -334,8 +349,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
             dnl Assume the include files are nearby.
             additional_includedir=
             case "$found_dir" in
-              */lib | */lib/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -396,9 +411,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     dnl   3. if it's already present in $LDFLAGS or the already
                     dnl      constructed $LIBNAME,
                     dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/lib"; then
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -551,3 +566,79 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
     fi
   done
 ])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+  AC_REQUIRE([AC_LIB_RPATH])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  $1=
+  if test "$enable_rpath" != no; then
+    if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+      dnl Use an explicit option to hardcode directories into the resulting
+      dnl binary.
+      rpathdirs=
+      next=
+      for opt in $2; do
+        if test -n "$next"; then
+          dir="$next"
+          dnl No need to hardcode the standard /usr/lib.
+          if test "X$dir" != "X/usr/$acl_libdirstem"; then
+            rpathdirs="$rpathdirs $dir"
+          fi
+          next=
+        else
+          case $opt in
+            -L) next=yes ;;
+            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+                 dnl No need to hardcode the standard /usr/lib.
+                 if test "X$dir" != "X/usr/$acl_libdirstem"; then
+                   rpathdirs="$rpathdirs $dir"
+                 fi
+                 next= ;;
+            *) next= ;;
+          esac
+        fi
+      done
+      if test "X$rpathdirs" != "X"; then
+        if test -n ""$3""; then
+          dnl libtool is used for linking. Use -R options.
+          for dir in $rpathdirs; do
+            $1="${$1}${$1:+ }-R$dir"
+          done
+        else
+          dnl The linker is used for linking directly.
+          if test -n "$hardcode_libdir_separator"; then
+            dnl Weird platform: only the last -rpath option counts, the user
+            dnl must pass all path elements in one option.
+            alldirs=
+            for dir in $rpathdirs; do
+              alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
+            done
+            acl_save_libdir="$libdir"
+            libdir="$alldirs"
+            eval flag=\"$hardcode_libdir_flag_spec\"
+            libdir="$acl_save_libdir"
+            $1="$flag"
+          else
+            dnl The -rpath options are cumulative.
+            for dir in $rpathdirs; do
+              acl_save_libdir="$libdir"
+              libdir="$dir"
+              eval flag=\"$hardcode_libdir_flag_spec\"
+              libdir="$acl_save_libdir"
+              $1="${$1}${$1:+ }$flag"
+            done
+          fi
+        fi
+      fi
+    fi
+  fi
+  AC_SUBST([$1])
+])
index 0d895ca6309863369c11e55b32040fca0f90cad9..a8684e17e3abd5dc0c2d0bb27570fd091f5ebd65 100644 (file)
@@ -1,4 +1,4 @@
-# lib-prefix.m4 serial 4 (gettext-0.14.2)
+# lib-prefix.m4 serial 5 (gettext-0.15)
 dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -24,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
@@ -45,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
         ])
       else
         additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
+        additional_libdir="$withval/$acl_libdirstem"
       fi
     fi
 ])
@@ -87,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
     dnl   2. if it's already present in $LDFLAGS,
     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
     dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/lib"; then
+    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
       haveit=
       for x in $LDFLAGS; do
         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
@@ -97,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
         fi
       done
       if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/lib"; then
+        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
           if test -n "$GCC"; then
             case $host_os in
               linux*) haveit=yes;;
@@ -151,3 +152,34 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
   exec_prefix="$acl_save_exec_prefix"
   prefix="$acl_save_prefix"
 ])
+
+dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
+dnl the basename of the libdir, either "lib" or "lib64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+  dnl There is no formal standard regarding lib and lib64. The current
+  dnl practice is that on a system supporting 32-bit and 64-bit instruction
+  dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
+  dnl libraries go under $prefix/lib. We determine the compiler's default
+  dnl mode by looking at the compiler's library search path. If at least
+  dnl of its elements ends in /lib64 or points to a directory whose absolute
+  dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
+  dnl default, namely "lib".
+  acl_libdirstem=lib
+  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+  if test -n "$searchpath"; then
+    acl_save_IFS="${IFS=       }"; IFS=":"
+    for searchdir in $searchpath; do
+      if test -d "$searchdir"; then
+        case "$searchdir" in
+          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+          *) searchdir=`cd "$searchdir" && pwd`
+             case "$searchdir" in
+               */lib64 ) acl_libdirstem=lib64 ;;
+             esac ;;
+        esac
+      fi
+    done
+    IFS="$acl_save_IFS"
+  fi
+])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644 (file)
index 0000000..7967cc2
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,31 @@
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
+])
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644 (file)
index 0000000..00133ef
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,428 @@
+# po.m4 serial 13 (gettext-0.15)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+  AC_REQUIRE([AM_NLS])dnl
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+  dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+  case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+    *) MSGFMT_015=$MSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+    *) GMSGFMT_015=$GMSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([GMSGFMT_015])
+
+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([XGETTEXT_015])
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+  dnl Installation directories.
+  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+  dnl have to define it here, so that it can be used in po/Makefile.
+  test -n "$localedir" || localedir='${datadir}/locale'
+  AC_SUBST([localedir])
+
+  AC_CONFIG_COMMANDS([po-directories], [[
+    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.in.in.
+      case "$ac_file" in */Makefile.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'`
+        # 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
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        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"
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; 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
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done]],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+    # from automake < 1.5.
+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+  # When this code is run, in config.status, two variables have already been
+  # set:
+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+  # - LINGUAS is the value of the environment variable LINGUAS at configure
+  #   time.
+
+changequote(,)dnl
+  # 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'`
+  # 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
+
+  # Find a way to echo strings without interpreting backslash.
+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+    gt_echo='echo'
+  else
+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+      gt_echo='printf %s\n'
+    else
+      echo_func () {
+        cat <<EOT
+$*
+EOT
+      }
+      gt_echo='echo_func'
+    fi
+  fi
+
+  # A sed script that extracts the value of VARIABLE from a Makefile.
+  sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[     ]*VARIABLE[     ]*=/{
+  # Seen the first line of the variable definition.
+  s/^[  ]*VARIABLE[     ]*=//
+  ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+  # Set POTFILES to the value of the Makefile variable POTFILES.
+  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+  # Compute POTFILES_DEPS as
+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+  POTFILES_DEPS=
+  for file in $POTFILES; do
+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+  done
+  POMAKEFILEDEPS=""
+
+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+  fi
+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+    # The LINGUAS file contains the set of available languages.
+    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+  else
+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+  fi
+  # Hide the ALL_LINGUAS assigment from automake < 1.5.
+  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+  # Compute POFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+  # Compute UPDATEPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+  # Compute DUMMYPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+  # Compute GMOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+  # Compute PROPERTIESFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+  # Compute CLASSFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+  # Compute QMFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+  # Compute MSGFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+  # Compute RESOURCESDLLFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+  case "$ac_given_srcdir" in
+    .) srcdirpre= ;;
+    *) srcdirpre='$(srcdir)/' ;;
+  esac
+  POFILES=
+  UPDATEPOFILES=
+  DUMMYPOFILES=
+  GMOFILES=
+  PROPERTIESFILES=
+  CLASSFILES=
+  QMFILES=
+  MSGFILES=
+  RESOURCESDLLFILES=
+  for lang in $ALL_LINGUAS; do
+    POFILES="$POFILES $srcdirpre$lang.po"
+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+    QMFILES="$QMFILES $srcdirpre$lang.qm"
+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+  done
+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
+  # environment variable.
+  INST_LINGUAS=
+  if test -n "$ALL_LINGUAS"; then
+    for presentlang in $ALL_LINGUAS; do
+      useit=no
+      if test "%UNSET%" != "$LINGUAS"; then
+        desiredlanguages="$LINGUAS"
+      else
+        desiredlanguages="$ALL_LINGUAS"
+      fi
+      for desiredlang in $desiredlanguages; 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
+        INST_LINGUAS="$INST_LINGUAS $presentlang"
+      fi
+    done
+  fi
+  CATALOGS=
+  JAVACATALOGS=
+  QTCATALOGS=
+  TCLCATALOGS=
+  CSHARPCATALOGS=
+  if test -n "$INST_LINGUAS"; then
+    for lang in $INST_LINGUAS; do
+      CATALOGS="$CATALOGS $lang.gmo"
+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+      QTCATALOGS="$QTCATALOGS $lang.qm"
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+    done
+  fi
+
+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if test -n "$POMAKEFILEDEPS"; then
+    cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+  fi
+  mv "$ac_file.tmp" "$ac_file"
+])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644 (file)
index 0000000..a56365c
--- /dev/null
@@ -0,0 +1,92 @@
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ(2.50)
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+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.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in ifelse([$5], , $PATH, [$5]); do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+          if [$3]; then
+            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+    ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
diff --git a/m4/stdbool.m4 b/m4/stdbool.m4
new file mode 100644 (file)
index 0000000..2204ecd
--- /dev/null
@@ -0,0 +1,115 @@
+# Check for stdbool.h that conforms to C99.
+
+dnl Copyright (C) 2002-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Prepare for substituting <stdbool.h> if it is not supported.
+
+AC_DEFUN([AM_STDBOOL_H],
+[
+  AC_REQUIRE([AC_HEADER_STDBOOL])
+
+  # Define two additional variables used in the Makefile substitution.
+
+  if test "$ac_cv_header_stdbool_h" = yes; then
+    STDBOOL_H=''
+  else
+    STDBOOL_H='stdbool.h'
+  fi
+  AC_SUBST([STDBOOL_H])
+
+  if test "$ac_cv_type__Bool" = yes; then
+    HAVE__BOOL=1
+  else
+    HAVE__BOOL=0
+  fi
+  AC_SUBST([HAVE__BOOL])
+])
+
+# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future.
+AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H])
+
+# This macro is only needed in autoconf <= 2.59.  Newer versions of autoconf
+# have this macro built-in.
+
+AC_DEFUN([AC_HEADER_STDBOOL],
+  [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
+     [ac_cv_header_stdbool_h],
+     [AC_TRY_COMPILE(
+       [
+         #include <stdbool.h>
+         #ifndef bool
+          "error: bool is not defined"
+         #endif
+         #ifndef false
+          "error: false is not defined"
+         #endif
+         #if false
+          "error: false is not 0"
+         #endif
+         #ifndef true
+          "error: true is not defined"
+         #endif
+         #if true != 1
+          "error: true is not 1"
+         #endif
+         #ifndef __bool_true_false_are_defined
+          "error: __bool_true_false_are_defined is not defined"
+         #endif
+
+         struct s { _Bool s: 1; _Bool t; } s;
+
+         char a[true == 1 ? 1 : -1];
+         char b[false == 0 ? 1 : -1];
+         char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+         char d[(bool) 0.5 == true ? 1 : -1];
+         bool e = &s;
+         char f[(_Bool) 0.0 == false ? 1 : -1];
+         char g[true];
+         char h[sizeof (_Bool)];
+         char i[sizeof s.t];
+         enum { j = false, k = true, l = false * true, m = true * 256 };
+         _Bool n[m];
+         char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+         char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+         #if defined __xlc__ || defined __GNUC__
+          /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
+             reported by James Lemley on 2005-10-05; see
+             http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+             This test is not quite right, since xlc is allowed to
+             reject this program, as the initializer for xlcbug is
+             not one of the forms that C requires support for.
+             However, doing the test right would require a run-time
+             test, and that would make cross-compilation harder.
+             Let us hope that IBM fixes the xlc bug, and also adds
+             support for this kind of constant expression.  In the
+             meantime, this test will reject xlc, which is OK, since
+             our stdbool.h substitute should suffice.  We also test
+             this with GCC, where it should work, to detect more
+             quickly whether someone messes up the test in the
+             future.  */
+          char digs[] = "0123456789";
+          int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
+         #endif
+         /* Catch a bug in an HP-UX C compiler.  See
+            http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+            http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+          */
+         _Bool q = true;
+         _Bool *pq = &q;
+       ],
+       [
+         *pq |= q;
+         *pq |= ! q;
+         /* Refer to every declared value, to avoid compiler optimizations.  */
+         return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+                 + !m + !n + !o + !p + !q + !pq);
+       ],
+       [ac_cv_header_stdbool_h=yes],
+       [ac_cv_header_stdbool_h=no])])
+   AC_CHECK_TYPES([_Bool])
+   if test $ac_cv_header_stdbool_h = yes; then
+     AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
+   fi])
diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4
new file mode 100644 (file)
index 0000000..91c02e7
--- /dev/null
@@ -0,0 +1,60 @@
+# unistd_h.m4 serial 10
+dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Simon Josefsson, Bruno Haible.
+
+AC_DEFUN([gl_UNISTD_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+
+  gl_CHECK_NEXT_HEADERS([unistd.h])
+
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  if test $ac_cv_header_unistd_h = yes; then
+    HAVE_UNISTD_H=1
+  else
+    HAVE_UNISTD_H=0
+  fi
+  AC_SUBST([HAVE_UNISTD_H])
+])
+
+AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+])
+
+AC_DEFUN([gl_UNISTD_H_DEFAULTS],
+[
+  GNULIB_CHOWN=0;         AC_SUBST([GNULIB_CHOWN])
+  GNULIB_DUP2=0;          AC_SUBST([GNULIB_DUP2])
+  GNULIB_FCHDIR=0;        AC_SUBST([GNULIB_FCHDIR])
+  GNULIB_FTRUNCATE=0;     AC_SUBST([GNULIB_FTRUNCATE])
+  GNULIB_GETCWD=0;        AC_SUBST([GNULIB_GETCWD])
+  GNULIB_GETLOGIN_R=0;    AC_SUBST([GNULIB_GETLOGIN_R])
+  GNULIB_GETPAGESIZE=0;   AC_SUBST([GNULIB_GETPAGESIZE])
+  GNULIB_LCHOWN=0;        AC_SUBST([GNULIB_LCHOWN])
+  GNULIB_LSEEK=0;         AC_SUBST([GNULIB_LSEEK])
+  GNULIB_READLINK=0;      AC_SUBST([GNULIB_READLINK])
+  GNULIB_SLEEP=0;         AC_SUBST([GNULIB_SLEEP])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_DUP2=1;            AC_SUBST([HAVE_DUP2])
+  HAVE_FTRUNCATE=1;       AC_SUBST([HAVE_FTRUNCATE])
+  HAVE_GETPAGESIZE=1;     AC_SUBST([HAVE_GETPAGESIZE])
+  HAVE_READLINK=1;        AC_SUBST([HAVE_READLINK])
+  HAVE_SLEEP=1;           AC_SUBST([HAVE_SLEEP])
+  HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
+  HAVE_OS_H=0;            AC_SUBST([HAVE_OS_H])
+  HAVE_SYS_PARAM_H=0;     AC_SUBST([HAVE_SYS_PARAM_H])
+  REPLACE_CHOWN=0;        AC_SUBST([REPLACE_CHOWN])
+  REPLACE_FCHDIR=0;       AC_SUBST([REPLACE_FCHDIR])
+  REPLACE_GETCWD=0;       AC_SUBST([REPLACE_GETCWD])
+  REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
+  REPLACE_LSEEK=0;        AC_SUBST([REPLACE_LSEEK])
+])
index 86ced408bcea2e328926aec22135467ad361f54c..7cd96617736ac9235c8bfc1ed289731f44b81dad 100644 (file)
@@ -1,9 +1,10 @@
 dnl Wget-specific Autoconf macros.
-dnl Copyright (C) 1996-2005 Free Software Foundation, Inc.
+dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+dnl 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 dnl This program is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
+dnl the Free Software Foundation; either version 3 of the License, or
 dnl (at your option) any later version.
 
 dnl This program is distributed in the hope that it will be useful,
@@ -12,18 +13,18 @@ dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
 
 dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-dnl In addition, as a special exception, the Free Software Foundation
-dnl gives permission to link the code of its release of Wget with the
-dnl OpenSSL project's "OpenSSL" library (or with modified versions of it
-dnl that use the same license as the "OpenSSL" library), and distribute
-dnl the linked executables.  You must obey the GNU General Public License
-dnl in all respects for all of the code used other than "OpenSSL".  If you
-dnl modify this file, you may extend this exception to your version of the
-dnl file, but you are not obligated to do so.  If you do not wish to do
-dnl so, delete this exception statement from your version.
+dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+dnl Additional permission under GNU GPL version 3 section 7
+
+dnl If you modify this program, or any covered work, by linking or
+dnl combining it with the OpenSSL project's OpenSSL library (or a
+dnl modified version of that library), containing parts covered by the
+dnl terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+dnl grants you additional permission to convey the resulting work.
+dnl Corresponding Source for a non-source form of such a combination
+dnl shall include the source code for the parts of OpenSSL used as well
+dnl as that of the covered work.
 
 dnl
 dnl Check for `struct utimbuf'.
@@ -226,150 +227,9 @@ dnl ************************************************************
 dnl END OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
 dnl ************************************************************
 \f
-# This code originates from Ulrich Drepper's AM_WITH_NLS.
-
-AC_DEFUN([WGET_WITH_NLS],
-  [AC_MSG_CHECKING([whether NLS is requested])
-    dnl Default is enabled NLS
-    AC_ARG_ENABLE(nls,
-      [  --disable-nls           do not use Native Language Support],
-      HAVE_NLS=$enableval, HAVE_NLS=yes)
-    AC_MSG_RESULT($HAVE_NLS)
-
-    dnl If something goes wrong, we may still decide not to use NLS.
-    dnl For this reason, defer AC_SUBST'ing HAVE_NLS until the very
-    dnl last moment.
-
-    if test x"$HAVE_NLS" = xyes; then
-      dnl If LINGUAS is specified, use only those languages.  In fact,
-      dnl compute an intersection of languages in LINGUAS and
-      dnl ALL_LINGUAS, and use that.
-      if test x"$LINGUAS" != x; then
-        new_linguas=
-        for lang1 in $ALL_LINGUAS; do
-          for lang2 in $LINGUAS; do
-            if test "$lang1" = "$lang2"; then
-              new_linguas="$new_linguas $lang1"
-            fi
-          done
-        done
-        ALL_LINGUAS=$new_linguas
-      fi
-      AC_MSG_NOTICE([language catalogs: $ALL_LINGUAS])
-      AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-       [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
-      AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-         [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
-      AC_SUBST(MSGFMT)
-      AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-      CATOBJEXT=.gmo
-      INSTOBJEXT=.mo
-      DATADIRNAME=share
-
-      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 2> /dev/null; then
-         : ;
-       else
-         AC_MSG_RESULT(
-           [found xgettext programs is not GNU xgettext; ignore it])
-         XGETTEXT=":"
-       fi
-      fi
-
-      AC_CHECK_HEADERS(libintl.h)
-
-      dnl Prefer gettext found in -lintl to the one in libc.
-      dnl Otherwise it can happen that we include libintl.h from
-      dnl /usr/local/lib, but fail to specify -lintl, which results in
-      dnl link or run-time failures.  (Symptom: libintl_bindtextdomain
-      dnl not found at link-time.)
-
-      AC_CHECK_LIB(intl, gettext, [
-        dnl gettext is in libintl; announce the fact manually.
-        LIBS="-lintl $LIBS"
-       AC_DEFINE([HAVE_GETTEXT], 1,
-                  [Define if you have the gettext function.])
-      ], [
-        AC_CHECK_FUNCS(gettext, [], [
-          AC_MSG_RESULT([gettext not found; disabling NLS])
-          HAVE_NLS=no
-        ])
-      ])
-
-      for lang in $ALL_LINGUAS; do
-       GMOFILES="$GMOFILES $lang.gmo"
-       POFILES="$POFILES $lang.po"
-      done
-      dnl Construct list of names of catalog files to be constructed.
-      for lang in $ALL_LINGUAS; do
-        CATALOGS="$CATALOGS ${lang}${CATOBJEXT}"
-      done
-
-      dnl Make all variables we use known to autoconf.
-      AC_SUBST(CATALOGS)
-      AC_SUBST(CATOBJEXT)
-      AC_SUBST(DATADIRNAME)
-      AC_SUBST(GMOFILES)
-      AC_SUBST(INSTOBJEXT)
-      AC_SUBST(INTLLIBS)
-      AC_SUBST(POFILES)
-    fi
-    AC_SUBST(HAVE_NLS)
-    dnl Some independently maintained files, such as po/Makefile.in,
-    dnl use `USE_NLS', so support it.
-    USE_NLS=$HAVE_NLS
-    AC_SUBST(USE_NLS)
-    if test "x$HAVE_NLS" = xyes; then
-      AC_DEFINE([HAVE_NLS], 1, [Define this if you want the NLS support.])
-    fi
-  ])
-
-dnl Generate list of files to be processed by xgettext which will
-dnl be included in po/Makefile.
-dnl
-dnl This is not strictly an Autoconf macro, because it is run from
-dnl within `config.status' rather than from within configure.  This
-dnl is why special rules must be applied for it.
-AC_DEFUN(WGET_PROCESS_PO,
-  [
-   dnl I wonder what the following several lines do...
-   if test "x$srcdir" != "x."; then
-     if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
-       posrcprefix="$srcdir/"
-     else
-       posrcprefix="../$srcdir/"
-     fi
-   else
-     posrcprefix="../"
-   fi
-   rm -f po/POTFILES
-   dnl Use `echo' rather than AC_MSG_RESULT, because this is run from
-   dnl `config.status'.
-   echo "generating po/POTFILES from $srcdir/po/POTFILES.in"
-   sed -e "/^#/d" -e "/^\$/d" -e "s,.*,        $posrcprefix& \\\\,"  \
-       -e "\$s/\(.*\) \\\\/\1/" \
-        < $srcdir/po/POTFILES.in > po/POTFILES
-   echo "creating po/Makefile"
-   sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
-  ])
-
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file may be copied and used freely without restrictions.  It
-# can be used in projects which are not available under the GNU Public
-# License but which still want to provide support for the GNU gettext
-# functionality.  Please note that the actual code is *not* freely
-# available.
-
-# serial 1
-
 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN(AM_PATH_PROG_WITH_TEST,
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
 [# Extract the first word of "$2", so it can be a program name with args.
 set dummy $2; ac_word=[$]2
 AC_MSG_CHECKING([for $ac_word])
diff --git a/maint.mk b/maint.mk
new file mode 100644 (file)
index 0000000..662b371
--- /dev/null
+++ b/maint.mk
@@ -0,0 +1,123 @@
+# -*-Makefile-*-
+# This Makefile fragment is intended to be useful by any GNU-like project.
+# This file originate from coreutils, CPPI, Bison, and Autoconf.
+
+# Copyright (C) 2001-2007 Free Software Foundation, Inc.
+#
+# This program 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 3 of the License,
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+ME := maint.mk
+
+# List of all C-like source code files that will be tested for
+# stylistic "errors".  You may want to define this to something 
+# more complex in Makefile.cfg.
+C_SOURCES ?= $(shell find . -name '*.[chly]')
+
+# Add some more files to check, typically set in Makefile.cfg.
+C_SOURCES += $(C_SOURCES_ADD)
+
+# Do not save the original name or timestamp in the .tar.gz file.
+# Use --rsyncable if available.
+gzip_rsyncable := \
+  $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo --rsyncable)
+GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
+
+# Prevent programs like 'sort' from considering distinct strings to be equal.
+# Doing it here saves us from having to set LC_ALL elsewhere in this file.
+export LC_ALL = C
+
+# Casting arguments to free is never necessary.
+sc_cast_of_argument_to_free:
+       @grep -nE '\<free *\( *\(' $(C_SOURCES) &&                      \
+         { echo '$(ME): don'\''t cast free argument' 1>&2;             \
+           exit 1; } || :
+
+sc_cast_of_x_alloc_return_value:
+       @grep -nE '\*\) *x(m|c|re)alloc\>' $(C_SOURCES) &&              \
+         { echo '$(ME): don'\''t cast x*alloc return value' 1>&2;      \
+           exit 1; } || :
+
+sc_cast_of_alloca_return_value:
+       @grep -nE '\*\) *alloca\>' $(C_SOURCES) &&                      \
+         { echo '$(ME): don'\''t cast alloca return value' 1>&2;       \
+           exit 1; } || :
+
+sc_space_tab:
+       @grep -n '[ ]   ' $(C_SOURCES) &&                               \
+         { echo '$(ME): found SPACE-TAB sequence; remove the SPACE'    \
+               1>&2; exit 1; } || :
+
+# Don't use the old ato* functions in `real' code.
+# They provide no error checking mechanism.
+# Instead, use strto* functions.
+sc_prohibit_atoi_atof:
+       @grep -nE '\<ato([filq]|ll)\>' $(C_SOURCES) &&                  \
+         { echo '$(ME): do not use ato''f, ato''i, ato''l, ato''ll, or ato''q' \
+               1>&2; exit 1; } || :
+
+# Using EXIT_SUCCESS as the first argument to error is misleading,
+# since when that parameter is 0, error does not exit.  Use `0' instead.
+sc_error_exit_success:
+       @grep -nF 'error (EXIT_SUCCESS,' $(C_SOURCES) &&                \
+         { echo '$(ME): found error (EXIT_SUCCESS' 1>&2;               \
+           exit 1; } || :
+
+# Stylistic, use #ifdef instead of #if
+sc_no_if_have_config_h:
+       @grep -n '^# *if HAVE_CONFIG_H' $(C_SOURCES) &&                 \
+         { echo '$(ME): found use of #if HAVE_CONFIG_H; use #ifdef'    \
+               1>&2; exit 1; } || :
+
+# Prohibit the inclusion of assert.h without an actual use of assert.
+sc_prohibit_assert_without_use:
+       @files=$$(grep -l '# *include [<"]assert\.h[>"]' $(C_SOURCES)   \
+                       | grep '\.[cy]$$') &&                           \
+       grep -L '\<assert (' $$files                                    \
+           | grep . &&                                                 \
+         { echo "$(ME): the above files include <assert.h> but don't use it" \
+               1>&2; exit 1; } || :
+
+sc_obsolete_symbols:
+       @grep -nE '\<(HAVE''_FCNTL_H|O''_NDELAY)\>' $(C_SOURCES) &&     \
+         { echo '$(ME): do not use HAVE''_FCNTL_H or O''_NDELAY'       \
+               1>&2; exit 1; } || :
+
+# Each nonempty line must start with a year number, or a TAB.
+sc_changelog:
+       @grep -n '^[^12 ]' $$(find . -name ChangeLog) &&        \
+         { echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2;  \
+           exit 1; } || :
+
+# Collect the names of rules starting with `sc_'.
+syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME))
+.PHONY: $(syntax-check-rules)
+
+syntax-check: $(syntax-check-rules)
+
+# Update gettext files.
+PACKAGE ?= $(shell basename $(PWD))
+POURL = http://translationproject.org/latest/$(PACKAGE)/
+PODIR ?= po
+refresh-po:
+       rm -f $(PODIR)/*.po && \
+       echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \
+       wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \
+       echo 'en@boldquot' > $(PODIR)/LINGUAS && \
+       echo 'en@quot' >> $(PODIR)/LINGUAS && \
+       ls $(PODIR)/*.po | sed 's/.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS
+
+INDENT_SOURCES ?= $(C_SOURCES)
+.PHONY: indent
+indent:
+       indent $(INDENT_SOURCES)
diff --git a/md5/Makefile.am b/md5/Makefile.am
new file mode 100644 (file)
index 0000000..1032a6c
--- /dev/null
@@ -0,0 +1,132 @@
+## DO NOT EDIT! GENERATED AUTOMATICALLY!
+## Process this file with automake to produce Makefile.in.
+# Copyright (C) 2004-2007 Free Software Foundation, Inc.
+#
+# This file is free software, distributed under the terms of the GNU
+# General Public License.  As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+# Reproduce by: gnulib-tool --import --dir=. --lib=libmd5 --source-base=md5 --m4-base=md5/m4 --doc-base=doc --aux-dir=. --no-libtool --macro-prefix=md5 crypto/md5
+
+AUTOMAKE_OPTIONS = 1.5 gnits
+
+noinst_HEADERS =
+noinst_LIBRARIES =
+noinst_LTLIBRARIES =
+EXTRA_DIST =
+BUILT_SOURCES =
+SUFFIXES =
+MOSTLYCLEANFILES = core *.stackdump
+MOSTLYCLEANDIRS =
+CLEANFILES =
+DISTCLEANFILES =
+MAINTAINERCLEANFILES =
+
+AM_CPPFLAGS =
+
+noinst_LIBRARIES += libmd5.a
+
+libmd5_a_SOURCES =
+libmd5_a_LIBADD = $(md5_LIBOBJS)
+libmd5_a_DEPENDENCIES = $(md5_LIBOBJS)
+EXTRA_libmd5_a_SOURCES =
+
+## begin gnulib module crypto/md5
+
+
+EXTRA_DIST += md5.c md5.h
+
+EXTRA_libmd5_a_SOURCES += md5.c
+
+## end   gnulib module crypto/md5
+
+## begin gnulib module link-warning
+
+LINK_WARNING_H=$(top_srcdir)/./link-warning.h
+
+EXTRA_DIST += $(top_srcdir)/./link-warning.h
+
+## end   gnulib module link-warning
+
+## begin gnulib module stdint
+
+BUILT_SOURCES += $(STDINT_H)
+
+# We need the following in order to create <stdint.h> when the system
+# doesn't have one that works with the given compiler.
+stdint.h: stdint.in.h
+       rm -f $@-t $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+             -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+             -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+             -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+             -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+             -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+             -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+             -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+             -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+             -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+             -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+             -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+             -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+             -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+             -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+             -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+             < $(srcdir)/stdint.in.h; \
+       } > $@-t
+       mv $@-t $@
+MOSTLYCLEANFILES += stdint.h stdint.h-t
+
+EXTRA_DIST += stdint.in.h
+
+## end   gnulib module stdint
+
+## begin gnulib module wchar
+
+BUILT_SOURCES += $(WCHAR_H)
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h
+       rm -f $@-t $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+             -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
+             -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
+             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+             -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
+           < $(srcdir)/wchar.in.h; \
+       } > $@-t
+       mv $@-t $@
+MOSTLYCLEANFILES += wchar.h wchar.h-t
+
+EXTRA_DIST += wchar.in.h
+
+## end   gnulib module wchar
+
+## begin gnulib module dummy
+
+libmd5_a_SOURCES += dummy.c
+
+## end   gnulib module dummy
+
+
+mostlyclean-local: mostlyclean-generic
+       @for dir in '' $(MOSTLYCLEANDIRS); do \
+         if test -n "$$dir" && test -d $$dir; then \
+           echo "rmdir $$dir"; rmdir $$dir; \
+         fi; \
+       done; \
+       :
diff --git a/md5/dummy.c b/md5/dummy.c
new file mode 100644 (file)
index 0000000..ccb5c26
--- /dev/null
@@ -0,0 +1,42 @@
+/* A dummy file, to prevent empty libraries from breaking builds.
+   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
+
+   This program 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 3 of the License, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Some systems, reportedly OpenBSD and Mac OS X, refuse to create
+   libraries without any object files.  You might get an error like:
+
+   > ar cru .libs/libgl.a
+   > ar: no archive members specified
+
+   Compiling this file, and adding its object file to the library, will
+   prevent the library from being empty.  */
+
+/* Some systems, such as Solaris with cc 5.0, refuse to work with libraries
+   that don't export any symbol.  You might get an error like:
+
+   > cc ... libgnu.a
+   > ild: (bad file) garbled symbol table in archive ../gllib/libgnu.a
+
+   Compiling this file, and adding its object file to the library, will
+   prevent the library from exporting no symbols.  */
+
+#ifdef __sun
+/* This declaration ensures that the library will export at least 1 symbol.  */
+int gl_dummy_symbol;
+#else
+/* This declaration is solely to ensure that after preprocessing
+   this file is never empty.  */
+typedef int dummy;
+#endif
diff --git a/md5/m4/gnulib-cache.m4 b/md5/m4/gnulib-cache.m4
new file mode 100644 (file)
index 0000000..6ca94a7
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright (C) 2004-2007 Free Software Foundation, Inc.
+#
+# This file is free software, distributed under the terms of the GNU
+# General Public License.  As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+#
+# This file represents the specification of how gnulib-tool is used.
+# It acts as a cache: It is written and read by gnulib-tool.
+# In projects using CVS, this file is meant to be stored in CVS,
+# like the configure.ac and various Makefile.am files.
+
+
+# Specification in the form of a command-line invocation:
+#   gnulib-tool --import --dir=. --lib=libmd5 --source-base=md5 --m4-base=md5/m4 --doc-base=doc --aux-dir=. --no-libtool --macro-prefix=md5 crypto/md5
+
+# Specification in the form of a few gnulib-tool.m4 macro invocations:
+gl_LOCAL_DIR([])
+gl_MODULES([crypto/md5])
+gl_AVOID([])
+gl_SOURCE_BASE([md5])
+gl_M4_BASE([md5/m4])
+gl_PO_BASE([])
+gl_DOC_BASE([doc])
+gl_TESTS_BASE([tests])
+gl_LIB([libmd5])
+gl_MAKEFILE_NAME([])
+gl_MACRO_PREFIX([md5])
+gl_PO_DOMAIN([])
diff --git a/md5/m4/gnulib-common.m4 b/md5/m4/gnulib-common.m4
new file mode 100644 (file)
index 0000000..9336d72
--- /dev/null
@@ -0,0 +1,65 @@
+# gnulib-common.m4 serial 3
+dnl Copyright (C) 2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# gl_MODULE_INDICATOR([modulename])
+# defines a C macro indicating the presence of the given module.
+AC_DEFUN([gl_MODULE_INDICATOR],
+[
+  AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
+    [Define to 1 when using the gnulib module ]$1[.])
+])
+
+# AC_PROG_MKDIR_P
+# is a backport of autoconf-2.60's AC_PROG_MKDIR_P.
+# Remove this macro when we can assume autoconf >= 2.60.
+m4_ifdef([AC_PROG_MKDIR_P], [], [
+  AC_DEFUN([AC_PROG_MKDIR_P],
+    [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+     MKDIR_P='$(mkdir_p)'
+     AC_SUBST([MKDIR_P])])])
+
+# AC_C_RESTRICT
+# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
+# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
+# works.
+# This definition can be removed once autoconf >= 2.62 can be assumed.
+AC_DEFUN([AC_C_RESTRICT],
+[AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict,
+  [ac_cv_c_restrict=no
+   # The order here caters to the fact that C++ does not require restrict.
+   for ac_kw in __restrict __restrict__ _Restrict restrict; do
+     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+      [[typedef int * int_ptr;
+       int foo (int_ptr $ac_kw ip) {
+       return ip[0];
+       }]],
+      [[int s[1];
+       int * $ac_kw t = s;
+       t[0] = 0;
+       return foo(t)]])],
+      [ac_cv_c_restrict=$ac_kw])
+     test "$ac_cv_c_restrict" != no && break
+   done
+  ])
+ AH_VERBATIM([restrict],
+[/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported directly.  */
+#undef restrict
+/* Work around a bug in Sun C++: it does not support _Restrict, even
+   though the corresponding Sun C compiler does, which causes
+   "#define restrict _Restrict" in the previous line.  Perhaps some future
+   version of Sun C++ will work with _Restrict; if so, it'll probably
+   define __RESTRICT, just as Sun C does.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+#endif])
+ case $ac_cv_c_restrict in
+   restrict) ;;
+   no) AC_DEFINE([restrict], []) ;;
+   *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
+ esac
+])
diff --git a/md5/m4/gnulib-comp.m4 b/md5/m4/gnulib-comp.m4
new file mode 100644 (file)
index 0000000..923b7b1
--- /dev/null
@@ -0,0 +1,111 @@
+# DO NOT EDIT! GENERATED AUTOMATICALLY!
+# Copyright (C) 2004-2007 Free Software Foundation, Inc.
+#
+# This file is free software, distributed under the terms of the GNU
+# General Public License.  As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+#
+# This file represents the compiled summary of the specification in
+# gnulib-cache.m4. It lists the computed macro invocations that need
+# to be invoked from configure.ac.
+# In projects using CVS, this file can be treated like other built files.
+
+
+# This macro should be invoked from ./configure.ac, in the section
+# "Checks for programs", right after AC_PROG_CC, and certainly before
+# any checks for libraries, header files, types and library functions.
+AC_DEFUN([md5_EARLY],
+[
+  m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace
+  m4_pattern_allow([^gl_ES$])dnl a valid locale name
+  m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
+  m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+  AC_REQUIRE([AC_PROG_RANLIB])
+])
+
+# This macro should be invoked from ./configure.ac, in the section
+# "Check for header files, types and library functions".
+AC_DEFUN([md5_INIT],
+[
+  m4_pushdef([AC_LIBOBJ], m4_defn([md5_LIBOBJ]))
+  m4_pushdef([AC_REPLACE_FUNCS], m4_defn([md5_REPLACE_FUNCS]))
+  m4_pushdef([AC_LIBSOURCES], m4_defn([md5_LIBSOURCES]))
+  AM_CONDITIONAL([GL_COND_LIBTOOL], [false])
+  gl_cond_libtool=false
+  gl_libdeps=
+  gl_ltlibdeps=
+  gl_source_base='md5'
+  gl_MD5
+  gl_STDINT_H
+  gl_WCHAR_H
+  LIBMD5_LIBDEPS="$gl_libdeps"
+  AC_SUBST([LIBMD5_LIBDEPS])
+  LIBMD5_LTLIBDEPS="$gl_ltlibdeps"
+  AC_SUBST([LIBMD5_LTLIBDEPS])
+  m4_popdef([AC_LIBSOURCES])
+  m4_popdef([AC_REPLACE_FUNCS])
+  m4_popdef([AC_LIBOBJ])
+  AC_CONFIG_COMMANDS_PRE([
+    md5_libobjs=
+    md5_ltlibobjs=
+    if test -n "$md5_LIBOBJS"; then
+      # Remove the extension.
+      sed_drop_objext='s/\.o$//;s/\.obj$//'
+      for i in `for i in $md5_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+        md5_libobjs="$md5_libobjs $i.$ac_objext"
+        md5_ltlibobjs="$md5_ltlibobjs $i.lo"
+      done
+    fi
+    AC_SUBST([md5_LIBOBJS], [$md5_libobjs])
+    AC_SUBST([md5_LTLIBOBJS], [$md5_ltlibobjs])
+  ])
+])
+
+# Like AC_LIBOBJ, except that the module name goes
+# into md5_LIBOBJS instead of into LIBOBJS.
+AC_DEFUN([md5_LIBOBJ], [
+  AS_LITERAL_IF([$1], [md5_LIBSOURCES([$1.c])])dnl
+  md5_LIBOBJS="$md5_LIBOBJS $1.$ac_objext"
+])
+
+# Like AC_REPLACE_FUNCS, except that the module name goes
+# into md5_LIBOBJS instead of into LIBOBJS.
+AC_DEFUN([md5_REPLACE_FUNCS], [
+  m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl
+  AC_CHECK_FUNCS([$1], , [md5_LIBOBJ($ac_func)])
+])
+
+# Like AC_LIBSOURCES, except the directory where the source file is
+# expected is derived from the gnulib-tool parametrization,
+# and alloca is special cased (for the alloca-opt module).
+# We could also entirely rely on EXTRA_lib..._SOURCES.
+AC_DEFUN([md5_LIBSOURCES], [
+  m4_foreach([_gl_NAME], [$1], [
+    m4_if(_gl_NAME, [alloca.c], [], [
+      m4_syscmd([test -r md5/]_gl_NAME[ || test ! -d md5])dnl
+      m4_if(m4_sysval, [0], [],
+        [AC_FATAL([missing md5/]_gl_NAME)])
+    ])
+  ])
+])
+
+# This macro records the list of files which have been installed by
+# gnulib-tool and may be removed by future gnulib-tool invocations.
+AC_DEFUN([md5_FILE_LIST], [
+  build-aux/link-warning.h
+  lib/dummy.c
+  lib/md5.c
+  lib/md5.h
+  lib/stdint.in.h
+  lib/wchar.in.h
+  m4/gnulib-common.m4
+  m4/include_next.m4
+  m4/longlong.m4
+  m4/md5.m4
+  m4/stdint.m4
+  m4/wchar.m4
+])
diff --git a/md5/m4/gnulib-tool.m4 b/md5/m4/gnulib-tool.m4
new file mode 100644 (file)
index 0000000..ef59320
--- /dev/null
@@ -0,0 +1,33 @@
+# gnulib-tool.m4 serial 1
+dnl Copyright (C) 2004-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl The following macros need not be invoked explicitly.
+dnl Invoking them does nothing except to declare default arguments
+dnl for "gnulib-tool --import".
+
+dnl Usage: gl_MODULES([module1 module2 ...])
+AC_DEFUN([gl_MODULES], [])
+
+dnl Usage: gl_AVOID([module1 module2 ...])
+AC_DEFUN([gl_AVOID], [])
+
+dnl Usage: gl_SOURCE_BASE([DIR])
+AC_DEFUN([gl_SOURCE_BASE], [])
+
+dnl Usage: gl_M4_BASE([DIR])
+AC_DEFUN([gl_M4_BASE], [])
+
+dnl Usage: gl_LIB([LIBNAME])
+AC_DEFUN([gl_LIB], [])
+
+dnl Usage: gl_LGPL
+AC_DEFUN([gl_LGPL], [])
+
+dnl Usage: gl_LIBTOOL
+AC_DEFUN([gl_LIBTOOL], [])
+
+dnl Usage: gl_MACRO_PREFIX([PREFIX])
+AC_DEFUN([gl_MACRO_PREFIX], [])
diff --git a/md5/m4/include_next.m4 b/md5/m4/include_next.m4
new file mode 100644 (file)
index 0000000..7ce472b
--- /dev/null
@@ -0,0 +1,107 @@
+# include_next.m4 serial 4
+dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert and Derek Price.
+
+AC_DEFUN([gl_INCLUDE_NEXT],
+[
+  AC_LANG_PREPROC_REQUIRE()
+  AC_CACHE_CHECK([whether the preprocessor supports include_next],
+    [gl_cv_have_include_next],
+    [rm -rf conftestd1 conftestd2
+     mkdir conftestd1 conftestd2
+     cat <<EOF > conftestd1/conftest.h
+#define DEFINED_IN_CONFTESTD1
+#include_next <conftest.h>
+#ifdef DEFINED_IN_CONFTESTD2
+int foo;
+#else
+#error "include_next doesn't work"
+#endif
+EOF
+     cat <<EOF > conftestd2/conftest.h
+#ifndef DEFINED_IN_CONFTESTD1
+#error "include_next test doesn't work"
+#endif
+#define DEFINED_IN_CONFTESTD2
+EOF
+     save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2"
+     AC_COMPILE_IFELSE([#include <conftest.h>],
+       [gl_cv_have_include_next=yes],
+       [gl_cv_have_include_next=no])
+     CPPFLAGS="$save_CPPFLAGS"
+     rm -rf conftestd1 conftestd2
+    ])
+  if test $gl_cv_have_include_next = yes; then
+
+    dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it
+    dnl to use @INCLUDE_NEXT@ instead.
+    AC_DEFINE([HAVE_INCLUDE_NEXT], 1,
+             [Define if your compiler supports the #include_next directive.])
+
+    INCLUDE_NEXT=include_next
+  else
+    INCLUDE_NEXT=include
+  fi
+  AC_SUBST([INCLUDE_NEXT])
+])
+
+# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
+# ------------------------------------------
+# For each arg foo.h, if #include_next works, define NEXT_FOO_H to be
+# '<foo.h>'; otherwise define it to be
+# '"///usr/include/foo.h"', or whatever other absolute file name is suitable.
+# That way, a header file with the following line:
+#      #@INCLUDE_NEXT@ @NEXT_FOO_H@
+# behaves (after sed substitution) as if it contained
+#      #include_next <foo.h>
+# even if the compiler does not support include_next.
+# The three "///" are to pacify Sun C 5.8, which otherwise would say
+# "warning: #include of /usr/include/... may be non-portable".
+# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+AC_DEFUN([gl_CHECK_NEXT_HEADERS],
+[
+  AC_REQUIRE([gl_INCLUDE_NEXT])
+  AC_CHECK_HEADERS_ONCE([$1])
+
+  AC_FOREACH([gl_HEADER_NAME], [$1],
+    [AS_VAR_PUSHDEF([gl_next_header],
+                   [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME])))
+     if test $gl_cv_have_include_next = yes; then
+       AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+     else
+       AC_CACHE_CHECK(
+        [absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>],
+        m4_quote(m4_defn([gl_next_header])),
+        [AS_VAR_PUSHDEF([gl_header_exists],
+                        [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME])))
+         if test AS_VAR_GET(gl_header_exists) = yes; then
+           AC_LANG_CONFTEST(
+             [AC_LANG_SOURCE(
+                [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
+              )])
+           dnl eval is necessary to expand ac_cpp.
+           dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+           dnl so use subshell.
+           AS_VAR_SET([gl_next_header],
+             ['"'`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+              sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{
+                s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1#
+                s#^/[^/]#//&#
+                p
+                q
+              }'`'"'])
+         else
+           AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+         fi
+         AS_VAR_POPDEF([gl_header_exists])])
+     fi
+     AC_SUBST(
+       AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))),
+       [AS_VAR_GET([gl_next_header])])
+     AS_VAR_POPDEF([gl_next_header])])
+])
diff --git a/md5/m4/longlong.m4 b/md5/m4/longlong.m4
new file mode 100644 (file)
index 0000000..15bf9da
--- /dev/null
@@ -0,0 +1,106 @@
+# longlong.m4 serial 13
+dnl Copyright (C) 1999-2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# Define HAVE_LONG_LONG_INT if 'long long int' works.
+# This fixes a bug in Autoconf 2.61, but can be removed once we
+# assume 2.62 everywhere.
+
+# Note: If the type 'long long int' exists but is only 32 bits large
+# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
+# defined. In this case you can treat 'long long int' like 'long int'.
+
+AC_DEFUN([AC_TYPE_LONG_LONG_INT],
+[
+  AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
+    [AC_LINK_IFELSE(
+       [_AC_TYPE_LONG_LONG_SNIPPET],
+       [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
+       dnl If cross compiling, assume the bug isn't important, since
+       dnl nobody cross compiles for this platform as far as we know.
+       AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[@%:@include <limits.h>
+              @%:@ifndef LLONG_MAX
+              @%:@ define HALF \
+                       (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+              @%:@ define LLONG_MAX (HALF - 1 + HALF)
+              @%:@endif]],
+            [[long long int n = 1;
+              int i;
+              for (i = 0; ; i++)
+                {
+                  long long int m = n << i;
+                  if (m >> i != n)
+                    return 1;
+                  if (LLONG_MAX / 2 < m)
+                    break;
+                }
+              return 0;]])],
+         [ac_cv_type_long_long_int=yes],
+         [ac_cv_type_long_long_int=no],
+         [ac_cv_type_long_long_int=yes])],
+       [ac_cv_type_long_long_int=no])])
+  if test $ac_cv_type_long_long_int = yes; then
+    AC_DEFINE([HAVE_LONG_LONG_INT], 1,
+      [Define to 1 if the system has the type `long long int'.])
+  fi
+])
+
+# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
+# This fixes a bug in Autoconf 2.61, but can be removed once we
+# assume 2.62 everywhere.
+
+# Note: If the type 'unsigned long long int' exists but is only 32 bits
+# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
+# will not be defined. In this case you can treat 'unsigned long long int'
+# like 'unsigned long int'.
+
+AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
+[
+  AC_CACHE_CHECK([for unsigned long long int],
+    [ac_cv_type_unsigned_long_long_int],
+    [AC_LINK_IFELSE(
+       [_AC_TYPE_LONG_LONG_SNIPPET],
+       [ac_cv_type_unsigned_long_long_int=yes],
+       [ac_cv_type_unsigned_long_long_int=no])])
+  if test $ac_cv_type_unsigned_long_long_int = yes; then
+    AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1,
+      [Define to 1 if the system has the type `unsigned long long int'.])
+  fi
+])
+
+# Expands to a C program that can be used to test for simultaneous support
+# of 'long long' and 'unsigned long long'. We don't want to say that
+# 'long long' is available if 'unsigned long long' is not, or vice versa,
+# because too many programs rely on the symmetry between signed and unsigned
+# integer types (excluding 'bool').
+AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
+[
+  AC_LANG_PROGRAM(
+    [[/* For now, do not test the preprocessor; as of 2007 there are too many
+        implementations with broken preprocessors.  Perhaps this can
+        be revisited in 2012.  In the meantime, code should not expect
+        #if to work with literals wider than 32 bits.  */
+      /* Test literals.  */
+      long long int ll = 9223372036854775807ll;
+      long long int nll = -9223372036854775807LL;
+      unsigned long long int ull = 18446744073709551615ULL;
+      /* Test constant expressions.   */
+      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+                    ? 1 : -1)];
+      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
+                    ? 1 : -1)];
+      int i = 63;]],
+    [[/* Test availability of runtime routines for shift and division.  */
+      long long int llmax = 9223372036854775807ll;
+      unsigned long long int ullmax = 18446744073709551615ull;
+      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
+             | (llmax / ll) | (llmax % ll)
+             | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+             | (ullmax / ull) | (ullmax % ull));]])
+])
diff --git a/md5/m4/md5.m4 b/md5/m4/md5.m4
new file mode 100644 (file)
index 0000000..5a1f875
--- /dev/null
@@ -0,0 +1,14 @@
+# md5.m4 serial 9
+dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_MD5],
+[
+  AC_LIBOBJ([md5])
+
+  dnl Prerequisites of lib/md5.c.
+  AC_REQUIRE([AC_C_BIGENDIAN])
+  :
+])
diff --git a/md5/m4/stdint.m4 b/md5/m4/stdint.m4
new file mode 100644 (file)
index 0000000..bb6c34f
--- /dev/null
@@ -0,0 +1,395 @@
+# stdint.m4 serial 29
+dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert and Bruno Haible.
+dnl Test whether <stdint.h> is supported or must be substituted.
+
+AC_DEFUN([gl_STDINT_H],
+[
+  AC_PREREQ(2.59)dnl
+
+  dnl Check for long long int and unsigned long long int.
+  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
+  if test $ac_cv_type_long_long_int = yes; then
+    HAVE_LONG_LONG_INT=1
+  else
+    HAVE_LONG_LONG_INT=0
+  fi
+  AC_SUBST([HAVE_LONG_LONG_INT])
+  AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
+  if test $ac_cv_type_unsigned_long_long_int = yes; then
+    HAVE_UNSIGNED_LONG_LONG_INT=1
+  else
+    HAVE_UNSIGNED_LONG_LONG_INT=0
+  fi
+  AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT])
+
+  dnl Check for <inttypes.h>.
+  dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h.
+  if test $ac_cv_header_inttypes_h = yes; then
+    HAVE_INTTYPES_H=1
+  else
+    HAVE_INTTYPES_H=0
+  fi
+  AC_SUBST([HAVE_INTTYPES_H])
+
+  dnl Check for <sys/types.h>.
+  dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h.
+  if test $ac_cv_header_sys_types_h = yes; then
+    HAVE_SYS_TYPES_H=1
+  else
+    HAVE_SYS_TYPES_H=0
+  fi
+  AC_SUBST([HAVE_SYS_TYPES_H])
+
+  gl_CHECK_NEXT_HEADERS([stdint.h])
+  if test $ac_cv_header_stdint_h = yes; then
+    HAVE_STDINT_H=1
+  else
+    HAVE_STDINT_H=0
+  fi
+  AC_SUBST([HAVE_STDINT_H])
+
+  dnl Now see whether we need a substitute <stdint.h>.
+  if test $ac_cv_header_stdint_h = yes; then
+    AC_CACHE_CHECK([whether stdint.h conforms to C99],
+      [gl_cv_header_working_stdint_h],
+      [gl_cv_header_working_stdint_h=no
+       AC_COMPILE_IFELSE([
+         AC_LANG_PROGRAM([[
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
+#if !(defined WCHAR_MIN && defined WCHAR_MAX)
+#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
+#endif
+]
+gl_STDINT_INCLUDES
+[
+#ifdef INT8_MAX
+int8_t a1 = INT8_MAX;
+int8_t a1min = INT8_MIN;
+#endif
+#ifdef INT16_MAX
+int16_t a2 = INT16_MAX;
+int16_t a2min = INT16_MIN;
+#endif
+#ifdef INT32_MAX
+int32_t a3 = INT32_MAX;
+int32_t a3min = INT32_MIN;
+#endif
+#ifdef INT64_MAX
+int64_t a4 = INT64_MAX;
+int64_t a4min = INT64_MIN;
+#endif
+#ifdef UINT8_MAX
+uint8_t b1 = UINT8_MAX;
+#else
+typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
+#endif
+#ifdef UINT16_MAX
+uint16_t b2 = UINT16_MAX;
+#endif
+#ifdef UINT32_MAX
+uint32_t b3 = UINT32_MAX;
+#endif
+#ifdef UINT64_MAX
+uint64_t b4 = UINT64_MAX;
+#endif
+int_least8_t c1 = INT8_C (0x7f);
+int_least8_t c1max = INT_LEAST8_MAX;
+int_least8_t c1min = INT_LEAST8_MIN;
+int_least16_t c2 = INT16_C (0x7fff);
+int_least16_t c2max = INT_LEAST16_MAX;
+int_least16_t c2min = INT_LEAST16_MIN;
+int_least32_t c3 = INT32_C (0x7fffffff);
+int_least32_t c3max = INT_LEAST32_MAX;
+int_least32_t c3min = INT_LEAST32_MIN;
+int_least64_t c4 = INT64_C (0x7fffffffffffffff);
+int_least64_t c4max = INT_LEAST64_MAX;
+int_least64_t c4min = INT_LEAST64_MIN;
+uint_least8_t d1 = UINT8_C (0xff);
+uint_least8_t d1max = UINT_LEAST8_MAX;
+uint_least16_t d2 = UINT16_C (0xffff);
+uint_least16_t d2max = UINT_LEAST16_MAX;
+uint_least32_t d3 = UINT32_C (0xffffffff);
+uint_least32_t d3max = UINT_LEAST32_MAX;
+uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
+uint_least64_t d4max = UINT_LEAST64_MAX;
+int_fast8_t e1 = INT_FAST8_MAX;
+int_fast8_t e1min = INT_FAST8_MIN;
+int_fast16_t e2 = INT_FAST16_MAX;
+int_fast16_t e2min = INT_FAST16_MIN;
+int_fast32_t e3 = INT_FAST32_MAX;
+int_fast32_t e3min = INT_FAST32_MIN;
+int_fast64_t e4 = INT_FAST64_MAX;
+int_fast64_t e4min = INT_FAST64_MIN;
+uint_fast8_t f1 = UINT_FAST8_MAX;
+uint_fast16_t f2 = UINT_FAST16_MAX;
+uint_fast32_t f3 = UINT_FAST32_MAX;
+uint_fast64_t f4 = UINT_FAST64_MAX;
+#ifdef INTPTR_MAX
+intptr_t g = INTPTR_MAX;
+intptr_t gmin = INTPTR_MIN;
+#endif
+#ifdef UINTPTR_MAX
+uintptr_t h = UINTPTR_MAX;
+#endif
+intmax_t i = INTMAX_MAX;
+uintmax_t j = UINTMAX_MAX;
+
+#include <limits.h> /* for CHAR_BIT */
+#define TYPE_MINIMUM(t) \
+  ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
+#define TYPE_MAXIMUM(t) \
+  ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
+struct s {
+  int check_PTRDIFF:
+      PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
+      && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
+      ? 1 : -1;
+  /* Detect bug in FreeBSD 6.0 / ia64.  */
+  int check_SIG_ATOMIC:
+      SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
+      && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
+      ? 1 : -1;
+  int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
+  int check_WCHAR:
+      WCHAR_MIN == TYPE_MINIMUM (wchar_t)
+      && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
+      ? 1 : -1;
+  /* Detect bug in mingw.  */
+  int check_WINT:
+      WINT_MIN == TYPE_MINIMUM (wint_t)
+      && WINT_MAX == TYPE_MAXIMUM (wint_t)
+      ? 1 : -1;
+
+  /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others.  */
+  int check_UINT8_C:
+        (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
+  int check_UINT16_C:
+        (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
+
+  /* Detect bugs in OpenBSD 3.9 stdint.h.  */
+#ifdef UINT8_MAX
+  int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
+#endif
+#ifdef UINT16_MAX
+  int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
+#endif
+#ifdef UINT32_MAX
+  int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
+#endif
+#ifdef UINT64_MAX
+  int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
+#endif
+  int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
+  int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
+  int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
+  int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
+  int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
+  int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
+  int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
+  int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
+  int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
+  int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
+  int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
+};
+         ]])],
+         [gl_cv_header_working_stdint_h=yes])])
+  fi
+  if test "$gl_cv_header_working_stdint_h" = yes; then
+    STDINT_H=
+  else
+    dnl Check for <sys/inttypes.h>, and for
+    dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
+    AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
+    if test $ac_cv_header_sys_inttypes_h = yes; then
+      HAVE_SYS_INTTYPES_H=1
+    else
+      HAVE_SYS_INTTYPES_H=0
+    fi
+    AC_SUBST([HAVE_SYS_INTTYPES_H])
+    if test $ac_cv_header_sys_bitypes_h = yes; then
+      HAVE_SYS_BITYPES_H=1
+    else
+      HAVE_SYS_BITYPES_H=0
+    fi
+    AC_SUBST([HAVE_SYS_BITYPES_H])
+
+    dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
+    dnl character support).
+    AC_CHECK_HEADERS_ONCE([wchar.h])
+
+    gl_STDINT_TYPE_PROPERTIES
+    STDINT_H=stdint.h
+  fi
+  AC_SUBST(STDINT_H)
+])
+
+dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES)
+dnl Determine the size of each of the given types in bits.
+AC_DEFUN([gl_STDINT_BITSIZEOF],
+[
+  dnl Use a shell loop, to avoid bloating configure, and
+  dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
+  dnl   config.h.in,
+  dnl - extra AC_SUBST calls, so that the right substitutions are made.
+  AC_FOREACH([gltype], [$1],
+    [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+       [Define to the number of bits in type ']gltype['.])])
+  for gltype in $1 ; do
+    AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}],
+      [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT],
+         [$2
+#include <limits.h>], [result=unknown])
+       eval gl_cv_bitsizeof_${gltype}=\$result
+      ])
+    eval result=\$gl_cv_bitsizeof_${gltype}
+    if test $result = unknown; then
+      dnl Use a nonempty default, because some compilers, such as IRIX 5 cc,
+      dnl do a syntax check even on unused #if conditions and give an error
+      dnl on valid C code like this:
+      dnl   #if 0
+      dnl   # if  > 32
+      dnl   # endif
+      dnl   #endif
+      result=0
+    fi
+    GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result])
+    eval BITSIZEOF_${GLTYPE}=\$result
+  done
+  AC_FOREACH([gltype], [$1],
+    [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+])
+
+dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES)
+dnl Determine the signedness of each of the given types.
+dnl Define HAVE_SIGNED_TYPE if type is signed.
+AC_DEFUN([gl_CHECK_TYPES_SIGNED],
+[
+  dnl Use a shell loop, to avoid bloating configure, and
+  dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
+  dnl   config.h.in,
+  dnl - extra AC_SUBST calls, so that the right substitutions are made.
+  AC_FOREACH([gltype], [$1],
+    [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+       [Define to 1 if ']gltype[' is a signed integer type.])])
+  for gltype in $1 ; do
+    AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([$2[
+            int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])],
+         result=yes, result=no)
+       eval gl_cv_type_${gltype}_signed=\$result
+      ])
+    eval result=\$gl_cv_type_${gltype}_signed
+    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    if test "$result" = yes; then
+      AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], 1)
+      eval HAVE_SIGNED_${GLTYPE}=1
+    else
+      eval HAVE_SIGNED_${GLTYPE}=0
+    fi
+  done
+  AC_FOREACH([gltype], [$1],
+    [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+])
+
+dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES)
+dnl Determine the suffix to use for integer constants of the given types.
+dnl Define t_SUFFIX for each such type.
+AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
+[
+  dnl Use a shell loop, to avoid bloating configure, and
+  dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
+  dnl   config.h.in,
+  dnl - extra AC_SUBST calls, so that the right substitutions are made.
+  AC_FOREACH([gltype], [$1],
+    [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
+       [Define to l, ll, u, ul, ull, etc., as suitable for
+        constants of type ']gltype['.])])
+  for gltype in $1 ; do
+    AC_CACHE_CHECK([for $gltype integer literal suffix],
+      [gl_cv_type_${gltype}_suffix],
+      [eval gl_cv_type_${gltype}_suffix=no
+       eval result=\$gl_cv_type_${gltype}_signed
+       if test "$result" = yes; then
+         glsufu=
+       else
+         glsufu=u
+       fi
+       for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
+         case $glsuf in
+           '')  gltype1='int';;
+           l)  gltype1='long int';;
+           ll) gltype1='long long int';;
+           i64)        gltype1='__int64';;
+           u)  gltype1='unsigned int';;
+           ul) gltype1='unsigned long int';;
+           ull)        gltype1='unsigned long long int';;
+           ui64)gltype1='unsigned __int64';;
+         esac
+         AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM([$2
+              extern $gltype foo;
+              extern $gltype1 foo;])],
+           [eval gl_cv_type_${gltype}_suffix=\$glsuf])
+         eval result=\$gl_cv_type_${gltype}_suffix
+         test "$result" != no && break
+       done])
+    GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+    eval result=\$gl_cv_type_${gltype}_suffix
+    test "$result" = no && result=
+    eval ${GLTYPE}_SUFFIX=\$result
+    AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], $result)
+  done
+  AC_FOREACH([gltype], [$1],
+    [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
+])
+
+dnl gl_STDINT_INCLUDES
+AC_DEFUN([gl_STDINT_INCLUDES],
+[[
+  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+     included before <wchar.h>.  */
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <stdio.h>
+  # include <time.h>
+  # include <wchar.h>
+  #endif
+]])
+
+dnl gl_STDINT_TYPE_PROPERTIES
+dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t
+dnl of interest to stdint.in.h.
+AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
+[
+  gl_STDINT_BITSIZEOF([ptrdiff_t sig_atomic_t size_t wchar_t wint_t],
+    [gl_STDINT_INCLUDES])
+  gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t],
+    [gl_STDINT_INCLUDES])
+  gl_cv_type_ptrdiff_t_signed=yes
+  gl_cv_type_size_t_signed=no
+  gl_INTEGER_TYPE_SUFFIX([ptrdiff_t sig_atomic_t size_t wchar_t wint_t],
+    [gl_STDINT_INCLUDES])
+])
+
+dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
+dnl Remove this when we can assume autoconf >= 2.61.
+m4_ifdef([AC_COMPUTE_INT], [], [
+  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
+])
+
+# Hey Emacs!
+# Local Variables:
+# indent-tabs-mode: nil
+# End:
diff --git a/md5/m4/wchar.m4 b/md5/m4/wchar.m4
new file mode 100644 (file)
index 0000000..70b1248
--- /dev/null
@@ -0,0 +1,54 @@
+dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
+
+dnl Copyright (C) 2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Eric Blake.
+
+# wchar.m4 serial 4
+
+AC_DEFUN([gl_WCHAR_H],
+[
+  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+  AC_CACHE_CHECK([whether <wchar.h> is standalone],
+    [gl_cv_header_wchar_h_standalone],
+    [AC_COMPILE_IFELSE([[#include <wchar.h>
+wchar_t w;]],
+      [gl_cv_header_wchar_h_standalone=yes],
+      [gl_cv_header_wchar_h_standalone=no])])
+  if test $gl_cv_header_wchar_h_standalone != yes; then
+    WCHAR_H=wchar.h
+  fi
+
+  dnl Prepare for creating substitute <wchar.h>.
+  dnl Do it always: WCHAR_H may be empty here but can be set later.
+  dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
+  dnl character support).
+  AC_CHECK_HEADERS_ONCE([wchar.h])
+  if test $ac_cv_header_wchar_h = yes; then
+    HAVE_WCHAR_H=1
+  else
+    HAVE_WCHAR_H=0
+  fi
+  AC_SUBST([HAVE_WCHAR_H])
+  gl_CHECK_NEXT_HEADERS([wchar.h])
+])
+
+AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+  GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+])
+
+AC_DEFUN([gl_WCHAR_H_DEFAULTS],
+[
+  GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH])
+  REPLACE_WCWIDTH=0;   AC_SUBST([REPLACE_WCWIDTH])
+  WCHAR_H=
+  AC_SUBST([WCHAR_H])
+])
diff --git a/md5/md5.c b/md5/md5.c
new file mode 100644 (file)
index 0000000..5b3d3a4
--- /dev/null
+++ b/md5/md5.c
@@ -0,0 +1,451 @@
+/* Functions to compute MD5 message digest of files or memory blocks.
+   according to the definition of MD5 in RFC 1321 from April 1992.
+   Copyright (C) 1995,1996,1997,1999,2000,2001,2005,2006
+       Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program 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 3, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+/* Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.  */
+
+#include <config.h>
+
+#include "md5.h"
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#if USE_UNLOCKED_IO
+# include "unlocked-io.h"
+#endif
+
+#ifdef _LIBC
+# include <endian.h>
+# if __BYTE_ORDER == __BIG_ENDIAN
+#  define WORDS_BIGENDIAN 1
+# endif
+/* We need to keep the namespace clean so define the MD5 function
+   protected using leading __ .  */
+# define md5_init_ctx __md5_init_ctx
+# define md5_process_block __md5_process_block
+# define md5_process_bytes __md5_process_bytes
+# define md5_finish_ctx __md5_finish_ctx
+# define md5_read_ctx __md5_read_ctx
+# define md5_stream __md5_stream
+# define md5_buffer __md5_buffer
+#endif
+
+#ifdef WORDS_BIGENDIAN
+# define SWAP(n)                                                       \
+    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
+#else
+# define SWAP(n) (n)
+#endif
+
+#define BLOCKSIZE 4096
+#if BLOCKSIZE % 64 != 0
+# error "invalid BLOCKSIZE"
+#endif
+
+/* This array contains the bytes used to pad the buffer to the next
+   64-byte boundary.  (RFC 1321, 3.1: Step 1)  */
+static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ...  */ };
+
+
+/* Initialize structure containing state of computation.
+   (RFC 1321, 3.3: Step 3)  */
+void
+md5_init_ctx (struct md5_ctx *ctx)
+{
+  ctx->A = 0x67452301;
+  ctx->B = 0xefcdab89;
+  ctx->C = 0x98badcfe;
+  ctx->D = 0x10325476;
+
+  ctx->total[0] = ctx->total[1] = 0;
+  ctx->buflen = 0;
+}
+
+/* Put result from CTX in first 16 bytes following RESBUF.  The result
+   must be in little endian byte order.
+
+   IMPORTANT: On some systems it is required that RESBUF is correctly
+   aligned for a 32-bit value.  */
+void *
+md5_read_ctx (const struct md5_ctx *ctx, void *resbuf)
+{
+  ((uint32_t *) resbuf)[0] = SWAP (ctx->A);
+  ((uint32_t *) resbuf)[1] = SWAP (ctx->B);
+  ((uint32_t *) resbuf)[2] = SWAP (ctx->C);
+  ((uint32_t *) resbuf)[3] = SWAP (ctx->D);
+
+  return resbuf;
+}
+
+/* Process the remaining bytes in the internal buffer and the usual
+   prolog according to the standard and write the result to RESBUF.
+
+   IMPORTANT: On some systems it is required that RESBUF is correctly
+   aligned for a 32-bit value.  */
+void *
+md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
+{
+  /* Take yet unprocessed bytes into account.  */
+  uint32_t bytes = ctx->buflen;
+  size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4;
+
+  /* Now count remaining bytes.  */
+  ctx->total[0] += bytes;
+  if (ctx->total[0] < bytes)
+    ++ctx->total[1];
+
+  /* Put the 64-bit file length in *bits* at the end of the buffer.  */
+  ctx->buffer[size - 2] = SWAP (ctx->total[0] << 3);
+  ctx->buffer[size - 1] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
+
+  memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes);
+
+  /* Process last bytes.  */
+  md5_process_block (ctx->buffer, size * 4, ctx);
+
+  return md5_read_ctx (ctx, resbuf);
+}
+
+/* Compute MD5 message digest for bytes read from STREAM.  The
+   resulting message digest number will be written into the 16 bytes
+   beginning at RESBLOCK.  */
+int
+md5_stream (FILE *stream, void *resblock)
+{
+  struct md5_ctx ctx;
+  char buffer[BLOCKSIZE + 72];
+  size_t sum;
+
+  /* Initialize the computation context.  */
+  md5_init_ctx (&ctx);
+
+  /* Iterate over full file contents.  */
+  while (1)
+    {
+      /* We read the file in blocks of BLOCKSIZE bytes.  One call of the
+         computation function processes the whole buffer so that with the
+         next round of the loop another block can be read.  */
+      size_t n;
+      sum = 0;
+
+      /* Read block.  Take care for partial reads.  */
+      while (1)
+       {
+         n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream);
+
+         sum += n;
+
+         if (sum == BLOCKSIZE)
+           break;
+
+         if (n == 0)
+           {
+             /* Check for the error flag IFF N == 0, so that we don't
+                exit the loop after a partial read due to e.g., EAGAIN
+                or EWOULDBLOCK.  */
+             if (ferror (stream))
+               return 1;
+             goto process_partial_block;
+           }
+
+         /* We've read at least one byte, so ignore errors.  But always
+            check for EOF, since feof may be true even though N > 0.
+            Otherwise, we could end up calling fread after EOF.  */
+         if (feof (stream))
+           goto process_partial_block;
+       }
+
+      /* Process buffer with BLOCKSIZE bytes.  Note that
+         BLOCKSIZE % 64 == 0
+       */
+      md5_process_block (buffer, BLOCKSIZE, &ctx);
+    }
+
+process_partial_block:
+
+  /* Process any remaining bytes.  */
+  if (sum > 0)
+    md5_process_bytes (buffer, sum, &ctx);
+
+  /* Construct result in desired memory.  */
+  md5_finish_ctx (&ctx, resblock);
+  return 0;
+}
+
+/* Compute MD5 message digest for LEN bytes beginning at BUFFER.  The
+   result is always in little endian byte order, so that a byte-wise
+   output yields to the wanted ASCII representation of the message
+   digest.  */
+void *
+md5_buffer (const char *buffer, size_t len, void *resblock)
+{
+  struct md5_ctx ctx;
+
+  /* Initialize the computation context.  */
+  md5_init_ctx (&ctx);
+
+  /* Process whole buffer but last len % 64 bytes.  */
+  md5_process_bytes (buffer, len, &ctx);
+
+  /* Put result in desired memory area.  */
+  return md5_finish_ctx (&ctx, resblock);
+}
+
+
+void
+md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
+{
+  /* When we already have some bits in our internal buffer concatenate
+     both inputs first.  */
+  if (ctx->buflen != 0)
+    {
+      size_t left_over = ctx->buflen;
+      size_t add = 128 - left_over > len ? len : 128 - left_over;
+
+      memcpy (&((char *) ctx->buffer)[left_over], buffer, add);
+      ctx->buflen += add;
+
+      if (ctx->buflen > 64)
+       {
+         md5_process_block (ctx->buffer, ctx->buflen & ~63, ctx);
+
+         ctx->buflen &= 63;
+         /* The regions in the following copy operation cannot overlap.  */
+         memcpy (ctx->buffer,
+                 &((char *) ctx->buffer)[(left_over + add) & ~63],
+                 ctx->buflen);
+       }
+
+      buffer = (const char *) buffer + add;
+      len -= add;
+    }
+
+  /* Process available complete blocks.  */
+  if (len >= 64)
+    {
+#if !_STRING_ARCH_unaligned
+# define alignof(type) offsetof (struct { char c; type x; }, x)
+# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+      if (UNALIGNED_P (buffer))
+       while (len > 64)
+         {
+           md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx);
+           buffer = (const char *) buffer + 64;
+           len -= 64;
+         }
+      else
+#endif
+       {
+         md5_process_block (buffer, len & ~63, ctx);
+         buffer = (const char *) buffer + (len & ~63);
+         len &= 63;
+       }
+    }
+
+  /* Move remaining bytes in internal buffer.  */
+  if (len > 0)
+    {
+      size_t left_over = ctx->buflen;
+
+      memcpy (&((char *) ctx->buffer)[left_over], buffer, len);
+      left_over += len;
+      if (left_over >= 64)
+       {
+         md5_process_block (ctx->buffer, 64, ctx);
+         left_over -= 64;
+         memcpy (ctx->buffer, &ctx->buffer[16], left_over);
+       }
+      ctx->buflen = left_over;
+    }
+}
+
+
+/* These are the four functions used in the four steps of the MD5 algorithm
+   and defined in the RFC 1321.  The first function is a little bit optimized
+   (as found in Colin Plumbs public domain implementation).  */
+/* #define FF(b, c, d) ((b & c) | (~b & d)) */
+#define FF(b, c, d) (d ^ (b & (c ^ d)))
+#define FG(b, c, d) FF (d, b, c)
+#define FH(b, c, d) (b ^ c ^ d)
+#define FI(b, c, d) (c ^ (b | ~d))
+
+/* Process LEN bytes of BUFFER, accumulating context into CTX.
+   It is assumed that LEN % 64 == 0.  */
+
+void
+md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
+{
+  uint32_t correct_words[16];
+  const uint32_t *words = buffer;
+  size_t nwords = len / sizeof (uint32_t);
+  const uint32_t *endp = words + nwords;
+  uint32_t A = ctx->A;
+  uint32_t B = ctx->B;
+  uint32_t C = ctx->C;
+  uint32_t D = ctx->D;
+
+  /* First increment the byte count.  RFC 1321 specifies the possible
+     length of the file up to 2^64 bits.  Here we only compute the
+     number of bytes.  Do a double word increment.  */
+  ctx->total[0] += len;
+  if (ctx->total[0] < len)
+    ++ctx->total[1];
+
+  /* Process all bytes in the buffer with 64 bytes in each round of
+     the loop.  */
+  while (words < endp)
+    {
+      uint32_t *cwp = correct_words;
+      uint32_t A_save = A;
+      uint32_t B_save = B;
+      uint32_t C_save = C;
+      uint32_t D_save = D;
+
+      /* First round: using the given function, the context and a constant
+         the next context is computed.  Because the algorithms processing
+         unit is a 32-bit word and it is determined to work on words in
+         little endian byte order we perhaps have to change the byte order
+         before the computation.  To reduce the work for the next steps
+         we store the swapped words in the array CORRECT_WORDS.  */
+
+#define OP(a, b, c, d, s, T)                                           \
+      do                                                               \
+        {                                                              \
+         a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T;             \
+         ++words;                                                      \
+         CYCLIC (a, s);                                                \
+         a += b;                                                       \
+        }                                                              \
+      while (0)
+
+      /* It is unfortunate that C does not provide an operator for
+         cyclic rotation.  Hope the C compiler is smart enough.  */
+#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s)))
+
+      /* Before we start, one word to the strange constants.
+         They are defined in RFC 1321 as
+
+         T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64
+
+         Here is an equivalent invocation using Perl:
+
+         perl -e 'foreach(1..64){printf "0x%08x\n", int (4294967296 * abs (sin $_))}'
+       */
+
+      /* Round 1.  */
+      OP (A, B, C, D, 7, 0xd76aa478);
+      OP (D, A, B, C, 12, 0xe8c7b756);
+      OP (C, D, A, B, 17, 0x242070db);
+      OP (B, C, D, A, 22, 0xc1bdceee);
+      OP (A, B, C, D, 7, 0xf57c0faf);
+      OP (D, A, B, C, 12, 0x4787c62a);
+      OP (C, D, A, B, 17, 0xa8304613);
+      OP (B, C, D, A, 22, 0xfd469501);
+      OP (A, B, C, D, 7, 0x698098d8);
+      OP (D, A, B, C, 12, 0x8b44f7af);
+      OP (C, D, A, B, 17, 0xffff5bb1);
+      OP (B, C, D, A, 22, 0x895cd7be);
+      OP (A, B, C, D, 7, 0x6b901122);
+      OP (D, A, B, C, 12, 0xfd987193);
+      OP (C, D, A, B, 17, 0xa679438e);
+      OP (B, C, D, A, 22, 0x49b40821);
+
+      /* For the second to fourth round we have the possibly swapped words
+         in CORRECT_WORDS.  Redefine the macro to take an additional first
+         argument specifying the function to use.  */
+#undef OP
+#define OP(f, a, b, c, d, k, s, T)                                     \
+      do                                                               \
+       {                                                               \
+         a += f (b, c, d) + correct_words[k] + T;                      \
+         CYCLIC (a, s);                                                \
+         a += b;                                                       \
+       }                                                               \
+      while (0)
+
+      /* Round 2.  */
+      OP (FG, A, B, C, D, 1, 5, 0xf61e2562);
+      OP (FG, D, A, B, C, 6, 9, 0xc040b340);
+      OP (FG, C, D, A, B, 11, 14, 0x265e5a51);
+      OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa);
+      OP (FG, A, B, C, D, 5, 5, 0xd62f105d);
+      OP (FG, D, A, B, C, 10, 9, 0x02441453);
+      OP (FG, C, D, A, B, 15, 14, 0xd8a1e681);
+      OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8);
+      OP (FG, A, B, C, D, 9, 5, 0x21e1cde6);
+      OP (FG, D, A, B, C, 14, 9, 0xc33707d6);
+      OP (FG, C, D, A, B, 3, 14, 0xf4d50d87);
+      OP (FG, B, C, D, A, 8, 20, 0x455a14ed);
+      OP (FG, A, B, C, D, 13, 5, 0xa9e3e905);
+      OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8);
+      OP (FG, C, D, A, B, 7, 14, 0x676f02d9);
+      OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a);
+
+      /* Round 3.  */
+      OP (FH, A, B, C, D, 5, 4, 0xfffa3942);
+      OP (FH, D, A, B, C, 8, 11, 0x8771f681);
+      OP (FH, C, D, A, B, 11, 16, 0x6d9d6122);
+      OP (FH, B, C, D, A, 14, 23, 0xfde5380c);
+      OP (FH, A, B, C, D, 1, 4, 0xa4beea44);
+      OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9);
+      OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60);
+      OP (FH, B, C, D, A, 10, 23, 0xbebfbc70);
+      OP (FH, A, B, C, D, 13, 4, 0x289b7ec6);
+      OP (FH, D, A, B, C, 0, 11, 0xeaa127fa);
+      OP (FH, C, D, A, B, 3, 16, 0xd4ef3085);
+      OP (FH, B, C, D, A, 6, 23, 0x04881d05);
+      OP (FH, A, B, C, D, 9, 4, 0xd9d4d039);
+      OP (FH, D, A, B, C, 12, 11, 0xe6db99e5);
+      OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8);
+      OP (FH, B, C, D, A, 2, 23, 0xc4ac5665);
+
+      /* Round 4.  */
+      OP (FI, A, B, C, D, 0, 6, 0xf4292244);
+      OP (FI, D, A, B, C, 7, 10, 0x432aff97);
+      OP (FI, C, D, A, B, 14, 15, 0xab9423a7);
+      OP (FI, B, C, D, A, 5, 21, 0xfc93a039);
+      OP (FI, A, B, C, D, 12, 6, 0x655b59c3);
+      OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92);
+      OP (FI, C, D, A, B, 10, 15, 0xffeff47d);
+      OP (FI, B, C, D, A, 1, 21, 0x85845dd1);
+      OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f);
+      OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0);
+      OP (FI, C, D, A, B, 6, 15, 0xa3014314);
+      OP (FI, B, C, D, A, 13, 21, 0x4e0811a1);
+      OP (FI, A, B, C, D, 4, 6, 0xf7537e82);
+      OP (FI, D, A, B, C, 11, 10, 0xbd3af235);
+      OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb);
+      OP (FI, B, C, D, A, 9, 21, 0xeb86d391);
+
+      /* Add the starting values of the context.  */
+      A += A_save;
+      B += B_save;
+      C += C_save;
+      D += D_save;
+    }
+
+  /* Put checksum in context given as argument.  */
+  ctx->A = A;
+  ctx->B = B;
+  ctx->C = C;
+  ctx->D = D;
+}
diff --git a/md5/md5.h b/md5/md5.h
new file mode 100644 (file)
index 0000000..b69735e
--- /dev/null
+++ b/md5/md5.h
@@ -0,0 +1,124 @@
+/* Declaration of functions and data types used for MD5 sum computing
+   library functions.
+   Copyright (C) 1995-1997,1999,2000,2001,2004,2005,2006
+      Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program 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 3, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _MD5_H
+#define _MD5_H 1
+
+#include <stdio.h>
+#include <stdint.h>
+
+#define MD5_DIGEST_SIZE 16
+#define MD5_BLOCK_SIZE 64
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min)                                      \
+  ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __THROW
+# if defined __cplusplus && __GNUC_PREREQ (2,8)
+#  define __THROW      throw ()
+# else
+#  define __THROW
+# endif
+#endif
+
+#ifndef _LIBC
+# define __md5_buffer md5_buffer
+# define __md5_finish_ctx md5_finish_ctx
+# define __md5_init_ctx md5_init_ctx
+# define __md5_process_block md5_process_block
+# define __md5_process_bytes md5_process_bytes
+# define __md5_read_ctx md5_read_ctx
+# define __md5_stream md5_stream
+#endif
+
+/* Structure to save state of computation between the single steps.  */
+struct md5_ctx
+{
+  uint32_t A;
+  uint32_t B;
+  uint32_t C;
+  uint32_t D;
+
+  uint32_t total[2];
+  uint32_t buflen;
+  uint32_t buffer[32];
+};
+
+/*
+ * The following three functions are build up the low level used in
+ * the functions `md5_stream' and `md5_buffer'.
+ */
+
+/* Initialize structure containing state of computation.
+   (RFC 1321, 3.3: Step 3)  */
+extern void __md5_init_ctx (struct md5_ctx *ctx) __THROW;
+
+/* Starting with the result of former calls of this function (or the
+   initialization function update the context for the next LEN bytes
+   starting at BUFFER.
+   It is necessary that LEN is a multiple of 64!!! */
+extern void __md5_process_block (const void *buffer, size_t len,
+                                struct md5_ctx *ctx) __THROW;
+
+/* Starting with the result of former calls of this function (or the
+   initialization function update the context for the next LEN bytes
+   starting at BUFFER.
+   It is NOT required that LEN is a multiple of 64.  */
+extern void __md5_process_bytes (const void *buffer, size_t len,
+                                struct md5_ctx *ctx) __THROW;
+
+/* Process the remaining bytes in the buffer and put result from CTX
+   in first 16 bytes following RESBUF.  The result is always in little
+   endian byte order, so that a byte-wise output yields to the wanted
+   ASCII representation of the message digest.
+
+   IMPORTANT: On some systems, RESBUF must be aligned to a 32-bit
+   boundary. */
+extern void *__md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) __THROW;
+
+
+/* Put result from CTX in first 16 bytes following RESBUF.  The result is
+   always in little endian byte order, so that a byte-wise output yields
+   to the wanted ASCII representation of the message digest.
+
+   IMPORTANT: On some systems, RESBUF must be aligned to a 32-bit
+   boundary. */
+extern void *__md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) __THROW;
+
+
+/* Compute MD5 message digest for bytes read from STREAM.  The
+   resulting message digest number will be written into the 16 bytes
+   beginning at RESBLOCK.  */
+extern int __md5_stream (FILE *stream, void *resblock) __THROW;
+
+/* Compute MD5 message digest for LEN bytes beginning at BUFFER.  The
+   result is always in little endian byte order, so that a byte-wise
+   output yields to the wanted ASCII representation of the message
+   digest.  */
+extern void *__md5_buffer (const char *buffer, size_t len,
+                          void *resblock) __THROW;
+
+#endif /* md5.h */
diff --git a/md5/stdint.in.h b/md5/stdint.in.h
new file mode 100644 (file)
index 0000000..8aee868
--- /dev/null
@@ -0,0 +1,516 @@
+/* Copyright (C) 2001-2002, 2004-2007 Free Software Foundation, Inc.
+   Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
+   This file is part of gnulib.
+
+   This program 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 3, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+/*
+ * ISO C 99 <stdint.h> for platforms that lack it.
+ * <http://www.opengroup.org/susv3xbd/stdint.h.html>
+ */
+
+#ifndef _GL_STDINT_H
+
+/* Get those types that are already defined in other system include
+   files, so that we can "#define int8_t signed char" below without
+   worrying about a later system include file containing a "typedef
+   signed char int8_t;" that will get messed up by our macro.  Our
+   macros should all be consistent with the system versions, except
+   for the "fast" types and macros, which we recommend against using
+   in public interfaces due to compiler differences.  */
+
+#if @HAVE_STDINT_H@
+# if defined __sgi && ! defined __c99
+   /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
+      with "This header file is to be used only for c99 mode compilations"
+      diagnostics.  */
+#  define __STDINT_H__
+# endif
+  /* Other systems may have an incomplete or buggy <stdint.h>.
+     Include it before <inttypes.h>, since any "#include <stdint.h>"
+     in <inttypes.h> would reinclude us, skipping our contents because
+     _GL_STDINT_H is defined.
+     The include_next requires a split double-inclusion guard.  */
+# @INCLUDE_NEXT@ @NEXT_STDINT_H@
+#endif
+
+#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+#define _GL_STDINT_H
+
+/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
+   IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
+   AIX 5.2 <sys/types.h> isn't needed and causes troubles.
+   MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
+   relies on the system <stdint.h> definitions, so include
+   <sys/types.h> after @NEXT_STDINT_H@.  */
+#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
+# include <sys/types.h>
+#endif
+
+/* Get LONG_MIN, LONG_MAX, ULONG_MAX.  */
+#include <limits.h>
+
+#if @HAVE_INTTYPES_H@
+  /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
+     int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
+     <inttypes.h> also defines intptr_t and uintptr_t.  */
+# define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+# include <inttypes.h>
+# undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+#elif @HAVE_SYS_INTTYPES_H@
+  /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
+     the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
+# include <sys/inttypes.h>
+#endif
+
+#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
+  /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
+     int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
+     included by <sys/types.h>.  */
+# include <sys/bitypes.h>
+#endif
+
+#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
+
+/* Get WCHAR_MIN, WCHAR_MAX.  */
+# if ! (defined WCHAR_MIN && defined WCHAR_MAX)
+#  include <wchar.h>
+# endif
+
+#endif
+
+/* Minimum and maximum values for a integer type under the usual assumption.
+   Return an unspecified value if BITS == 0, adding a check to pacify
+   picky compilers.  */
+
+#define _STDINT_MIN(signed, bits, zero) \
+  ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
+
+#define _STDINT_MAX(signed, bits, zero) \
+  ((signed) \
+   ? ~ _STDINT_MIN (signed, bits, zero) \
+   : /* The expression for the unsigned case.  The subtraction of (signed) \
+       is a nop in the unsigned case and avoids "signed integer overflow" \
+       warnings in the signed case.  */ \
+     ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
+
+/* 7.18.1.1. Exact-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits.  */
+
+#undef int8_t
+#undef uint8_t
+#define int8_t signed char
+#define uint8_t unsigned char
+
+#undef int16_t
+#undef uint16_t
+#define int16_t short int
+#define uint16_t unsigned short int
+
+#undef int32_t
+#undef uint32_t
+#define int32_t int
+#define uint32_t unsigned int
+
+/* Do not undefine int64_t if gnulib is not being used with 64-bit
+   types, since otherwise it breaks platforms like Tandem/NSK.  */
+#if LONG_MAX >> 31 >> 31 == 1
+# undef int64_t
+# define int64_t long int
+# define GL_INT64_T
+#elif defined _MSC_VER
+# undef int64_t
+# define int64_t __int64
+# define GL_INT64_T
+#elif @HAVE_LONG_LONG_INT@
+# undef int64_t
+# define int64_t long long int
+# define GL_INT64_T
+#endif
+
+#if ULONG_MAX >> 31 >> 31 >> 1 == 1
+# undef uint64_t
+# define uint64_t unsigned long int
+# define GL_UINT64_T
+#elif defined _MSC_VER
+# undef uint64_t
+# define uint64_t unsigned __int64
+# define GL_UINT64_T
+#elif @HAVE_UNSIGNED_LONG_LONG_INT@
+# undef uint64_t
+# define uint64_t unsigned long long int
+# define GL_UINT64_T
+#endif
+
+/* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
+#define _UINT8_T
+#define _UINT32_T
+#define _UINT64_T
+
+
+/* 7.18.1.2. Minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
+   are the same as the corresponding N_t types.  */
+
+#undef int_least8_t
+#undef uint_least8_t
+#undef int_least16_t
+#undef uint_least16_t
+#undef int_least32_t
+#undef uint_least32_t
+#undef int_least64_t
+#undef uint_least64_t
+#define int_least8_t int8_t
+#define uint_least8_t uint8_t
+#define int_least16_t int16_t
+#define uint_least16_t uint16_t
+#define int_least32_t int32_t
+#define uint_least32_t uint32_t
+#ifdef GL_INT64_T
+# define int_least64_t int64_t
+#endif
+#ifdef GL_UINT64_T
+# define uint_least64_t uint64_t
+#endif
+
+/* 7.18.1.3. Fastest minimum-width integer types */
+
+/* Note: Other <stdint.h> substitutes may define these types differently.
+   It is not recommended to use these types in public header files. */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
+   are taken from the same list of types.  Assume that 'long int'
+   is fast enough for all narrower integers.  */
+
+#undef int_fast8_t
+#undef uint_fast8_t
+#undef int_fast16_t
+#undef uint_fast16_t
+#undef int_fast32_t
+#undef uint_fast32_t
+#undef int_fast64_t
+#undef uint_fast64_t
+#define int_fast8_t long int
+#define uint_fast8_t unsigned int_fast8_t
+#define int_fast16_t long int
+#define uint_fast16_t unsigned int_fast16_t
+#define int_fast32_t long int
+#define uint_fast32_t unsigned int_fast32_t
+#ifdef GL_INT64_T
+# define int_fast64_t int64_t
+#endif
+#ifdef GL_UINT64_T
+# define uint_fast64_t uint64_t
+#endif
+
+/* 7.18.1.4. Integer types capable of holding object pointers */
+
+#undef intptr_t
+#undef uintptr_t
+#define intptr_t long int
+#define uintptr_t unsigned long int
+
+/* 7.18.1.5. Greatest-width integer types */
+
+/* Note: These types are compiler dependent. It may be unwise to use them in
+   public header files. */
+
+#undef intmax_t
+#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define intmax_t long long int
+#elif defined GL_INT64_T
+# define intmax_t int64_t
+#else
+# define intmax_t long int
+#endif
+
+#undef uintmax_t
+#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define uintmax_t unsigned long long int
+#elif defined GL_UINT64_T
+# define uintmax_t uint64_t
+#else
+# define uintmax_t unsigned long int
+#endif
+
+/* Verify that intmax_t and uintmax_t have the same size.  Too much code
+   breaks if this is not the case.  If this check fails, the reason is likely
+   to be found in the autoconf macros.  */
+typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1];
+
+/* 7.18.2. Limits of specified-width integer types */
+
+#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS
+
+/* 7.18.2.1. Limits of exact-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits.  */
+
+#undef INT8_MIN
+#undef INT8_MAX
+#undef UINT8_MAX
+#define INT8_MIN  (~ INT8_MAX)
+#define INT8_MAX  127
+#define UINT8_MAX  255
+
+#undef INT16_MIN
+#undef INT16_MAX
+#undef UINT16_MAX
+#define INT16_MIN  (~ INT16_MAX)
+#define INT16_MAX  32767
+#define UINT16_MAX  65535
+
+#undef INT32_MIN
+#undef INT32_MAX
+#undef UINT32_MAX
+#define INT32_MIN  (~ INT32_MAX)
+#define INT32_MAX  2147483647
+#define UINT32_MAX  4294967295U
+
+#undef INT64_MIN
+#undef INT64_MAX
+#ifdef GL_INT64_T
+/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
+   evaluates the latter incorrectly in preprocessor expressions.  */
+# define INT64_MIN  (- INTMAX_C (1) << 63)
+# define INT64_MAX  INTMAX_C (9223372036854775807)
+#endif
+
+#undef UINT64_MAX
+#ifdef GL_UINT64_T
+# define UINT64_MAX  UINTMAX_C (18446744073709551615)
+#endif
+
+/* 7.18.2.2. Limits of minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
+   are the same as the corresponding N_t types.  */
+
+#undef INT_LEAST8_MIN
+#undef INT_LEAST8_MAX
+#undef UINT_LEAST8_MAX
+#define INT_LEAST8_MIN  INT8_MIN
+#define INT_LEAST8_MAX  INT8_MAX
+#define UINT_LEAST8_MAX  UINT8_MAX
+
+#undef INT_LEAST16_MIN
+#undef INT_LEAST16_MAX
+#undef UINT_LEAST16_MAX
+#define INT_LEAST16_MIN  INT16_MIN
+#define INT_LEAST16_MAX  INT16_MAX
+#define UINT_LEAST16_MAX  UINT16_MAX
+
+#undef INT_LEAST32_MIN
+#undef INT_LEAST32_MAX
+#undef UINT_LEAST32_MAX
+#define INT_LEAST32_MIN  INT32_MIN
+#define INT_LEAST32_MAX  INT32_MAX
+#define UINT_LEAST32_MAX  UINT32_MAX
+
+#undef INT_LEAST64_MIN
+#undef INT_LEAST64_MAX
+#ifdef GL_INT64_T
+# define INT_LEAST64_MIN  INT64_MIN
+# define INT_LEAST64_MAX  INT64_MAX
+#endif
+
+#undef UINT_LEAST64_MAX
+#ifdef GL_UINT64_T
+# define UINT_LEAST64_MAX  UINT64_MAX
+#endif
+
+/* 7.18.2.3. Limits of fastest minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
+   are taken from the same list of types.  */
+
+#undef INT_FAST8_MIN
+#undef INT_FAST8_MAX
+#undef UINT_FAST8_MAX
+#define INT_FAST8_MIN  LONG_MIN
+#define INT_FAST8_MAX  LONG_MAX
+#define UINT_FAST8_MAX  ULONG_MAX
+
+#undef INT_FAST16_MIN
+#undef INT_FAST16_MAX
+#undef UINT_FAST16_MAX
+#define INT_FAST16_MIN  LONG_MIN
+#define INT_FAST16_MAX  LONG_MAX
+#define UINT_FAST16_MAX  ULONG_MAX
+
+#undef INT_FAST32_MIN
+#undef INT_FAST32_MAX
+#undef UINT_FAST32_MAX
+#define INT_FAST32_MIN  LONG_MIN
+#define INT_FAST32_MAX  LONG_MAX
+#define UINT_FAST32_MAX  ULONG_MAX
+
+#undef INT_FAST64_MIN
+#undef INT_FAST64_MAX
+#ifdef GL_INT64_T
+# define INT_FAST64_MIN  INT64_MIN
+# define INT_FAST64_MAX  INT64_MAX
+#endif
+
+#undef UINT_FAST64_MAX
+#ifdef GL_UINT64_T
+# define UINT_FAST64_MAX  UINT64_MAX
+#endif
+
+/* 7.18.2.4. Limits of integer types capable of holding object pointers */
+
+#undef INTPTR_MIN
+#undef INTPTR_MAX
+#undef UINTPTR_MAX
+#define INTPTR_MIN  LONG_MIN
+#define INTPTR_MAX  LONG_MAX
+#define UINTPTR_MAX  ULONG_MAX
+
+/* 7.18.2.5. Limits of greatest-width integer types */
+
+#undef INTMAX_MIN
+#undef INTMAX_MAX
+#ifdef INT64_MAX
+# define INTMAX_MIN  INT64_MIN
+# define INTMAX_MAX  INT64_MAX
+#else
+# define INTMAX_MIN  INT32_MIN
+# define INTMAX_MAX  INT32_MAX
+#endif
+
+#undef UINTMAX_MAX
+#ifdef UINT64_MAX
+# define UINTMAX_MAX  UINT64_MAX
+#else
+# define UINTMAX_MAX  UINT32_MAX
+#endif
+
+/* 7.18.3. Limits of other integer types */
+
+/* ptrdiff_t limits */
+#undef PTRDIFF_MIN
+#undef PTRDIFF_MAX
+#define PTRDIFF_MIN  \
+   _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+#define PTRDIFF_MAX  \
+   _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+
+/* sig_atomic_t limits */
+#undef SIG_ATOMIC_MIN
+#undef SIG_ATOMIC_MAX
+#define SIG_ATOMIC_MIN  \
+   _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
+               0@SIG_ATOMIC_T_SUFFIX@)
+#define SIG_ATOMIC_MAX  \
+   _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
+               0@SIG_ATOMIC_T_SUFFIX@)
+
+
+/* size_t limit */
+#undef SIZE_MAX
+#define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
+
+/* wchar_t limits */
+#undef WCHAR_MIN
+#undef WCHAR_MAX
+#define WCHAR_MIN  \
+   _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+#define WCHAR_MAX  \
+   _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+
+/* wint_t limits */
+#undef WINT_MIN
+#undef WINT_MAX
+#define WINT_MIN  \
+   _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+#define WINT_MAX  \
+   _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+
+#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
+
+/* 7.18.4. Macros for integer constants */
+
+#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
+
+/* 7.18.4.1. Macros for minimum-width integer constants */
+/* According to ISO C 99 Technical Corrigendum 1 */
+
+/* Here we assume a standard architecture where the hardware integer
+   types have 8, 16, 32, optionally 64 bits, and int is 32 bits.  */
+
+#undef INT8_C
+#undef UINT8_C
+#define INT8_C(x) x
+#define UINT8_C(x) x
+
+#undef INT16_C
+#undef UINT16_C
+#define INT16_C(x) x
+#define UINT16_C(x) x
+
+#undef INT32_C
+#undef UINT32_C
+#define INT32_C(x) x
+#define UINT32_C(x) x ## U
+
+#undef INT64_C
+#undef UINT64_C
+#if LONG_MAX >> 31 >> 31 == 1
+# define INT64_C(x) x##L
+#elif defined _MSC_VER
+# define INT64_C(x) x##i64
+#elif @HAVE_LONG_LONG_INT@
+# define INT64_C(x) x##LL
+#endif
+#if ULONG_MAX >> 31 >> 31 >> 1 == 1
+# define UINT64_C(x) x##UL
+#elif defined _MSC_VER
+# define UINT64_C(x) x##ui64
+#elif @HAVE_UNSIGNED_LONG_LONG_INT@
+# define UINT64_C(x) x##ULL
+#endif
+
+/* 7.18.4.2. Macros for greatest-width integer constants */
+
+#undef INTMAX_C
+#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define INTMAX_C(x)   x##LL
+#elif defined GL_INT64_T
+# define INTMAX_C(x)   INT64_C(x)
+#else
+# define INTMAX_C(x)   x##L
+#endif
+
+#undef UINTMAX_C
+#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define UINTMAX_C(x)  x##ULL
+#elif defined GL_UINT64_T
+# define UINTMAX_C(x)  UINT64_C(x)
+#else
+# define UINTMAX_C(x)  x##UL
+#endif
+
+#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
+
+#endif /* _GL_STDINT_H */
+#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
diff --git a/md5/wchar.in.h b/md5/wchar.in.h
new file mode 100644 (file)
index 0000000..b721572
--- /dev/null
@@ -0,0 +1,82 @@
+/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
+
+   Copyright (C) 2007 Free Software Foundation, Inc.
+
+   This program 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 3, 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+/* Written by Eric Blake.  */
+
+/*
+ * ISO C 99 <wchar.h> for platforms that have issues.
+ * <http://www.opengroup.org/susv3xbd/wchar.h.html>
+ *
+ * For now, this just ensures proper prerequisite inclusion order and
+ * the declaration of wcwidth().
+ */
+
+#ifndef _GL_WCHAR_H
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+   included before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+
+/* Include the original <wchar.h> if it exists.
+   Some builds of uClibc lack it.  */
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_WCHAR_H@
+# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
+#endif
+
+#ifndef _GL_WCHAR_H
+#define _GL_WCHAR_H
+
+/* The definition of GL_LINK_WARNING is copied here.  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Return the number of screen columns needed for WC.  */
+#if @GNULIB_WCWIDTH@
+# if @REPLACE_WCWIDTH@
+#  undef wcwidth
+#  define wcwidth rpl_wcwidth
+extern int wcwidth (wchar_t);
+# else
+#  if !defined wcwidth && !@HAVE_DECL_WCWIDTH@
+/* wcwidth exists but is not declared.  */
+extern int wcwidth (int /* actually wchar_t */);
+#  endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcwidth
+# define wcwidth(w) \
+    (GL_LINK_WARNING ("wcwidth is unportable - " \
+                      "use gnulib module wcwidth for portability"), \
+     wcwidth (w))
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_WCHAR_H */
+#endif /* _GL_WCHAR_H */
diff --git a/mdate-sh b/mdate-sh
new file mode 100755 (executable)
index 0000000..cd916c0
--- /dev/null
+++ b/mdate-sh
@@ -0,0 +1,201 @@
+#!/bin/sh
+# Get modification time of a file or directory and pretty-print it.
+
+scriptversion=2005-06-29.22
+
+# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
+# Foundation, Inc.
+# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
+#
+# This program 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 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+  '')
+     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: mdate-sh [--help] [--version] FILE
+
+Pretty-print the modification time of FILE.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "mdate-sh $scriptversion"
+    exit $?
+    ;;
+esac
+
+# Prevent date giving response in another language.
+LANG=C
+export LANG
+LC_ALL=C
+export LC_ALL
+LC_TIME=C
+export LC_TIME
+
+# GNU ls changes its time format in response to the TIME_STYLE
+# variable.  Since we cannot assume `unset' works, revert this
+# variable to its documented default.
+if test "${TIME_STYLE+set}" = set; then
+  TIME_STYLE=posix-long-iso
+  export TIME_STYLE
+fi
+
+save_arg1=$1
+
+# Find out how to get the extended ls output of a file or directory.
+if ls -L /dev/null 1>/dev/null 2>&1; then
+  ls_command='ls -L -l -d'
+else
+  ls_command='ls -l -d'
+fi
+
+# A `ls -l' line looks as follows on OS/2.
+#  drwxrwx---        0 Aug 11  2001 foo
+# This differs from Unix, which adds ownership information.
+#  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
+#
+# To find the date, we split the line on spaces and iterate on words
+# until we find a month.  This cannot work with files whose owner is a
+# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
+# will be owned by a user whose name is a month.  So we first look at
+# the extended ls output of the root directory to decide how many
+# words should be skipped to get the date.
+
+# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
+set x`ls -l -d /`
+
+# Find which argument is the month.
+month=
+command=
+until test $month
+do
+  shift
+  # Add another shift to the command.
+  command="$command shift;"
+  case $1 in
+    Jan) month=January; nummonth=1;;
+    Feb) month=February; nummonth=2;;
+    Mar) month=March; nummonth=3;;
+    Apr) month=April; nummonth=4;;
+    May) month=May; nummonth=5;;
+    Jun) month=June; nummonth=6;;
+    Jul) month=July; nummonth=7;;
+    Aug) month=August; nummonth=8;;
+    Sep) month=September; nummonth=9;;
+    Oct) month=October; nummonth=10;;
+    Nov) month=November; nummonth=11;;
+    Dec) month=December; nummonth=12;;
+  esac
+done
+
+# Get the extended ls output of the file or directory.
+set dummy x`eval "$ls_command \"\$save_arg1\""`
+
+# Remove all preceding arguments
+eval $command
+
+# Because of the dummy argument above, month is in $2.
+#
+# On a POSIX system, we should have
+#
+# $# = 5
+# $1 = file size
+# $2 = month
+# $3 = day
+# $4 = year or time
+# $5 = filename
+#
+# On Darwin 7.7.0 and 7.6.0, we have
+#
+# $# = 4
+# $1 = day
+# $2 = month
+# $3 = year or time
+# $4 = filename
+
+# Get the month.
+case $2 in
+  Jan) month=January; nummonth=1;;
+  Feb) month=February; nummonth=2;;
+  Mar) month=March; nummonth=3;;
+  Apr) month=April; nummonth=4;;
+  May) month=May; nummonth=5;;
+  Jun) month=June; nummonth=6;;
+  Jul) month=July; nummonth=7;;
+  Aug) month=August; nummonth=8;;
+  Sep) month=September; nummonth=9;;
+  Oct) month=October; nummonth=10;;
+  Nov) month=November; nummonth=11;;
+  Dec) month=December; nummonth=12;;
+esac
+
+case $3 in
+  ???*) day=$1;;
+  *) day=$3; shift;;
+esac
+
+# Here we have to deal with the problem that the ls output gives either
+# the time of day or the year.
+case $3 in
+  *:*) set `date`; eval year=\$$#
+       case $2 in
+        Jan) nummonthtod=1;;
+        Feb) nummonthtod=2;;
+        Mar) nummonthtod=3;;
+        Apr) nummonthtod=4;;
+        May) nummonthtod=5;;
+        Jun) nummonthtod=6;;
+        Jul) nummonthtod=7;;
+        Aug) nummonthtod=8;;
+        Sep) nummonthtod=9;;
+        Oct) nummonthtod=10;;
+        Nov) nummonthtod=11;;
+        Dec) nummonthtod=12;;
+       esac
+       # For the first six month of the year the time notation can also
+       # be used for files modified in the last year.
+       if (expr $nummonth \> $nummonthtod) > /dev/null;
+       then
+        year=`expr $year - 1`
+       fi;;
+  *) year=$3;;
+esac
+
+# The result.
+echo $day $month $year
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/missing b/missing
new file mode 100755 (executable)
index 0000000..1c8ff70
--- /dev/null
+++ b/missing
@@ -0,0 +1,367 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2006-05-10.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program 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 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+          sed 's/\.am$/.in/' |
+          while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo "#! /bin/sh"
+       echo "# Created by GNU Automake missing as a replacement of"
+       echo "#  $ $@"
+       echo "exit 0"
+       chmod +x $file
+       exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.y)
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.c
+           fi
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.h
+           fi
+         ;;
+       esac
+    fi
+    if test ! -f y.tab.h; then
+       echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+       echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.l)
+           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" lex.yy.c
+           fi
+         ;;
+       esac
+    fi
+    if test ! -f lex.yy.c; then
+       echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+        you modified a dependency of a manual page.  You may need the
+        \`Help2man' package in order for those modifications to take
+        effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo ".ab help2man is required to generate this page"
+       exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+       /^@setfilename/{
+         s/.* \([^ ]*\) *$/\1/
+         p
+         q
+       }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+       case $firstarg in
+       *o*)
+           firstarg=`echo "$firstarg" | sed s/o//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+       case $firstarg in
+       *h*)
+           firstarg=`echo "$firstarg" | sed s/h//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/msdos/ChangeLog b/msdos/ChangeLog
new file mode 100644 (file)
index 0000000..77715cb
--- /dev/null
@@ -0,0 +1,33 @@
+2008-01-25  Micah Cowan  <micah@cowan.name>
+
+       * config.h: Updated copyright year.
+
+2007-11-28  Micah Cowan <micah@cowan.name>
+
+       * config.h: Updated license exception for OpenSSL, per the SFLC.
+
+2007-10-15  Gisle Vanem  <gvanem@broadpark.no>
+
+       * config.h: Added some HAVE_* for djgpp 2.04 and Watcom 1.7+.
+
+       * Makefile.DJ: rewritten for including some files from ../lib.
+
+       * Makefile.WC: Ditto. Handling source-files out-of current
+       directory makes compliation a bit more painfull. AFAICS, one
+       must use explicit rules.
+
+2007-10-02  Gisle Vanem  <gvanem@broadpark.no>
+
+       * config.h: Removed unused defines, added needed 'HAVE_*' defines.
+
+       * Makefile.DJ: rewritten to be used from './src' directory.
+       Added '-DOPENSSL_NO_KRB5' for OpenSSL build. Target is
+       now wget.exe.
+
+       * Makefile.WC: Added for building with OpenWatcom targeting
+       32-bit DOS (DOS32A extender). 
+
+2007-09-24  Gisle Vanem  <giva@bgnett.no>
+
+       * Makefile.DJ, config.h: Added to support building on MS-DOS via
+       DJGPP.
diff --git a/msdos/Makefile.DJ b/msdos/Makefile.DJ
new file mode 100644 (file)
index 0000000..9b25ae5
--- /dev/null
@@ -0,0 +1,74 @@
+#
+# GNU Makefile for wget / djgpp / MSDOS.
+# By Gisle Vanem <giva@bgnett.no> 2007.
+#
+# `cd' to `./src' and issue the command:
+#   make -f ../msdos/Makefile.dj
+#
+.SUFFIXES: .exe
+
+VPATH = ../lib
+
+USE_OPENSSL = 0
+USE_IPV6    = 1
+
+#
+# Change to suite.
+#
+OPENSSL_ROOT = e:/net/OpenSSL.099
+ZLIB_ROOT    = e:/djgpp/contrib/zlib
+
+OBJ_DIR = djgpp.obj
+CC      = gcc
+CFLAGS  = -O2 -g -Wall -Wcast-align -I. -I../msdos -I../lib -I/dev/env/WATT_ROOT/inc \
+          -DHAVE_CONFIG_H -DENABLE_DEBUG
+
+# LDFLAGS = -s
+
+ifeq ($(USE_OPENSSL),1)
+  CFLAGS  += -DHAVE_OPENSSL -DHAVE_SSL -DOPENSSL_NO_KRB5 -I$(OPENSSL_ROOT)
+  EX_LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a \
+             $(ZLIB_ROOT)/libz.a
+  SOURCES += openssl.c http-ntlm.c
+endif
+
+ifeq ($(USE_IPV6),1)
+  CFLAGS += -DENABLE_IPV6
+endif
+
+EX_LIBS += /dev/env/WATT_ROOT/lib/libwatt.a
+
+SOURCES += cmpt.c connect.c cookies.c ftp.c ftp-basic.c ftp-ls.c \
+           ftp-opie.c hash.c host.c html-parse.c html-url.c http.c \
+           init.c log.c main.c gen-md5.c netrc.c progress.c recur.c \
+           res.c retr.c snprintf.c url.c utils.c version.c convert.c xmalloc.c \
+           ptimer.c spider.c ../lib/getopt.c ../lib/getopt1.c ../lib/md5.c
+
+OBJECTS = $(addprefix $(OBJ_DIR)/, $(notdir $(SOURCES:.c=.o)))
+
+all: $(OBJ_DIR) wget.exe
+       @echo 'Welcome to Wget'
+
+$(OBJ_DIR):
+       mkdir $(OBJ_DIR)
+
+wget.exe: $(OBJECTS)
+       $(CC) $(LDFLAGS) -o $@ $^ $(EX_LIBS)
+
+clean:
+       rm -f $(OBJ_DIR)/*.o $(MAPFILE)
+
+vclean realclean: clean
+       rm -f wget.exe depend.dj
+       - rmdir $(OBJ_DIR)
+
+$(OBJ_DIR)/%.o: %.c
+       $(CC) $(CFLAGS) -o $@ -c $<
+       @echo
+
+depend:
+       $(CC) -MM $(CFLAGS) $(SOURCES) | \
+        sed -e 's/^\([a-zA-Z0-9_-]*\.o:\)/$$(OBJ_DIR)\/\1/' > depend.dj
+
+-include depend.dj
+
diff --git a/msdos/Makefile.WC b/msdos/Makefile.WC
new file mode 100644 (file)
index 0000000..d20988c
--- /dev/null
@@ -0,0 +1,65 @@
+#
+# Makefile for Wget / DOS32A / OpenWatcom
+# by G. Vanem <gvanem@broadpark.no> 2007
+#
+
+COMPILE = *wcc386 -mf -3r -w6 -d2 -zq -zm -of -I. -I$(%watt_root)\inc &
+            -I..\msdos -I..\lib -fr=nul -bt=dos -s -dHAVE_CONFIG_H &
+            -dENABLE_DEBUG -dSIZEOF_INT=4
+
+LINK = *wlink option quiet, map, verbose, eliminate, caseexact, stack=100k &
+        debug all system dos32a
+
+OBJ_DIR = Watcom.obj
+
+OBJECTS = $(OBJ_DIR)\cmpt.obj      $(OBJ_DIR)\connect.obj    &
+          $(OBJ_DIR)\convert.obj   $(OBJ_DIR)\cookies.obj    &
+          $(OBJ_DIR)\c-ctype.obj    $(OBJ_DIR)\ftp-basic.obj &
+          $(OBJ_DIR)\ftp-ls.obj     $(OBJ_DIR)\ftp-opie.obj  &
+          $(OBJ_DIR)\ftp.obj        $(OBJ_DIR)\gen-md5.obj   &
+          $(OBJ_DIR)\getopt.obj     $(OBJ_DIR)\getopt1.obj   &
+          $(OBJ_DIR)\hash.obj       $(OBJ_DIR)\host.obj      &
+          $(OBJ_DIR)\html-parse.obj $(OBJ_DIR)\html-url.obj  &
+          $(OBJ_DIR)\http.obj       $(OBJ_DIR)\init.obj      &
+          $(OBJ_DIR)\log.obj        $(OBJ_DIR)\main.obj      &
+          $(OBJ_DIR)\md5.obj        $(OBJ_DIR)\netrc.obj     &
+          $(OBJ_DIR)\progress.obj  $(OBJ_DIR)\ptimer.obj     &
+          $(OBJ_DIR)\recur.obj     $(OBJ_DIR)\res.obj        &
+          $(OBJ_DIR)\retr.obj       $(OBJ_DIR)\spider.obj    &
+          $(OBJ_DIR)\url.obj        $(OBJ_DIR)\utils.obj     &
+          $(OBJ_DIR)\version.obj    $(OBJ_DIR)\xmalloc.obj
+
+all: $(OBJ_DIR) wget.exe .SYMBOLIC
+       @echo 'Welcome to Wget / Watcom'
+
+$(OBJ_DIR):
+       - mkdir $^@
+
+.ERASE
+.c{$(OBJ_DIR)}.obj: .AUTODEPEND
+       *$(COMPILE) -fo=$@ $[@
+
+.ERASE
+$(OBJ_DIR)\c-ctype.obj: ..\lib\c-ctype.c
+       *$(COMPILE) -fo=$@ $[@
+
+.ERASE
+$(OBJ_DIR)\md5.obj: ..\lib\md5.c
+       *$(COMPILE) -fo=$@ $[@
+
+.ERASE
+$(OBJ_DIR)\getopt.obj: ..\lib\getopt.c
+       *$(COMPILE) -d_UNISTD_H_INCLUDED -fo=$@ $[@
+
+.ERASE
+$(OBJ_DIR)\getopt1.obj: ..\lib\getopt1.c
+       *$(COMPILE) -d_UNISTD_H_INCLUDED -fo=$@ $[@
+
+wget.exe: $(OBJECTS)
+      $(LINK) name $@ file { $(OBJECTS) } library $(%watt_root)\lib\wattcpwf.lib
+
+
+clean: .SYMBOLIC
+       - rm $(OBJ_DIR)\*.obj wget.exe wget.map
+       - rmdir $(OBJ_DIR)
+
diff --git a/msdos/config.h b/msdos/config.h
new file mode 100644 (file)
index 0000000..28c9192
--- /dev/null
@@ -0,0 +1,134 @@
+/* Configuration header file for MS-DOS/Watt-32
+   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+
+   This file is part of GNU Wget.
+
+   GNU Wget 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 3 of the License, or
+   (at your option) any later version.
+
+   GNU Wget 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 Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+   Additional permission under GNU GPL version 3 section 7
+
+   If you modify this program, or any covered work, by linking or
+   combining it with the OpenSSL project's OpenSSL library (or a
+   modified version of that library), containing parts covered by the
+   terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+   grants you additional permission to convey the resulting work.
+   Corresponding Source for a non-source form of such a combination
+   shall include the source code for the parts of OpenSSL used as well
+   as that of the covered work.  */
+
+
+#ifndef CONFIG_DOS_H
+#define CONFIG_DOS_H
+
+#include <stdlib.h>
+#include <limits.h>
+#include <tcp.h>
+#include <malloc.h>
+
+#ifdef __DJGPP__
+#include <sys/config.h>
+#endif
+
+#include <sys/errno.h>
+
+#if defined(__WATCOMC__)
+  #if (__WATCOMC__ >= 1250)  /* OW 1.5+ */
+  #define OPENWATCOM_15
+  #endif
+  #if (__WATCOMC__ >= 1270)  /* OW 1.7+ */
+    #define OPENWATCOM_17
+  #endif
+#endif
+
+#if defined(__HIGHC__)
+  #define HAVE_UNISTD_H 1
+  #define HAVE_UTIME_H 1
+#endif
+
+#if defined(__WATCOMC__) || defined(__BORLANDC__) || defined(__HIGHC__)
+  #define inline
+#endif
+
+#define USE_OPIE 1
+#define USE_DIGEST 1
+#define DEBUG
+
+#ifdef __DJGPP__
+  #define HAVE__BOOL          1
+  #define HAVE_STRCASECMP 1
+  #define HAVE_STRNCASECMP 1
+  #define HAVE_SIGSETJMP 1
+  #define HAVE_SIGBLOCK 1
+  #define HAVE_STRUCT_UTIMBUF 1
+  #define HAVE_SYS_SELECT_H   1
+  #define HAVE_USLEEP         1
+  #define HAVE_UTIME_H        1
+  #define HAVE_INT64_T        1
+
+  #if (DJGPP_MINOR >= 4)
+    #define HAVE_STDBOOL_H 1
+    #define HAVE_STDINT_H  1
+    #define HAVE_SNPRINTF 1
+    #define HAVE_VSNPRINTF 1
+    #define HAVE_UINT32_T 1
+  #endif
+#endif
+
+#ifdef __HIGHC__
+  #define HAVE_STRUCT_UTIMBUF 1
+  #define HAVE_UTIME_H 1
+#endif
+
+#ifdef OPENWATCOM_15
+  #define HAVE_INT64_T     1
+  #define HAVE_SNPRINTF    1
+  #define HAVE_STRCASECMP  1
+  #define HAVE_STRNCASECMP 1
+  #define HAVE_STDINT_H    1
+  #define HAVE_UTIME_H     1
+#endif
+
+#ifdef OPENWATCOM_17
+  #define HAVE__BOOL       1
+  #define HAVE_STDBOOL_H   1
+#endif
+
+#define HAVE_PROCESS_H     1
+#define HAVE_STRDUP 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_BUILTIN_MD5 1
+#define HAVE_ISATTY 1
+
+#define lookup_host  wget_lookuphost
+#define select       select_s
+#define socklen_t    int
+
+#define sock_read    wget_sock_read
+#define sock_write   wget_sock_write
+#define sock_close   wget_sock_close
+
+#if !defined(__DJGPP__)
+  #include <direct.h>
+  #define mkdir(p,a)  (mkdir)(p)
+  #define strcasecmp stricmp
+#endif
+
+#if !defined(MSDOS)
+  #define MSDOS
+#endif
+
+#define OS_TYPE "DOS"
+
+#endif  /* CONFIG_DOS_H */
index f796621722c477bad354ec4918140fdfd0d55e54..e6da10aa44808e1ac57b219d0f42f41d628480ac 100644 (file)
@@ -1,77 +1,98 @@
-# Makefile for program source directory in GNU NLS utilities package.
-# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 #
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
+# This file can be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU General Public
+# License but which still want to provide support for the GNU gettext
+# functionality.
+# Please note that the actual code of GNU gettext is covered by the GNU
+# General Public License and is *not* in the public domain.
+#
+# Origin: gettext-0.16
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 
 SHELL = /bin/sh
 @SET_MAKE@
 
-top_builddir = ..
-
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 
 prefix = @prefix@
 exec_prefix = @exec_prefix@
-datadir = $(prefix)/@DATADIRNAME@
-localedir = $(datadir)/locale
-gnulocaledir = $(prefix)/share/locale
-gettextsrcdir = $(prefix)/share/gettext/po
-subdir = po
-
-DESTDIR =
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
 
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 
-CC = @CC@
-GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
-MSGMERGE = PATH=../src:$$PATH msgmerge
-
-DEFS = @DEFS@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-
-INCLUDES = -I.. -I$(top_srcdir)/intl
-
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
 
 POFILES = @POFILES@
 GMOFILES = @GMOFILES@
-DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
-$(POFILES) $(GMOFILES) $(SOURCES)
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
 
 POTFILES = \
 
 CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-INSTOBJEXT = @INSTOBJEXT@
-
-.SUFFIXES:
-.SUFFIXES: .c .o .po .pox .gmo .mo .msg
 
-.c.o:
-       $(COMPILE) $<
+# Makevars gets inserted here. (Don't remove this line!)
 
-.po.pox:
-       $(MAKE) $(PACKAGE).pot
-       $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
 
 .po.mo:
-       $(MSGFMT) -o $@ $<
+       @echo "$(MSGFMT) -c -o $@ $<"; \
+       $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
 
 .po.gmo:
-       file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
-         && rm -f $$file && $(GMSGFMT) -o $$file $<
+       @lang=`echo $* | sed -e 's,.*/,,'`; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
+       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+       sed -e '/^#/d' $< > t-$@
+       mv t-$@ $@
 
 
 all: all-@USE_NLS@
@@ -79,141 +100,303 @@ all: all-@USE_NLS@
 all-yes: $(CATALOGS)
 all-no:
 
-$(srcdir)/$(PACKAGE).pot: $(POTFILES)
-       $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
-         --add-comments --keyword=_ --keyword=N_ \
-         --files-from=$(srcdir)/POTFILES.in
-       rm -f $(srcdir)/$(PACKAGE).pot
-       mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+       test ! -f $(srcdir)/$(DOMAIN).pot || \
+         test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+       @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+         echo "touch stamp-po" && \
+         echo timestamp > stamp-poT && \
+         mv stamp-poT stamp-po; \
+       }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+       if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+         msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+       else \
+         msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+       fi; \
+       $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+         --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
+         --files-from=$(srcdir)/POTFILES.in \
+         --copyright-holder='$(COPYRIGHT_HOLDER)' \
+         --msgid-bugs-address="$$msgid_bugs_address"
+       test ! -f $(DOMAIN).po || { \
+         if test -f $(srcdir)/$(DOMAIN).pot; then \
+           sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+           sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+           if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+           else \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+             mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+           fi; \
+         else \
+           mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+         fi; \
+       }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+       $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+#$(POFILES): $(srcdir)/$(DOMAIN).pot
+#      @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+#      if test -f "$(srcdir)/$${lang}.po"; then \
+#        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+#        echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+#        cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+#      else \
+#        $(MAKE) $${lang}.po-create; \
+#      fi
+
 
-install.mo: install
 install: install-exec install-data
 install-exec:
 install-data: install-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           $(INSTALL_DATA) $(srcdir)/$$file \
+                           $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+         for file in Makevars; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
 install-data-no: all
 install-data-yes: all
+       $(mkdir_p) $(DESTDIR)$(datadir)
        @catalogs='$(CATALOGS)'; \
        for cat in $$catalogs; do \
          cat=`basename $$cat`; \
-         case "$$cat" in \
-           *.gmo) destdir=$(DESTDIR)$(gnulocaledir);; \
-           *)     destdir=$(DESTDIR)$(localedir);; \
-         esac; \
-         lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
-         dir=$$destdir/$$lang/LC_MESSAGES; \
-         $(top_srcdir)/mkinstalldirs $$dir; \
-         if test -r $$cat; then \
-           $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
-           echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
-         else \
-           $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
-           echo "installing $(srcdir)/$$cat as" \
-                "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
-         fi; \
-         if test -r $$cat.m; then \
-           $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
-           echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
-         else \
-           if test -r $(srcdir)/$$cat.m ; then \
-             $(INSTALL_DATA) $(srcdir)/$$cat.m \
-               $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
-             echo "installing $(srcdir)/$$cat as" \
-                  "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
-           else \
-             true; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+         $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+         echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+             rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+             ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+             cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
            fi; \
-         fi; \
+         done; \
        done
-       if test "$(PACKAGE)" = "gettext"; then \
-         $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
-                         $(gettextsrcdir)/Makefile.in.in; \
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
        else \
          : ; \
        fi
+installdirs-data-no:
+installdirs-data-yes:
+       $(mkdir_p) $(DESTDIR)$(datadir)
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+           fi; \
+         done; \
+       done
 
 # Define this as empty until I found a useful application.
 installcheck:
 
-uninstall:
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
+uninstall-data-no:
+uninstall-data-yes:
        catalogs='$(CATALOGS)'; \
        for cat in $$catalogs; do \
          cat=`basename $$cat`; \
-         lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
-         dir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
-         rm -f $$dir/$(PACKAGE)$(INSTOBJEXT); \
-         rm -f $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
-         dir=$(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES; \
-         rm -f $$dir/$(PACKAGE)$(INSTOBJEXT); \
-         rm -f $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+           rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+         done; \
        done
-       rm -f $(gettextsrcdir)/po-Makefile.in.in
 
 check: all
 
-cat-id-tbl.o: ../intl/libgettext.h
-
-dvi info tags TAGS ID:
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
 
 mostlyclean:
-       rm -f core core.* *.pox $(PACKAGE).po *.old.po
+       rm -f remove-potcdate.sed
+       rm -f stamp-poT
+       rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
        rm -fr *.o
 
 clean: mostlyclean
 
 distclean: clean
-       rm -f Makefile Makefile.in POTFILES *.mo *.gmo *.msg
+       rm -f Makefile Makefile.in POTFILES *.mo
 
 maintainer-clean: distclean
-       @echo "!! This command is intended for maintainers to use;"
-       @echo "!! it deletes files that may require special tools to rebuild."
-       rm -f $(GMOFILES)
-
-realclean: maintainer-clean
-
-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir: update-po $(DISTFILES)
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+       $(MAKE) update-po
+       @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
        dists="$(DISTFILES)"; \
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         dists="$$dists Makevars.template"; \
+       fi; \
+       if test -f $(srcdir)/$(DOMAIN).pot; then \
+         dists="$$dists $(DOMAIN).pot stamp-po"; \
+       fi; \
+       if test -f $(srcdir)/ChangeLog; then \
+         dists="$$dists ChangeLog"; \
+       fi; \
+       for i in 0 1 2 3 4 5 6 7 8 9; do \
+         if test -f $(srcdir)/ChangeLog.$$i; then \
+           dists="$$dists ChangeLog.$$i"; \
+         fi; \
+       done; \
+       if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
        for file in $$dists; do \
-         ln $(srcdir)/$$file $(distdir) 2> /dev/null \
-           || cp -p $(srcdir)/$$file $(distdir); \
+         if test -f $$file; then \
+           cp -p $$file $(distdir) || exit 1; \
+         else \
+           cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+         fi; \
        done
 
 update-po: Makefile
-       $(MAKE) $(PACKAGE).pot
-       PATH=`pwd`/../src:$$PATH; \
+       $(MAKE) $(DOMAIN).pot-update
+       test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+       $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+       @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+       echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+       exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+       @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+       if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+       tmpdir=`pwd`; \
+       echo "$$lang:"; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
        cd $(srcdir); \
-       catalogs='$(CATALOGS)'; \
-       for cat in $$catalogs; do \
-         cat=`basename $$cat`; \
-         lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
-         mv $$lang.po $$lang.old.po; \
-         echo "$$lang:"; \
-         if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
-           rm -f $$lang.old.po; \
+       if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+         if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+           rm -f $$tmpdir/$$lang.new.po; \
          else \
-           echo "msgmerge for $$cat failed!"; \
-           rm -f $$lang.po; \
-           mv $$lang.old.po $$lang.po; \
+           if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+             :; \
+           else \
+             echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+             exit 1; \
+           fi; \
          fi; \
-       done
+       else \
+         echo "msgmerge for $$lang.po failed!" 1>&2; \
+         rm -f $$tmpdir/$$lang.new.po; \
+       fi
 
-POTFILES: POTFILES.in
-       ( if test 'x$(srcdir)' != 'x.'; then \
-           posrcprefix='$(top_srcdir)/'; \
-         else \
-           posrcprefix="../"; \
-         fi; \
-         rm -f $@-t $@ \
-           && (sed -e '/^#/d' -e '/^[  ]*$$/d' \
-                   -e "s@.*@   $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
-               | sed -e '$$s/\\$$//') > $@-t \
-           && chmod a-w $@-t \
-           && mv $@-t $@ )
-
-Makefile: Makefile.in.in ../config.status POTFILES
-       cd .. \
-         && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
-              $(SHELL) ./config.status
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+       @:
+
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+       cd $(top_builddir) \
+         && $(SHELL) ./config.status $(subdir)/$@.in po-directories
+
+force:
 
 # Tell versions [3.59,3.63) of GNU make not to export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/po/Makevars b/po/Makevars
new file mode 100644 (file)
index 0000000..55f8d04
--- /dev/null
@@ -0,0 +1,41 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
+# package.  (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.)  Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright.  The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+#   in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+#   understood.
+# - Strings which make invalid assumptions about notation of date, time or
+#   money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = wget@sunsite.dk
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used.  It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
index 8c9f81ebb5615466102bae6eae628d9b19a55553..a2fc6e8ea9a4e5bfb24c0a3954709a5287e014fd 100644 (file)
@@ -1,7 +1,9 @@
 # List of files which containing translatable strings.
-# Copyright (C) 1998 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+# 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 # Package source files
+lib/getopt.c
 src/cmpt.c
 src/connect.c
 src/convert.c
@@ -11,8 +13,6 @@ src/ftp-ls.c
 src/ftp-opie.c
 src/ftp.c
 src/gen-md5.c
-src/getopt.c
-src/gnu-md5.c
 src/hash.c
 src/host.c
 src/html-parse.c
@@ -29,7 +29,7 @@ src/ptimer.c
 src/recur.c
 src/res.c
 src/retr.c
+src/spider.c
 src/url.c
 src/utils.c
-src/version.c
 src/xmalloc.c
diff --git a/po/Rules-quot b/po/Rules-quot
new file mode 100644 (file)
index 0000000..1f134fa
--- /dev/null
@@ -0,0 +1,55 @@
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+       $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+       $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+en@quot.po-update-en: $(srcdir)/$(DOMAIN).pot
+en@boldquot.po-update-en: $(srcdir)/$(DOMAIN).pot
+
+.insert-header.po-update-en:
+       @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+       if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+       tmpdir=`pwd`; \
+       echo "$$lang:"; \
+       ll=`echo $$lang | sed -e 's/@.*//'`; \
+       LC_ALL=C; export LC_ALL; \
+       cd $(srcdir); \
+       if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+         if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+           rm -f $$tmpdir/$$lang.new.po; \
+         else \
+           if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+             :; \
+           else \
+             echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+             exit 1; \
+           fi; \
+         fi; \
+       else \
+         echo "creation of $$lang.po failed!" 1>&2; \
+         rm -f $$tmpdir/$$lang.new.po; \
+       fi
+
+en@quot.insert-header: insert-header.sin
+       sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+       sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+       rm -f *.insert-header
+
+en_US.po: en_US.po-update
+
+en_US.po-update: en@quot.po
+       cp $^ en_US.po
diff --git a/po/be.po b/po/be.po
new file mode 100644 (file)
index 0000000..399dcbf
--- /dev/null
+++ b/po/be.po
@@ -0,0 +1,1766 @@
+# Беларускі пераклад wget-1.8.2.
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Hleb Valoska <el_globus@tut.by>, 2003.
+# Alexander Nyakhaychyk <nyakhaychyk@gmail.com>, 2003, 2004, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: wget 1.11-b2405\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-10-22 11:16-0700\n"
+"PO-Revision-Date: 2007-11-08 09:56+0200\n"
+"Last-Translator: Alexander Nyakhaychyk <nyakhaychyk@gmail.com>\n"
+"Language-Team: Belarusian <i18n@mova.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: src/connect.c:196
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:268
+#, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Далучэньне да %s[%s]:%d... "
+
+#: src/connect.c:271
+#, c-format
+msgid "Connecting to %s:%d... "
+msgstr "Далучэньне да %s:%d... "
+
+#: src/connect.c:331
+msgid "connected.\n"
+msgstr "далучэньне ўсталявана.\n"
+
+#: src/connect.c:343 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "збой: %s.\n"
+
+#: src/connect.c:367 src/http.c:1629
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: немагчыма разьвязаць назву вузла \"%s\"\n"
+
+#: src/convert.c:171
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Пераўтворана %d файлаў за %s сэк.\n"
+
+#: src/convert.c:196
+#, c-format
+msgid "Converting %s... "
+msgstr "Пераўтварэньне %s... "
+
+#: src/convert.c:209
+msgid "nothing to do.\n"
+msgstr "няма чаго рабіць.\n"
+
+#: src/convert.c:217 src/convert.c:241
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Немагчыма пераўтварыць спасылкі ў %s: %s\n"
+
+#: src/convert.c:232
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Немагчыма выдаліць \"%s\": %s\n"
+
+#: src/convert.c:441
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr ""
+
+#: src/cookies.c:444
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr "Сынтаксычная памылка ў Set-Cookie: %s на месцы %d.\n"
+
+#: src/cookies.c:686
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie з %s спрабуе выставіць дамэн у %s\n"
+
+#: src/cookies.c:1133 src/cookies.c:1251
+#, c-format
+msgid "Cannot open cookies file `%s': %s\n"
+msgstr "Немагчыма адчыніць файл печыва \"%s\": %s\n"
+
+#: src/cookies.c:1288
+#, c-format
+msgid "Error writing to `%s': %s\n"
+msgstr "Памылка запісу ў \"%s\": %s\n"
+
+#: src/cookies.c:1291
+#, c-format
+msgid "Error closing `%s': %s\n"
+msgstr "Памылка закрыцьця \"%s\": %s\n"
+
+#: src/ftp-ls.c:837
+msgid "Unsupported listing type, trying Unix listing parser.\n"
+msgstr "Гэты від сьпіса файлаў не падтрымліваецца, спроба ўжыць разбор Unix-сьпісаў.\n"
+
+#: src/ftp-ls.c:883 src/ftp-ls.c:885
+#, c-format
+msgid "Index of /%s on %s:%d"
+msgstr "Зьмест /%s на %s:%d"
+
+#: src/ftp-ls.c:908
+#, c-format
+msgid "time unknown       "
+msgstr "час невядомы       "
+
+#: src/ftp-ls.c:912
+#, c-format
+msgid "File        "
+msgstr "Файл        "
+
+#: src/ftp-ls.c:915
+#, c-format
+msgid "Directory   "
+msgstr "Дырэкторыя  "
+
+#: src/ftp-ls.c:918
+#, c-format
+msgid "Link        "
+msgstr "Лучыва      "
+
+#: src/ftp-ls.c:921
+#, c-format
+msgid "Not sure    "
+msgstr "Ня пэўны    "
+
+#: src/ftp-ls.c:939
+#, c-format
+msgid " (%s bytes)"
+msgstr " (%s байтаў)"
+
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Даўжыня: %s"
+
+#: src/ftp.c:220 src/http.c:2174
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2178
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (неаўтарытэтны)\n"
+
+#. Second: Login with proper USER/PASS sequence.
+#: src/ftp.c:303
+#, c-format
+msgid "Logging in as %s ... "
+msgstr "Уваходжу як %s ... "
+
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
+msgid "Error in server response, closing control connection.\n"
+msgstr "Памылка ў адказе паслужніка; кантрольнае далучэньне зачынена.\n"
+
+#: src/ftp.c:323
+msgid "Error in server greeting.\n"
+msgstr "Памылка ў вітаньні сэрвэра.\n"
+
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
+msgid "Write failed, closing control connection.\n"
+msgstr "Памылка запісу, закрыю кіроўнае злучэньне.\n"
+
+#: src/ftp.c:336
+msgid "The server refuses login.\n"
+msgstr "Сэрвэр адмаўляе ва ўваходзе.\n"
+
+#: src/ftp.c:342
+msgid "Login incorrect.\n"
+msgstr "Уваход не карэктны.\n"
+
+#: src/ftp.c:348
+msgid "Logged in!\n"
+msgstr "Увайшоў!\n"
+
+#: src/ftp.c:370
+msgid "Server error, can't determine system type.\n"
+msgstr "Памылка сэрвэра, немагчыма вызначыць тып сыстэмы.\n"
+
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
+msgid "done.    "
+msgstr "зроблена."
+
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
+msgid "done.\n"
+msgstr "зроблена.\n"
+
+#: src/ftp.c:458
+#, c-format
+msgid "Unknown type `%c', closing control connection.\n"
+msgstr "Невядомы тып `%c', закрыю кіроўнае злучэньне.\n"
+
+#: src/ftp.c:470
+msgid "done.  "
+msgstr "зроблена."
+
+#: src/ftp.c:476
+msgid "==> CWD not needed.\n"
+msgstr "==> CWD непатрэбнае.\n"
+
+#: src/ftp.c:569
+#, c-format
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"Няма такой дырэкторыи \"%s\".\n"
+"\n"
+
+#. do not CWD
+#: src/ftp.c:584
+msgid "==> CWD not required.\n"
+msgstr "==> CWD непатрэбнае.\n"
+
+#: src/ftp.c:644
+msgid "Cannot initiate PASV transfer.\n"
+msgstr "Немагчыма ініцыялізаваць PASV-перадачу.\n"
+
+#: src/ftp.c:648
+msgid "Cannot parse PASV response.\n"
+msgstr "Немагчыма зрабіць разбор PASV адказу.\n"
+
+#: src/ftp.c:665
+#, c-format
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr "немагчыма далучыцца да %s, порт %d: %s\n"
+
+#: src/ftp.c:713
+#, c-format
+msgid "Bind error (%s).\n"
+msgstr "Памылка bind (%s).\n"
+
+#: src/ftp.c:719
+msgid "Invalid PORT.\n"
+msgstr "Нерэчаісны порт.\n"
+
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+
+#: src/ftp.c:826
+#, c-format
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"Файл \"%s\" адсутнічае.\n"
+"\n"
+
+#: src/ftp.c:873
+#, c-format
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"Файл ці тэчка \"%s'\" адсутнічае.\n"
+"\n"
+
+#. We cannot just invent a new name and use it (which is
+#. what functions like unique_create typically do)
+#. because we told the user we'd use this name.
+#. Instead, return and retry the download.
+#: src/ftp.c:935 src/http.c:2236
+#, c-format
+msgid "%s has sprung into existence.\n"
+msgstr ""
+
+#: src/ftp.c:987
+#, c-format
+msgid "%s: %s, closing control connection.\n"
+msgstr "%s: %s, закрыцьцё кантрольнага далучэньня.\n"
+
+#: src/ftp.c:996
+#, c-format
+msgid "%s (%s) - Data connection: %s; "
+msgstr ""
+
+#: src/ftp.c:1011
+msgid "Control connection closed.\n"
+msgstr "Кантрольнае далучэньне зачынена.\n"
+
+#: src/ftp.c:1029
+msgid "Data transfer aborted.\n"
+msgstr "Абарваная перадача даньняў.\n"
+
+#: src/ftp.c:1097
+#, c-format
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "Файл \"%s\" ужо тут і ня будзе выцягвацца.\n"
+
+#: src/ftp.c:1165 src/http.c:2394
+#, c-format
+msgid "(try:%2d)"
+msgstr "(спроба: %2d)"
+
+#: src/ftp.c:1235 src/http.c:2717
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - \"%s\" захавана [%s]\n"
+"\n"
+
+#: src/ftp.c:1277 src/main.c:1005 src/recur.c:378 src/retr.c:860
+#, c-format
+msgid "Removing %s.\n"
+msgstr "Выдаленьне %s.\n"
+
+#: src/ftp.c:1319
+#, c-format
+msgid "Using `%s' as listing tmp file.\n"
+msgstr "Выкарыстаньне \"%s\" у якасьці лістынгу tmp-файла\n"
+
+#: src/ftp.c:1334
+#, c-format
+msgid "Removed `%s'.\n"
+msgstr "Выдалены \"%s\".\n"
+
+#: src/ftp.c:1367
+#, c-format
+msgid "Recursion depth %d exceeded max. depth %d.\n"
+msgstr "Значэньне рэкурсыўнае глыбіні %d большае за найбольшую дазволеную глыбіню %d.\n"
+
+#. Remote file is older, file sizes can be compared and
+#. are both equal.
+#: src/ftp.c:1437
+#, c-format
+msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
+msgstr "Аддалены файл не навейшы за мясцовы файл \"%s\" -- не выцягваецца.\n"
+
+#. Remote file is newer or sizes cannot be matched
+#: src/ftp.c:1444
+#, c-format
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr "Аддалены файл навейшы за мясцовы файл \"%s\" -- выцягваецца.\n"
+
+#. Sizes do not match
+#: src/ftp.c:1451
+#, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"Памеры не супадаюць (мясцовы %s) -- выцягваецца.\n"
+"\n"
+
+#: src/ftp.c:1469
+msgid "Invalid name of the symlink, skipping.\n"
+msgstr "Нерэчаісная назва спасылкі; мінаецца.\n"
+
+#: src/ftp.c:1486
+#, c-format
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Ужо маецца правільная спасылка %s -> %s\n"
+"\n"
+
+#: src/ftp.c:1494
+#, c-format
+msgid "Creating symlink %s -> %s\n"
+msgstr "Стварэньне спасылкі %s -> %s\n"
+
+#: src/ftp.c:1504
+#, c-format
+msgid "Symlinks not supported, skipping symlink `%s'.\n"
+msgstr "Спасылкі не падтрымліваюцца; мінаецца спасылка \"%s\".\n"
+
+#: src/ftp.c:1516
+#, c-format
+msgid "Skipping directory `%s'.\n"
+msgstr "Мінаецца тэчка \"%s\".\n"
+
+#: src/ftp.c:1525
+#, c-format
+msgid "%s: unknown/unsupported file type.\n"
+msgstr "%s: тып файла не падтрымліваецца або невядомы.\n"
+
+#: src/ftp.c:1552
+#, c-format
+msgid "%s: corrupt time-stamp.\n"
+msgstr "%s: пашкоджаны адбітак часу.\n"
+
+#: src/ftp.c:1580
+#, c-format
+msgid "Will not retrieve dirs since depth is %d (max %d).\n"
+msgstr ""
+
+#: src/ftp.c:1630
+#, c-format
+msgid "Not descending to `%s' as it is excluded/not-included.\n"
+msgstr ""
+
+#: src/ftp.c:1696 src/ftp.c:1710
+#, c-format
+msgid "Rejecting `%s'.\n"
+msgstr "Адхіленьне \"%s\".\n"
+
+#. No luck.
+#. #### This message SUCKS.  We should see what was the
+#. reason that nothing was retrieved.
+#: src/ftp.c:1758
+#, c-format
+msgid "No matches on pattern `%s'.\n"
+msgstr "Адсутнічаюць супадзеньні з узорам \"%s\".\n"
+
+#: src/ftp.c:1824
+#, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr ""
+
+#: src/ftp.c:1829
+#, c-format
+msgid "Wrote HTML-ized index to `%s'.\n"
+msgstr ""
+
+#: src/getopt.c:670
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: акалічнасьць \"%s\" зьяўляецца неадназначнай\n"
+
+#: src/getopt.c:695
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: акалічнасьць \"--%s\" не дазваляе довады\n"
+
+#: src/getopt.c:700
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: акалічнасьць \"%c%s\" не дазваляе довады\n"
+
+#: src/getopt.c:718 src/getopt.c:891
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: акалічнасьць \"%s\" патрабуе довад\n"
+
+#. --option
+#: src/getopt.c:747
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: нераспазнаная акалічнасьць \"--%s\"\n"
+
+#. +option or -option
+#: src/getopt.c:751
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: нераспазнаная акалічнасьць \"%c%s\"\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:777
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: src/getopt.c:780
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: недапушчальная опцыя -- %c\n"
+
+#. 1003.2 specifies the format of this message.
+#: src/getopt.c:810 src/getopt.c:940
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: опцыя патрабуе аргумэнт -- %c\n"
+
+#: src/getopt.c:857
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: опцыя  \"-W %s\" зьяўляецца неадназначнай\n"
+
+#: src/getopt.c:875
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: опцыя \"-W %s\" не дазваляе аргумэнты\n"
+
+#: src/host.c:348
+msgid "Unknown host"
+msgstr "Невядомы вузел"
+
+#. Message modeled after what gai_strerror returns in similar
+#. circumstances.
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
+
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Невядомая памылка"
+
+#: src/host.c:715
+#, c-format
+msgid "Resolving %s... "
+msgstr "Пошук %s... "
+
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
+
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr "збой: скончыўся час.\n"
+
+#: src/html-url.c:289
+#, c-format
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr ""
+
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr ""
+
+#: src/http.c:368
+#, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Памылка запісу HTTP зварота: %s.\n"
+
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr "Адсутнічаюць загалоўкі; верагодна, HTTP/0.9"
+
+#: src/http.c:1414
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
+
+#: src/http.c:1567
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1616
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Паўторнае выкарыстаньне далучэньня да %s:%hu.\n"
+
+#: src/http.c:1684
+#, c-format
+msgid "Failed reading proxy response: %s\n"
+msgstr "Памылка чытаньня адказу проксі: %s.\n"
+
+#: src/http.c:1704
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr "Збой проксі-тунэлю: %s"
+
+#: src/http.c:1749
+#, c-format
+msgid "%s request sent, awaiting response... "
+msgstr "%s зварот дасланы, чакаецца адказ... "
+
+#: src/http.c:1760
+msgid "No data received.\n"
+msgstr "Даныя не атрыманы.\n"
+
+#: src/http.c:1767
+#, c-format
+msgid "Read error (%s) in headers.\n"
+msgstr "Памылка чытаньня (%s) у загалоўках.\n"
+
+#. If opt.noclobber is turned on and file already exists, do not
+#. retrieve the file
+#: src/http.c:1813
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Файл \"%s\" ужо тут і ня будзе выцягвацца.\n"
+"\n"
+
+#. If the authentication header is missing or
+#. unrecognized, there's no sense in retrying.
+#: src/http.c:1966
+msgid "Unknown authentication scheme.\n"
+msgstr "Невядомая схема аўтарызаваньня.\n"
+
+#: src/http.c:1997
+msgid "Authorization failed.\n"
+msgstr "Збой аўтарызаваньня.\n"
+
+#: src/http.c:2011
+msgid "Malformed status line"
+msgstr "Дрэннаскладзены радок стану"
+
+#: src/http.c:2013
+msgid "(no description)"
+msgstr "(апісаньне адсутнічае)"
+
+#: src/http.c:2076
+#, c-format
+msgid "Location: %s%s\n"
+msgstr "Знаходжаньне: %s%s\n"
+
+#: src/http.c:2077 src/http.c:2184
+msgid "unspecified"
+msgstr "незаданы"
+
+#: src/http.c:2078
+msgid " [following]"
+msgstr ""
+
+#. If `-c' is in use and the file has been fully downloaded (or
+#. the remote file has shrunk), Wget effectively requests bytes
+#. after the end of file and the server response with 416.
+#: src/http.c:2134
+msgid ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+msgstr ""
+"\n"
+"    Файл ужо цалкам атрыманы; рабіць нічога ня трэба.\n"
+"\n"
+
+#. No need to print this output if the body won't be
+#. downloaded at all, or if the original server response is
+#. printed.
+#: src/http.c:2164
+msgid "Length: "
+msgstr "Даўжыня: "
+
+#: src/http.c:2184
+msgid "ignored"
+msgstr "праігнаравана"
+
+#: src/http.c:2255
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Захаваньне ў \"%s\".\n"
+
+#: src/http.c:2336
+msgid "Warning: wildcards not supported in HTTP.\n"
+msgstr "Увага! Узоры не падтрымліваюцца ў HTTP.\n"
+
+#: src/http.c:2383
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
+
+#: src/http.c:2468
+#, c-format
+msgid "Cannot write to `%s' (%s).\n"
+msgstr "Немагчыма запісаць у \"%s\" (%s).\n"
+
+#. Another fatal error.
+#: src/http.c:2477
+msgid "Unable to establish SSL connection.\n"
+msgstr "Немагчыма ўсталяваць SSL злучэньне.\n"
+
+#: src/http.c:2485
+#, c-format
+msgid "ERROR: Redirection (%d) without location.\n"
+msgstr "ПАМЫЛКА: перанакіраваньне (%d) без знаходжаньня.\n"
+
+#: src/http.c:2531
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2536
+#, c-format
+msgid "%s ERROR %d: %s.\n"
+msgstr "%s ПАМЫЛКА %d: %s.\n"
+
+#: src/http.c:2552
+msgid "Last-modified header missing -- time-stamps turned off.\n"
+msgstr ""
+
+#: src/http.c:2560
+msgid "Last-modified header invalid -- time-stamp ignored.\n"
+msgstr ""
+
+#: src/http.c:2590
+#, c-format
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+
+#: src/http.c:2598
+#, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "Памеры не супадаюць (мясцовы %s) -- выцягваем.\n"
+
+#: src/http.c:2605
+msgid "Remote file is newer, retrieving.\n"
+msgstr "Аддалены файл навейшы, загружаю.\n"
+
+#: src/http.c:2621
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- retrieving.\n"
+"\n"
+msgstr "Аддалены файл навейшы за мясцовы файл \"%s\" -- выцягваецца.\n"
+
+#: src/http.c:2626
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Аддалены файл не навейшы за мясцовы файл \"%s\" -- не выцягваецца.\n"
+
+#: src/http.c:2634
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Аддалены файл не навейшы за мясцовы файл \"%s\" -- не выцягваецца.\n"
+
+#: src/http.c:2686
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' захавана [%s/%s]\n"
+"\n"
+
+#: src/http.c:2741
+#, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - злучэньне закрыта на байце %s. "
+
+#: src/http.c:2756
+#, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) - памылка чытаньня на байце %s (%s)."
+
+#: src/http.c:2765
+#, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) - памылка чытаньня на байце %s/%s (%s). "
+
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr "%s: WGETRC спасылаецца на %s, але ён(яна) адсутнічае.\n"
+
+#: src/init.c:450 src/netrc.c:267
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
+msgstr "%s: Немагчыма прачытаць %s (%s).\n"
+
+#: src/init.c:468
+#, c-format
+msgid "%s: Error in %s at line %d.\n"
+msgstr "%s: Памылка ў %s, радок %d.\n"
+
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Памылка ў %s, радок %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: ХІБА: невядомая каманда `%s', значэньне `%s'.\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr ""
+
+#: src/init.c:677
+#, fuzzy, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: %s: нерэчаісны загад\n"
+
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Вызначы, калі ласка, уключана (on) ці выключана (off).\n"
+
+#: src/init.c:739
+#, fuzzy, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: нерэчаісны загад\n"
+
+#: src/init.c:970 src/init.c:989
+#, fuzzy, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: нерэчаісны загад\n"
+
+#: src/init.c:1014
+#, fuzzy, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: нерэчаісны загад\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, fuzzy, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: нерэчаісны загад\n"
+
+#: src/init.c:1105
+#, fuzzy, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: нерэчаісны загад\n"
+
+#: src/init.c:1171
+#, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr ""
+
+#: src/init.c:1230
+#, c-format
+msgid "%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],[nocontrol].\n"
+msgstr ""
+
+#: src/log.c:784
+#, c-format
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+
+#. Eek!  Opening the alternate log file has failed.  Nothing we
+#. can do but disable printing completely.
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Даньні не атрыманы"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr ""
+
+#: src/main.c:358
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Выкарыстаньне: %s [АКАЛІЧНАСЬЦЬ]... [URL]...\n"
+
+#: src/main.c:370
+#, fuzzy
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"\n"
+"Довады, абавязкоўвыя для доўгіх выбараў, абавязковыя й для кароткіх.\n"
+"\n"
+
+#: src/main.c:372
+msgid "Startup:\n"
+msgstr "Запуск:\n"
+
+#: src/main.c:374
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:376
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:378
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:380
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:384
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:386
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:388
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:391
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:395
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:398
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:400
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:402
+msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+
+#: src/main.c:404
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr ""
+
+#: src/main.c:406
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr ""
+
+#: src/main.c:408
+msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:412
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:414
+msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
+msgstr ""
+
+#: src/main.c:416
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:418
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:420
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:423
+msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
+msgstr ""
+
+#: src/main.c:425
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:427
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:430
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:432
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:434
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:436
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:438
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:440
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:442
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:444
+msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+msgstr ""
+
+#: src/main.c:446
+msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+msgstr ""
+
+#: src/main.c:448
+msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+msgstr ""
+
+#: src/main.c:450
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:452
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:454
+msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
+msgstr ""
+
+#: src/main.c:456
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:458
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:460
+msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "       --ignore-case             ignore case when matching files/directories.\n"
+msgstr ""
+
+#: src/main.c:465
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:467
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:469
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:473
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:475
+msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:479
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Каталёг     "
+
+#: src/main.c:481
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:483
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:485
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:487
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:489
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:491
+msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
+msgstr ""
+
+#: src/main.c:495
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:497
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:499
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:501
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:503
+msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:505
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:507
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:509
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:511
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:513
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:515
+msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+msgstr ""
+
+#: src/main.c:517
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:519
+msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:521
+msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+msgstr ""
+
+#: src/main.c:523
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:525
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:527
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:529
+msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
+msgstr ""
+
+#: src/main.c:531
+msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
+msgstr ""
+
+#: src/main.c:533
+msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:535
+msgid "       --no-content-disposition  don't honor Content-Disposition header.\n"
+msgstr ""
+
+#: src/main.c:540
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:542
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+msgstr ""
+
+#: src/main.c:561
+msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+msgstr ""
+
+#: src/main.c:580
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:586
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:588
+msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+msgstr ""
+
+#: src/main.c:590
+msgid "       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+msgstr ""
+
+#: src/main.c:594
+msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+msgstr ""
+
+#: src/main.c:600
+msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+msgstr ""
+
+#: src/main.c:604
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:606
+msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:628
+msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:632
+msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+msgstr "Лістуйце паведамленьні аб памылках і пажаданьні на <bug-wget@gnu.org>.\n"
+
+#: src/main.c:637
+#, c-format
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "Неінтэрактыўны сеткавы выцягвальнік GNU Wget %s.\n"
+
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2007 Free Software Foundation, Inc.\n"
+msgstr "Аўтарскія правы © 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: src/main.c:684
+#, fuzzy
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Першы аўтар -- Hrvoje Niksic <hniksic@arsdigita.com>.\n"
+
+#: src/main.c:686
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#. #### Something nicer should be printed here -- similar to the
+#. pre-1.5 `--help' page.
+#: src/main.c:733 src/main.c:802 src/main.c:899
+#, c-format
+msgid "Try `%s --help' for more options.\n"
+msgstr "Паспрабуйце \"%s --help\", каб атрымаць больш акалічнасьцяў.\n"
+
+#: src/main.c:799
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: недапушчальная акалічнасьць -- \"-n%c\"\n"
+
+#: src/main.c:854
+#, c-format
+msgid "Can't be verbose and quiet at the same time.\n"
+msgstr "Немагчыма адначасова быць падрабязным і маўклівым.\n"
+
+#: src/main.c:860
+#, c-format
+msgid "Can't timestamp and not clobber old files at the same time.\n"
+msgstr ""
+
+#: src/main.c:868
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:878
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:886
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#. No URL specified.
+#: src/main.c:894
+#, c-format
+msgid "%s: missing URL\n"
+msgstr "%s: прапушчаны URL\n"
+
+#: src/main.c:1020
+#, c-format
+msgid "No URLs found in %s.\n"
+msgstr "Ня знойдзены URL у %s.\n"
+
+#: src/main.c:1038
+#, c-format
+msgid ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+msgstr ""
+"ЗАВЕРШАНА --%s--\n"
+"Выгружана: %d файлаў, %s у %s (%s)\n"
+
+#: src/main.c:1047
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Абмежаваньне выгрузкі (%s байтаў) вычарпана!\n"
+
+#: src/mswindows.c:98
+#, c-format
+msgid "Continuing in background.\n"
+msgstr "Праца працягваецца ў тле.\n"
+
+#: src/mswindows.c:291
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Праца працягваецца ў тле, pid %d.\n"
+
+#: src/mswindows.c:293 src/utils.c:330
+#, c-format
+msgid "Output will be written to `%s'.\n"
+msgstr "Вывад будзе скіраваны ў  \"%s\".\n"
+
+#: src/mswindows.c:461 src/mswindows.c:468
+#, c-format
+msgid "%s: Couldn't find usable socket driver.\n"
+msgstr ""
+
+#: src/netrc.c:375
+#, c-format
+msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
+msgstr ""
+
+#: src/netrc.c:406
+#, c-format
+msgid "%s: %s:%d: unknown token \"%s\"\n"
+msgstr ""
+
+#: src/netrc.c:470
+#, c-format
+msgid "Usage: %s NETRC [HOSTNAME]\n"
+msgstr ""
+
+#: src/netrc.c:480
+#, c-format
+msgid "%s: cannot stat %s: %s\n"
+msgstr ""
+
+#. Still not random enough, presumably because neither /dev/random
+#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
+#. PRNG.  This is cryptographically weak and defeats the purpose
+#. of using OpenSSL, which is why it is highly discouraged.
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr ""
+
+#. If the user has specified --no-check-cert, we still want to warn
+#. him about problems with the server's certificate.
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr "ПАМЫЛКА"
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr "УВАГА"
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#. Align the [ skipping ... ] line with the dots.  To do
+#. that, insert the number of spaces equal to the number of
+#. digits in the skipped amount in K.
+#: src/progress.c:239
+#, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+
+#: src/progress.c:453
+#, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr ""
+
+#. Translation note: "ETA" is English-centric, but this must
+#. be short, ideally 3 chars.  Abbreviate if necessary.
+#: src/progress.c:947
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#. When the download is done, print the elapsed time.
+#. Note to translators: this should not take up more room than
+#. available here.  Abbreviate if necessary.
+#: src/progress.c:962
+msgid "   in "
+msgstr ""
+
+#. If no clock was found, it means that clock_getres failed for
+#. the realtime clock.
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
+#, c-format
+msgid "Removing %s since it should be rejected.\n"
+msgstr ""
+
+#: src/res.c:392
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Немагчыма адкрыць %s: %s"
+
+#: src/res.c:544
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "Загружаецца robots.txt; калі ласка, не зьвяртайце ўвагі на памылкі.\n"
+
+#: src/retr.c:652
+#, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "Памылка разбору URL паўнамоцнага паслужніка %s: %s.\n"
+
+#: src/retr.c:660
+#, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Памылка ў URL паўнамоцнага паслужніка %s: мусіць быць HTTP.\n"
+
+#: src/retr.c:746
+#, c-format
+msgid "%d redirections exceeded.\n"
+msgstr "перавышэньне колькасьці перанакіраваньняў (%d).\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Здаемся.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Паўтараем спробу.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
+msgid "No error"
+msgstr "Памылкі няма"
+
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr "Схема не падтрымліваецца"
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Нерэчаісная назва вузла"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr "Кепскі нумар порта"
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr "Нерэчаісная ўліковае імя"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr "Незавершаны адрас IPv6"
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr "Адрасы IPv6 не падтрымліваюцца"
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr "Кепскі адрас IPv6"
+
+#. parent, no error
+#: src/utils.c:328
+#, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "Праца працягваецца ў тле, pid %d.\n"
+
+#: src/utils.c:376
+#, c-format
+msgid "Failed to unlink symlink `%s': %s\n"
+msgstr "Немагчыма выдаліць спасылку \"%s\": %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Памылка ў Set-Cookie, поле \"%s\""
+
+#~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
+#~ msgstr "Сынтаксычная памылка ў Set-Cookie на знаку \"%c\".\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s засталося]"
+
+#~ msgid "Host not found"
+#~ msgstr "Вузел ня знойдзен"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Немагчыма наладзіць кантэкст SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Немагчыма загрузіць пасьведчаньні з %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Спроба без заданага пасьведчаньня\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Немагчыма атрымаць ключ пасьведчаньня з %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "EOF (канец файла) пад час разбору загалоўкаў.\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s засталося)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Файл \"%s\" ужо тутака й ня будзе выцягвацца.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' захавана [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Злучэньне закрыта на байце %ld/%ld. "
+
+#~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
+#~ msgstr "%s: %s: Немагчыма пераўтварыць `%s' у адрас IP.\n"
+
+#~ msgid "%s: %s: Please specify always, on, off, or never.\n"
+#~ msgstr "%s: %s: Вызначы, калі ласка, заўжды (always), уключана (on), выключана (off) ці ніколі (never).\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Запуск:\n"
+#~ "  -V,  --version           адлюстраваць вэрсыю Wget і выйсьці.\n"
+#~ "  -h,  --help              надрукаваць гэтую даведку.\n"
+#~ "  -b,  --background        перайсьці ў тло пасьля запуску.\n"
+#~ "  -e,  --execute=ЗАГАД     выканаць загад у стылі \".wgetrc\".\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: праграма зкампілявана без падтрымкі адладкі.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Гэтая праграма разпаўсюджваецца з надзеяй, што яна будзе карыснай,\n"
+#~ "але БЕЗЬ НІЯКАЕ ГАРАНТЫІ; нават без гарантыі КАШТОЎНАСЬЦІ ці\n"
+#~ "ПРЫДАТНАСЬЦІ ДЛЯ КАНКРЭТНАЕ МЭТЫ. Глядзі падрабязнасьці ў Аснонай\n"
+#~ "Публічнай Лцэнзіі GNU (GNU GPL).\n"
+
+#~ msgid "Could not find proxy host.\n"
+#~ msgstr "Немагчыма адшукаць вузел паўнамоцнага паслужніка.\n"
+
+#~ msgid "%s: Redirection cycle detected.\n"
+#~ msgstr "%s: знойдзены цыкал перанакіроўваньня.\n"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: нестае памяці.\n"
index 356ebfa5703208fa016e81b35846248bd179fb01..af3a9b98717a0a1b2452140046c8977b356e6770 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.8.1\n"
-"POT-Creation-Date: 2001-12-17 16:30+0100\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2002-03-18 03:11\n"
 "Last-Translator: Yassen Roussev <slona@bulgaria.com>\n"
 "Language-Team: Bulgarian <bg@bulgaria.com>\n"
@@ -15,140 +16,261 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:94
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Установяване на контакт с %s[%s]:%hu... "
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: опцията `%s' е многозначна\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: опцията `--%s' не позволява аргумент\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: опцията `%c%s' не позволява аргумент\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: опцията `%s' изисква аргумент\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: неразпозната опция `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: неразпозната опция `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: невалидна опция -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, fuzzy, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: невалидна опция -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: опцията изисква аргумент -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, fuzzy, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: опцията `%s' е многозначна\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, fuzzy, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: опцията `--%s' не позволява аргумент\n"
 
-#: src/connect.c:97
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Установяване на контакт с %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Установяване на контакт с %s:%hu... "
 
-#: src/connect.c:131
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "успешно свързване.\n"
 
-#: src/cookies.c:595
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "неуспя: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Немога да изтрия `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Преобразувах %d файла за %.2f секунди.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Преобразувам %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "няма друга задача.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Немога да преобразувам линковете в %s: %s\n"
+
+#: src/convert.c:233
 #, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Ð\93Ñ\80еÑ\88ка Ð² Set-Cookie, Ð¿Ð¾Ð»Ðµ `%s'"
+msgid "Unable to delete `%s': %s\n"
+msgstr "Ð\9dемога Ð´Ð° Ð¸Ð·Ñ\82Ñ\80иÑ\8f `%s': %s\n"
 
-#: src/cookies.c:619
+#: src/convert.c:442
 #, c-format
-msgid "Syntax error in Set-Cookie at character `%c'.\n"
-msgstr "СинÑ\82акÑ\82иÑ\87на Ð³Ñ\80еÑ\88ка Ð¿Ñ\80и Ð¾Ð¿ÐµÑ\80аÑ\86иÑ\8f Set-Cookie, Ð¿Ñ\80и `%c'.\n"
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Ð\9dемога Ð´Ð° Ð¿Ð¾Ð´Ñ\81игÑ\83Ñ\80Ñ\8f %s ÐºÐ°Ñ\82о %s: %s\n"
 
-#: src/cookies.c:627
-msgid "Syntax error in Set-Cookie: premature end of string.\n"
+#: src/cookies.c:443
+#, fuzzy, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Синтактична грешка при операция Set-Cookie: неправилен низ.\n"
 
-#: src/cookies.c:1329
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Не мога да отворя cookies файла \"cookies\", `%s': %s\n"
 
-#: src/cookies.c:1341
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Грешка при запис на `%s': %s\n"
 
-#: src/cookies.c:1345
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Грешка при затваряне на `%s': %s\n"
 
 # ^ msgstr "Грешка при затваряне на `%s': %s\n"
-#: src/ftp-ls.c:802
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Неподдържан вид листинг, пробвам с друг Unix листинг превождач.\n"
 
-#: src/ftp-ls.c:847 src/ftp-ls.c:849
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Индекс от /%s върху %s:%d"
 
-#: src/ftp-ls.c:871
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "неизвестно време   "
 
-#: src/ftp-ls.c:875
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Файл        "
 
-#: src/ftp-ls.c:878
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Директория     "
 
-#: src/ftp-ls.c:881
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Линк      "
 
-#: src/ftp-ls.c:884
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Не съм сигурен    "
 
-#: src/ftp-ls.c:902
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s байта)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:179
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Дължина: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (недостоверно)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Логвам се като %s ... "
 
-#: src/ftp.c:188 src/ftp.c:241 src/ftp.c:272 src/ftp.c:326 src/ftp.c:419 src/ftp.c:470 src/ftp.c:500 src/ftp.c:564 src/ftp.c:628 src/ftp.c:689 src/ftp.c:737
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Сървърът праща съобщение за грешка, спирам управляващата връзка.\n"
 
-#: src/ftp.c:196
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Грешка при ръкуването със сървъра.\n"
 
-#: src/ftp.c:204 src/ftp.c:335 src/ftp.c:428 src/ftp.c:509 src/ftp.c:574 src/ftp.c:638 src/ftp.c:699 src/ftp.c:747
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Писането се провали, прекъсвам управляващата връзка.\n"
 
-#: src/ftp.c:211
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Сървърът не приема логин.\n"
 
-#: src/ftp.c:218
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Неправилен логин.\n"
 
-#: src/ftp.c:225
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Успешно логване!\n"
 
-#: src/ftp.c:250
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Грешка при сървъра, не мога да определя вида система .\n"
 
-#: src/ftp.c:260 src/ftp.c:549 src/ftp.c:612 src/ftp.c:669
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "готово.    "
 
-#: src/ftp.c:314 src/ftp.c:449 src/ftp.c:484 src/ftp.c:720 src/ftp.c:768 src/host.c:283
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "готово.\n"
 
-#: src/ftp.c:343
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Непознат тип `%c', спирам управляващата връзка.\n"
 
-#: src/ftp.c:356
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "готово.  "
 
-#: src/ftp.c:362
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD не е необходимо.\n"
 
-#: src/ftp.c:435
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -157,43 +279,33 @@ msgstr ""
 "Няма такава директория `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:453
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD не е необходимо.\n"
 
-#: src/ftp.c:516
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Не мога да започна пасивен трансфер.\n"
 
-#: src/ftp.c:520
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Не мога да разбера PASV отговора.\n"
 
-#: src/ftp.c:541
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "немога да се свържа към %s:%hu: %s\n"
 
-#: src/ftp.c:591
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Грешка при свързване (%s).\n"
 
-#: src/ftp.c:598
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Невалиден порт.\n"
 
-#: src/ftp.c:651
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"Грешка при REST; няма да прекъсна `%s'.\n"
-
-#: src/ftp.c:658
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -201,7 +313,7 @@ msgstr ""
 "\n"
 "Грешка при REST, започвам отначало.\n"
 
-#: src/ftp.c:707
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -210,7 +322,7 @@ msgstr ""
 "Няма такъв файл `%s'.\n"
 "\n"
 
-#: src/ftp.c:755
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -219,105 +331,92 @@ msgstr ""
 "Няма такъв файл или директория `%s'.\n"
 "\n"
 
-#: src/ftp.c:839 src/ftp.c:847
-#, c-format
-msgid "Length: %s"
-msgstr "Дължина: %s"
-
-#: src/ftp.c:841 src/ftp.c:849
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [Остават %s]"
-
-#: src/ftp.c:851
-msgid " (unauthoritative)\n"
-msgstr " (недостоверно)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:877
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, спирам управляващата връзка.\n"
 
-#: src/ftp.c:885
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Връзка за данни: %s: "
 
-#: src/ftp.c:902
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Основната връзка бе затворена.\n"
 
-#: src/ftp.c:920
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Трансферът бе прекъснат.\n"
 
-#: src/ftp.c:984
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Файлът `%s' е вече тук, няма да го тегля.\n"
 
-#: src/ftp.c:1054 src/http.c:1527
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(опит:%2d)"
 
-#: src/ftp.c:1118 src/http.c:1786
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' записан [%ld]\n"
 "\n"
 
-#: src/ftp.c:1160 src/main.c:819 src/recur.c:349 src/retr.c:587
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Премахвам %s.\n"
 
-#: src/ftp.c:1202
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Ползвам `%s' като временен списък файл.\n"
 
-#: src/ftp.c:1217
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Премахвам `%s'.\n"
 
-#: src/ftp.c:1252
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Дълбочина на рекурсията %d надвишава макс. дълбочина %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1317
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Файлът от сървъра не е по-нов от местния `%s' -- не продължавам.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1324
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr "Файлът на сървъра е по-нов от местния `%s' -- започвам да тeгля.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1331
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr "Големината не съвпада (местен %ld) -- започвам да тeгля.\n"
 
-#: src/ftp.c:1348
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Невалидно име на символична връзка, пропускам.\n"
 
-#: src/ftp.c:1365
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -326,216 +425,188 @@ msgstr ""
 "Символичната връзка е вече поправена %s -> %s.\n"
 "\n"
 
-#: src/ftp.c:1373
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Създавам символична връзка %s -> %s\n"
 
-#: src/ftp.c:1384
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Символичните връзки не са поддържат, пропускам `%s'.\n"
 
-#: src/ftp.c:1396
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Пропускам директория `%s'.\n"
 
-#: src/ftp.c:1405
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: неизвестен/неподдържан вид файл.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: недостоверен времеви печат.\n"
 
-#: src/ftp.c:1457
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Няма да тегля директории, защото дълбочината е %d (максимум %d).\n"
 
-#: src/ftp.c:1507
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Не влизам в `%s', тъй като тя е изключенa/не е включенa.\n"
 
-#: src/ftp.c:1561
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Отказвам `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1608
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Грешка при запис на `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Няма съвпадения за пример `%s'.\n"
 
-#: src/ftp.c:1673
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Записах HTML-изиран индекс в `%s' [%ld].\n"
 
-#: src/ftp.c:1678
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Записах HTML-изиран индекс в `%s'.\n"
 
-#: src/gen_sslfunc.c:109
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Не мога да намеря OpenSSL PRNG; продължавам без SSL.\n"
-
-#: src/getopt.c:454
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: опцията `%s' е многозначна\n"
-
-#: src/getopt.c:478
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: опцията `--%s' не позволява аргумент\n"
-
-#: src/getopt.c:483
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: опцията `%c%s' не позволява аргумент\n"
-
-#: src/getopt.c:498
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: опцията `%s' изисква аргумент\n"
-
-#. --option
-#: src/getopt.c:528
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: неразпозната опция `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:532
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: неразпозната опция `%c%s'\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Непозната грешка"
 
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:563
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: невалидна опция -- %c\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:602
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: опцията изисква аргумент -- %c\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Непозната грешка"
 
-#: src/host.c:271
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Преобразувам %s... "
 
-#: src/host.c:278
-#, c-format
-msgid "failed: %s.\n"
-msgstr "неуспя: %s.\n"
-
-#: src/host.c:348
-msgid "Host not found"
-msgstr "Хостът не бе открит"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:350
-msgid "Unknown error"
-msgstr "Непозната грешка"
+#: src/host.c:785
+#, fuzzy
+msgid "failed: timed out.\n"
+msgstr "неуспя: %s.\n"
 
-#: src/html-url.c:336
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Не мога да изасня несъвършенния линк %s.\n"
 
-#. this is fatal
-#: src/http.c:573
-msgid "Failed to set up an SSL context\n"
-msgstr "Неуспех при установяване на SSL контекст\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Невалидна спецификация `%s'\n"
 
-#: src/http.c:579
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Неуспех при зареждане на сертификати от %s\n"
-
-#: src/http.c:583 src/http.c:591
-msgid "Trying without the specified certificate\n"
-msgstr "Опитвам без указаният сертификат\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Неуспех при запис на HTTP искане: %s.\n"
 
-#: src/http.c:587
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Неуспех при взимане на ключа към сертификата от %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:657 src/http.c:1620
-msgid "Unable to establish SSL connection.\n"
-msgstr "Немога да установя SSL връзка.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:666
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Използване на вече установена връзка към %s:%hu.\n"
 
-#: src/http.c:868
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Неуспех при запис на HTTP искане: %s.\n"
 
-#: src/http.c:873
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s изпратено искане, чакам отговор... "
 
-#: src/http.c:917
-msgid "End of file while parsing headers.\n"
-msgstr "Край на файла (EOF), докато превеждах заглавките.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Не се получават данни"
 
-#: src/http.c:927
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Грешка при четене (%s) в заглавките.\n"
 
-#: src/http.c:962
-msgid "No data received"
-msgstr "Не се получават данни"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Файлът `%s' е вече тук, няма да го тегля.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Непознат начин на удостоверение.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Грешка при удостоверяване.\n"
 
-#: src/http.c:964
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Деформиран статус"
 
-#: src/http.c:969
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(без описание)"
 
-#: src/http.c:1101
-msgid "Authorization failed.\n"
-msgstr "Грешка при удостоверяване.\n"
-
-#: src/http.c:1108
-msgid "Unknown authentication scheme.\n"
-msgstr "Непознат начин на удостоверение.\n"
-
-#: src/http.c:1148
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Адрес: %s%s\n"
 
-#: src/http.c:1149 src/http.c:1282
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "неопределен"
 
-#: src/http.c:1150
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [следва]"
 
-#: src/http.c:1213
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -545,174 +616,202 @@ msgstr ""
 "    Файлът е вече изтеглен; няма друга задача.\n"
 "\n"
 
-#: src/http.c:1229
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Продълженият трансфер на този файл неуспя, конфликт с `-c'.\n"
-"Отказвам да презапиша съществуващият файл `%s'.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1272
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Дължина: "
 
-#: src/http.c:1277
-#, c-format
-msgid " (%s to go)"
-msgstr " (остават %s)"
-
-#: src/http.c:1282
+#: src/http.c:2193
 msgid "ignored"
 msgstr "игнориран"
 
-#: src/http.c:1413
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Пропускам директория `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Внимание: уайлдкардс не се поддържат в HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1443
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Файлът `%s' вече съществува, няма нов запис.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1611
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Немога да запиша върху `%s' (%s).\n"
 
-#: src/http.c:1630
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Немога да установя SSL връзка.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ГРЕШКА: Пре-адресация (%d) без установен адрес.\n"
 
-#: src/http.c:1662
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ГРЕШКА: %d: %s.\n"
 
-#: src/http.c:1675
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Заглавката съдържаща информация относно последна промяна липсва -- полето за дата се изключва.\n"
+msgstr ""
+"Заглавката съдържаща информация относно последна промяна липсва -- полето за "
+"дата се изключва.\n"
 
-#: src/http.c:1683
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Заглавката съдържаща информация относно последна промяна е невалиднa -- полето за дата се игнорира.\n"
+msgstr ""
+"Заглавката съдържаща информация относно последна промяна е невалиднa -- "
+"полето за дата се игнорира.\n"
 
-#: src/http.c:1706
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr "Файлът на сървъра не е по-нов от този на диска `%s' -- спирам.\n"
 
-#: src/http.c:1714
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Големините не съвпадат (местен %ld) -- продължавам.\n"
 
-#: src/http.c:1718
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Файлът на сървъра е по-нов, продължавам.\n"
 
-#: src/http.c:1759
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
-msgstr ""
-"%s (%s) - `%s' записан [%ld/%ld]\n"
+msgstr "Файлът на сървъра е по-нов от местния `%s' -- започвам да тeгля.\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
 "\n"
+msgstr "Файлът от сървъра не е по-нов от местния `%s' -- не продължавам.\n"
 
-#: src/http.c:1809
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Връзката бе преустановена при байт %ld. "
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Файлът от сървъра не е по-нов от местния `%s' -- не продължавам.\n"
 
-#: src/http.c:1818
-#, c-format
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' записан [%ld/%ld])\n"
+"%s (%s) - `%s' записан [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:1839
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Връзката бе преустановена при байт %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Връзката бе преустановена при байт %ld. "
 
-#: src/http.c:1851
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Грешка при четене, байт %ld (%s)."
 
-#: src/http.c:1860
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Грешка при четене, байт %ld/%ld (%s). "
 
-#: src/init.c:355 src/netrc.c:265
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr ""
+
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Немога да прочета %s (%s).\n"
 
-#: src/init.c:373 src/init.c:379
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Грешка при %s в ред %d.\n"
 
-#: src/init.c:411
-#, c-format
-msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Ð\92нимание: Ð¡Ð¸Ñ\81Ñ\82емниÑ\8fÑ\82 wgetrc Ð¸ Ð»Ð¸Ñ\87ниÑ\8fÑ\82 Ñ\81оÑ\87аÑ\82 ÐºÑ\8aм `%s'.\n"
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и %s Ð² Ñ\80ед %d.\n"
 
-#: src/init.c:503
-#, c-format
-msgid "%s: BUG: unknown command `%s', value `%s'.\n"
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: БЪГ: непозната команда `%s', стойност `%s'.\n"
 
-#: src/init.c:537
+#: src/init.c:524
 #, c-format
-msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
-msgstr "%s: %s: Не мога да преобразувам `%s' в IP адрес.\n"
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr "%s: Внимание: Системният wgetrc и личният сочат към `%s'.\n"
 
-#: src/init.c:570
-#, c-format
-msgid "%s: %s: Please specify on or off.\n"
+#: src/init.c:677
+#, fuzzy, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Невалидна спецификация `%s'\n"
+
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Моля определете on или off.\n"
 
-#: src/init.c:614
-#, c-format
-msgid "%s: %s: Please specify always, on, off, or never.\n"
-msgstr "%s: %s: Ð\9cолÑ\8f Ð¾Ð¿Ñ\80еделеÑ\82е always, on, off Ð¸Ð»Ð¸ never.\n"
+#: src/init.c:739
+#, fuzzy, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Ð\9dевалидна Ñ\81пеÑ\86иÑ\84икаÑ\86иÑ\8f `%s'.\n"
 
-#: src/init.c:633 src/init.c:900 src/init.c:981
-#, c-format
-msgid "%s: %s: Invalid specification `%s'.\n"
+#: src/init.c:970 src/init.c:989
+#, fuzzy, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Невалиден вид напредък `%s'.\n"
+
+#: src/init.c:1014
+#, fuzzy, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Невалидна спецификация `%s'.\n"
 
-#: src/init.c:789 src/init.c:811 src/init.c:833 src/init.c:859
-#, c-format
-msgid "%s: Invalid specification `%s'\n"
-msgstr "%s: Невалидна спецификация `%s'\n"
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, fuzzy, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Невалидна спецификация `%s'.\n"
 
-#: src/init.c:949
+#: src/init.c:1105
+#, fuzzy, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Невалидна спецификация `%s'.\n"
+
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Невалиден вид напредък `%s'.\n"
 
-#: src/log.c:641
+#: src/init.c:1230
+#, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+
+#: src/log.c:784
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -721,429 +820,818 @@ msgstr ""
 "\n"
 "%s получени, пре-адресиране на резултата към `%%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:648
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Не се получават данни"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; спирам записването.\n"
 
-#: src/main.c:116
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Употреба: %s [ОПЦИЯ]... [УРЛ]...\n"
 
-#: src/main.c:124
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, не-интерактивен мрежов софтуеър за трансфер.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:129
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
 "\n"
-"Задължителните аргументи за опции в дълъг вид, са задължителни и за тези в опростен вид.\n"
+"Задължителните аргументи за опции в дълъг вид, са задължителни и за тези в "
+"опростен вид.\n"
 "\n"
 
-#: src/main.c:133
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Пускане:\n"
-"  -V,  --version           показва версията на Wget и излиза.\n"
-"  -h,  --help              показва тeзи помощни редове.\n"
-"  -b,  --background        преминава в заден план.\n"
-"  -e,  --execute=КОМАНДА   изпълнява `.wgetrc'-тип команда.\n"
-"\n"
 
-#: src/main.c:140
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"Записване и входови файл:\n"
-"  -o,  --output-file=ФАЙЛ     записва съобщенията във ФАЙЛ.\n"
-"  -a,  --append-output=ФАЙЛ   добавя съобщенията във ФАЙЛ.\n"
-"  -d,  --debug                показва debug резултат.\n"
-"  -q,  --quiet                \"тих\" режим (без output).\n"
-"  -v,  --verbose              многословно (поначало).\n"
-"  -nv, --non-verbose          без многословност (не \"тих\" режим).\n"
-"  -i,  --input-file=ФАЙЛ      запис на УРЛ във ФАЙЛ.\n"
-"  -F,  --force-html           разглежда входния файл като HTML.\n"
-"  -B,  --base=УРЛ             добавя URL към отнасящи се линкове (-F -i файл).\n"
-"       --sslcertfile=ФАЙЛ     незадължителен клиентски сертификат -F -i.\n"
-"       --sslcertkey=КЛЮЧ      незадължителен ключ към този сертификат.\n"
-"       --egd-file=ФАЙЛ        име на файла от EGD сокет.\n"
-"\n"
 
-#: src/main.c:155
-msgid ""
-"Download:\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"Запис:\n"
-"       --bind-address=АДРЕС     закачване към АДРЕС (име на хост или IP) на местна машина.\n"
-"  -t,  --tries=НОМЕР            определя броя опити (0 -- безкарайно).\n"
-"  -O   --output-document=ФАЙЛ   записва документите във ФАЙЛ.\n"
-"  -nc, --no-clobber             не презаписва вече изтеглени файлове.\n"
-"  -c,  --continue               продължава тегленето на файл (при прекъснало състояние).\n"
-"       --progress=ВИД           определя вида напредване.\n"
-"  -N,  --timestamping           не тегли файлове ако са по-стари от вече съществуващите.\n"
-"  -S,  --server-response        показва съобщенията от сървъра.\n"
-"       --spider                 не тегли нищо.\n"
-"  -T,  --timeout=СЕКУНДИ        ограничава времето за теглене (в секунди).\n"
-"  -w,  --wait=СЕКУНДИ           време за изчакване между файлове (в секунди).\n"
-"       --waitretry=СЕКУНДИ      време за изчакване между нови опити за теглене (в секунди).\n"
-"       --random-wait            изчакване от 0...2 -- ИЗЧАКВАНЕ в секунди между тегления.\n"
-"  -Y,  --proxy=on/off           включва/изключва прокси.\n"
-"  -Q,  --quota=НОМЕР            ограничава сборния обем за автоматично теглене.\n"
-"       --limit-rate=СКОРОСТ     ограничава скоростта на теглене.\n"
-"\n"
 
-#: src/main.c:174
+#: src/main.c:407
 msgid ""
-"Directories:\n"
-"  -nd  --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"Директории:\n"
-"  -nd  --no-directories            не създава директории.\n"
-"  -x,  --force-directories         задължава създаването на директории.\n"
-"  -nH, --no-host-directories       не създава директории с името на хоста.\n"
-"  -P,  --directory-prefix=ПРЕФИКС  записва файловете в ПРЕФИКС/...\n"
-"       --cut-dirs=НОМЕР            игнорира НОМЕР на компоненти от страна на сървъра.\n"
-"\n"
 
-#: src/main.c:182
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"\n"
+#: src/main.c:411
+msgid "Download:\n"
 msgstr ""
-"HTTP опции:\n"
-"       --http-user=ИМЕ       определя http ИМЕ.\n"
-"       --http-passwd=ПАРОЛА   определя парола http ПАРОЛА.\n"
-"  -C,  --cache=on/off         не/позволява използване на вече кеширана информация от сървъра.\n"
-"  -E,  --html-extension       записва всички текстови файлове с .html наставка .\n"
-"       --ignore-length        игнорира заглавката `Content-Length'.\n"
-"       --header=НИЗ           слага НИЗ в заглавките.\n"
-"       --proxy-user=ИМЕ      определя ИМЕ за прокси сървър.\n"
-"       --proxy-passwd=ПАРОЛА  определя ПАРОЛА за прокси сървър.\n"
-"       --referer=УРЛ          включва `Referer: URL' заглавка в HTTP искането.\n"
-"  -s,  --save-headers         записва HTTP заглавките във ФАЙЛ.\n"
-"  -U,  --user-agent=АГЕНТ     идентифицира се като АГЕНТ вместо Wget/Версия.\n"
-"       --no-http-keep-alive   спира HTTP keep-alive.\n"
-"       --cookies=off          не използва бисквитки.\n"
-"       --load-cookies=ФАЙЛ    зарежда бисквитките от ФАЙЛ (преди сесия).\n"
-"       --save-cookies=ФАЙЛ    записва бисквитките във ФАЙЛ (след сесия).\n"
-"\n"
 
-#: src/main.c:200
+#: src/main.c:413
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
-"FTP опции:\n"
-"  -nr, --dont-remove-listing   не премахва `.listing' файлове.\n"
-"  -g,  --glob=on/off           включва/изключва търсенето за схема (от файл).\n"
-"       --passive-ftp           използва пасивен модел на трансфер.\n"
-"       --retr-symlinks         при рекурсивност, използва самите линкнати файлове (не директории).\n"
-"\n"
 
-#: src/main.c:207
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Директория     "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive web-suck -- use with care!\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"\n"
 msgstr ""
-"Рекурсивен трансфер:\n"
-"  -r,  --recursive             рекурсивен \"web-suck\" -- използвайте внимателно! .\n"
-"  -l,  --level=НОМЕР           максимална \"дълбочина\" при \"web-suck\" (inf/0 за безкрайна).\n"
-"       --delete-after          изтриване на файлове след като са изтеглени (местно).\n"
-"  -k,  --convert-links         преобразува несвързани линкове в свързани.\n"
-"  -K,  --backup-converted      преди да преобразува файл, осигурява (файл.orig).\n"
-"  -m,  --mirror                опцията е по-къс еквивалент на -r -N -l inf -nr.\n"
-"  -p,  --page-requisites       изтегля всички графични файлове (и т.н.), за пълна HTML станица.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
 msgstr ""
-"Рекурсивно приемане/отхвърляне:\n"
-"  -A,  --accept=СПИСЪК              списък на разрешени окончания.\n"
-"  -R,  --reject=СПИСЪК              списък на забранени окончания.\n"
-"  -D,  --domains=СПИСЪК             списък на разрешени домейни.\n"
-"       --exclude-domains=СПИСЪК     списък на забранени домейни.\n"
-"       --follow-ftp                 следва FTP линкове от HTML документи.\n"
-"       --follow-tags=СПИСЪК         списък на HTML тагове които следвам.\n"
-"  -G,  --ignore-tags=СПИСЪК         списък на HTML тагове които игнорирам..\n"
-"  -H,  --span-hosts                 използва други хостове при рекурсия.\n"
-"  -L,  --relative                   \tизползва само свързани линкове.\n"
-"  -I,  --include-directories=СПИСЪК  \tсписък на всички позволени директории.\n"
-"  -X,  --exclude-directories=СПИСЪК  \tсписък на всички забранени директории.\n"
-"  -np, --no-parent               \tне се изкачва към родителската директория.\n"
-"\n"
 
-#: src/main.c:232
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Изпращайте съобщения за грешки и предложения до <bug-wget@gnu.org>.\n"
 
-#: src/main.c:420
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: поддръжката на \"debug\" не е компилирана.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, не-интерактивен мрежов софтуеър за трансфер.\n"
 
-#: src/main.c:472
-msgid "Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Запазени авторски права (C) 1995-2001 Free Software Foundation, Inc.\n"
 
-#: src/main.c:474
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Тази програма се разпространява с надеждата че ще бъде полезна,\n"
-"но БЕЗ КАКВАТО И ДА Е БИЛА ГАРАНЦИЯ; дори за ТЪРГОВСКА СТОЙНОСТ\n"
-"или ГОДНОСТ ЗА ДАДЕНА ЦЕЛ.  Отнесете се към GNU General Public License\n"
-"за повече информация.\n"
 
-#: src/main.c:479
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+#, fuzzy
 msgid ""
 "\n"
-"Originally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
 msgstr ""
 "\n"
 "Първонаписана от Hrvoje Niksic <hniksic@arsdigita.com>.\n"
 
-#: src/main.c:578
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
-msgid "%s: %s: invalid command\n"
-msgstr "%s: %s: невалидна команда\n"
+msgid "Try `%s --help' for more options.\n"
+msgstr "Опитайте `%s --help' за повече опции.\n"
 
-#: src/main.c:631
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: невалидна опция -- `-n%c'\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:634 src/main.c:676 src/main.c:722
+#: src/main.c:859
 #, c-format
-msgid "Try `%s --help' for more options.\n"
-msgstr "Опитайте `%s --help' за повече опции.\n"
-
-#: src/main.c:702
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Не може да бъде \"многословен\" и \"тих\" едновременно.\n"
 
-#: src/main.c:708
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Не мога да сложа дата, но и да не презапиша едновременно\n"
 
-#. No URL specified.
-#: src/main.c:717
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: УРЛ не е указан\n"
 
-#: src/main.c:834
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "УРЛ не е открит в %s.\n"
 
-#: src/main.c:843
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "ГОТОВО --%s--\n"
 "Изтеглени: %s байта в %d файла\n"
 
-#: src/main.c:851
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Квотата от (%s байта) бе ПРЕВИШЕНА!\n"
 
-#: src/mswindows.c:120
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Продължавам на заден план.\n"
 
-#: src/mswindows.c:122 src/utils.c:457
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Продължавам на заден план, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Резултатът ще бъде записван в `%s'.\n"
 
-#: src/mswindows.c:202
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Стартиране на WinHelp %s\n"
-
-#: src/mswindows.c:229 src/mswindows.c:236
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Немога да намеря подходящ TCP/IP драйвер.\n"
 
-#: src/netrc.c:365
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: внимание: \"%s\" има символ преди името на машината\n"
 
-#: src/netrc.c:396
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: непознат символ \"%s\"\n"
 
-#: src/netrc.c:460
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Употреба: %s NETRC [ИМЕ НА ХОСТ]\n"
 
-#: src/netrc.c:470
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: непълен формат %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:224
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Не мога да намеря OpenSSL PRNG; продължавам без SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
 msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ пропускам %dK ]"
 
-#: src/progress.c:391
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Невалидна точкова спецификация `%s'; оставам непроменено.\n"
 
-#: src/recur.c:350
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Премахване на %s, след като той би трябвало да бъде отхвърлен.\n"
 
-#: src/recur.c:935
-#, c-format
-msgid "Converted %d files in %.2f seconds.\n"
-msgstr "Ð\9fÑ\80еобÑ\80азÑ\83ваÑ\85 %d Ñ\84айла Ð·Ð° %.2f Ñ\81екÑ\83нди.\n"
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Ð\9dемога Ð´Ð° Ð¿Ñ\80еобÑ\80азÑ\83вам Ð»Ð¸Ð½ÐºÐ¾Ð²ÐµÑ\82е Ð² %s: %s\n"
 
-#: src/res.c:540
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Зареждам robots.txt; моля игнорирайте грешките.\n"
 
-#: src/retr.c:363
-msgid "Could not find proxy host.\n"
-msgstr "Немога да намеря прокси хоста.\n"
-
-#: src/retr.c:375
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Грешка при транслирането на прокси УРЛ %s: %s\n"
 
-#: src/retr.c:384
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Грешка при прокси УРЛ %s: Трябва да е HTTP.\n"
 
-#: src/retr.c:476
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d пре-адресациите бяха твърде много.\n"
 
-#: src/retr.c:491
-#, c-format
-msgid "%s: Redirection cycle detected.\n"
-msgstr "%s: Установено зацикляне при пре-адресация.\n"
-
-#: src/retr.c:608
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1151,7 +1639,7 @@ msgstr ""
 "Отказвам се.\n"
 "\n"
 
-#: src/retr.c:608
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1159,42 +1647,428 @@ msgstr ""
 "Продължавам.\n"
 "\n"
 
-#: src/url.c:1875
-#, c-format
-msgid "Converting %s... "
-msgstr "Преобразувам %s... "
-
-#: src/url.c:1888
-msgid "nothing to do.\n"
-msgstr "няма друга задача.\n"
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
 
-#: src/url.c:1896 src/url.c:1920
+#: src/spider.c:81
 #, c-format
-msgid "Cannot convert links in %s: %s\n"
-msgstr "Немога да преобразувам линковете в %s: %s\n"
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
 
-#: src/url.c:1911
+#: src/spider.c:91
 #, c-format
-msgid "Unable to delete `%s': %s\n"
-msgstr "Немога да изтрия `%s': %s\n"
+msgid "%s\n"
+msgstr ""
 
-#: src/url.c:2117
-#, c-format
-msgid "Cannot back up %s as %s: %s\n"
-msgstr "Ð\9dемога Ð´Ð° Ð¿Ð¾Ð´Ñ\81игÑ\83Ñ\80Ñ\8f %s ÐºÐ°Ñ\82о %s: %s\n"
+#: src/url.c:620
+#, fuzzy
+msgid "No error"
+msgstr "Ð\9dепознаÑ\82а Ð³Ñ\80еÑ\88ка"
 
-#: src/utils.c:90
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Недостиг на памет.\n"
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr ""
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr ""
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr ""
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr ""
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr ""
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr ""
 
-#. parent, no error
-#: src/utils.c:455
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr ""
+
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Продължавам на заден план, pid %d.\n"
 
-#: src/utils.c:499
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Грешка при изтриване на символична връзка `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Грешка в Set-Cookie, поле `%s'"
+
+#~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
+#~ msgstr "Синтактична грешка при операция Set-Cookie, при `%c'.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Грешка при REST; няма да прекъсна `%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [Остават %s]"
+
+#~ msgid "Host not found"
+#~ msgstr "Хостът не бе открит"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Неуспех при установяване на SSL контекст\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Неуспех при зареждане на сертификати от %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Опитвам без указаният сертификат\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Неуспех при взимане на ключа към сертификата от %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Край на файла (EOF), докато превеждах заглавките.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Продълженият трансфер на този файл неуспя, конфликт с `-c'.\n"
+#~ "Отказвам да презапиша съществуващият файл `%s'.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (остават %s)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Файлът `%s' вече съществува, няма нов запис.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' записан [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Връзката бе преустановена при байт %ld/%ld. "
+
+#~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
+#~ msgstr "%s: %s: Не мога да преобразувам `%s' в IP адрес.\n"
+
+#~ msgid "%s: %s: Please specify always, on, off, or never.\n"
+#~ msgstr "%s: %s: Моля определете always, on, off или never.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Пускане:\n"
+#~ "  -V,  --version           показва версията на Wget и излиза.\n"
+#~ "  -h,  --help              показва тeзи помощни редове.\n"
+#~ "  -b,  --background        преминава в заден план.\n"
+#~ "  -e,  --execute=КОМАНДА   изпълнява `.wgetrc'-тип команда.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Записване и входови файл:\n"
+#~ "  -o,  --output-file=ФАЙЛ     записва съобщенията във ФАЙЛ.\n"
+#~ "  -a,  --append-output=ФАЙЛ   добавя съобщенията във ФАЙЛ.\n"
+#~ "  -d,  --debug                показва debug резултат.\n"
+#~ "  -q,  --quiet                \"тих\" режим (без output).\n"
+#~ "  -v,  --verbose              многословно (поначало).\n"
+#~ "  -nv, --non-verbose          без многословност (не \"тих\" режим).\n"
+#~ "  -i,  --input-file=ФАЙЛ      запис на УРЛ във ФАЙЛ.\n"
+#~ "  -F,  --force-html           разглежда входния файл като HTML.\n"
+#~ "  -B,  --base=УРЛ             добавя URL към отнасящи се линкове (-F -i "
+#~ "файл).\n"
+#~ "       --sslcertfile=ФАЙЛ     незадължителен клиентски сертификат -F -i.\n"
+#~ "       --sslcertkey=КЛЮЧ      незадължителен ключ към този сертификат.\n"
+#~ "       --egd-file=ФАЙЛ        име на файла от EGD сокет.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Запис:\n"
+#~ "       --bind-address=АДРЕС     закачване към АДРЕС (име на хост или IP) "
+#~ "на местна машина.\n"
+#~ "  -t,  --tries=НОМЕР            определя броя опити (0 -- безкарайно).\n"
+#~ "  -O   --output-document=ФАЙЛ   записва документите във ФАЙЛ.\n"
+#~ "  -nc, --no-clobber             не презаписва вече изтеглени файлове.\n"
+#~ "  -c,  --continue               продължава тегленето на файл (при "
+#~ "прекъснало състояние).\n"
+#~ "       --progress=ВИД           определя вида напредване.\n"
+#~ "  -N,  --timestamping           не тегли файлове ако са по-стари от вече "
+#~ "съществуващите.\n"
+#~ "  -S,  --server-response        показва съобщенията от сървъра.\n"
+#~ "       --spider                 не тегли нищо.\n"
+#~ "  -T,  --timeout=СЕКУНДИ        ограничава времето за теглене (в "
+#~ "секунди).\n"
+#~ "  -w,  --wait=СЕКУНДИ           време за изчакване между файлове (в "
+#~ "секунди).\n"
+#~ "       --waitretry=СЕКУНДИ      време за изчакване между нови опити за "
+#~ "теглене (в секунди).\n"
+#~ "       --random-wait            изчакване от 0...2 -- ИЗЧАКВАНЕ в секунди "
+#~ "между тегления.\n"
+#~ "  -Y,  --proxy=on/off           включва/изключва прокси.\n"
+#~ "  -Q,  --quota=НОМЕР            ограничава сборния обем за автоматично "
+#~ "теглене.\n"
+#~ "       --limit-rate=СКОРОСТ     ограничава скоростта на теглене.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd  --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Директории:\n"
+#~ "  -nd  --no-directories            не създава директории.\n"
+#~ "  -x,  --force-directories         задължава създаването на директории.\n"
+#~ "  -nH, --no-host-directories       не създава директории с името на "
+#~ "хоста.\n"
+#~ "  -P,  --directory-prefix=ПРЕФИКС  записва файловете в ПРЕФИКС/...\n"
+#~ "       --cut-dirs=НОМЕР            игнорира НОМЕР на компоненти от страна "
+#~ "на сървъра.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTP опции:\n"
+#~ "       --http-user=ИМЕ       определя http ИМЕ.\n"
+#~ "       --http-passwd=ПАРОЛА   определя парола http ПАРОЛА.\n"
+#~ "  -C,  --cache=on/off         не/позволява използване на вече кеширана "
+#~ "информация от сървъра.\n"
+#~ "  -E,  --html-extension       записва всички текстови файлове с .html "
+#~ "наставка .\n"
+#~ "       --ignore-length        игнорира заглавката `Content-Length'.\n"
+#~ "       --header=НИЗ           слага НИЗ в заглавките.\n"
+#~ "       --proxy-user=ИМЕ      определя ИМЕ за прокси сървър.\n"
+#~ "       --proxy-passwd=ПАРОЛА  определя ПАРОЛА за прокси сървър.\n"
+#~ "       --referer=УРЛ          включва `Referer: URL' заглавка в HTTP "
+#~ "искането.\n"
+#~ "  -s,  --save-headers         записва HTTP заглавките във ФАЙЛ.\n"
+#~ "  -U,  --user-agent=АГЕНТ     идентифицира се като АГЕНТ вместо Wget/"
+#~ "Версия.\n"
+#~ "       --no-http-keep-alive   спира HTTP keep-alive.\n"
+#~ "       --cookies=off          не използва бисквитки.\n"
+#~ "       --load-cookies=ФАЙЛ    зарежда бисквитките от ФАЙЛ (преди сесия).\n"
+#~ "       --save-cookies=ФАЙЛ    записва бисквитките във ФАЙЛ (след сесия).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "FTP опции:\n"
+#~ "  -nr, --dont-remove-listing   не премахва `.listing' файлове.\n"
+#~ "  -g,  --glob=on/off           включва/изключва търсенето за схема (от "
+#~ "файл).\n"
+#~ "       --passive-ftp           използва пасивен модел на трансфер.\n"
+#~ "       --retr-symlinks         при рекурсивност, използва самите линкнати "
+#~ "файлове (не директории).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive web-suck -- use with care!\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Рекурсивен трансфер:\n"
+#~ "  -r,  --recursive             рекурсивен \"web-suck\" -- използвайте "
+#~ "внимателно! .\n"
+#~ "  -l,  --level=НОМЕР           максимална \"дълбочина\" при \"web-suck"
+#~ "\" (inf/0 за безкрайна).\n"
+#~ "       --delete-after          изтриване на файлове след като са "
+#~ "изтеглени (местно).\n"
+#~ "  -k,  --convert-links         преобразува несвързани линкове в "
+#~ "свързани.\n"
+#~ "  -K,  --backup-converted      преди да преобразува файл, осигурява (файл."
+#~ "orig).\n"
+#~ "  -m,  --mirror                опцията е по-къс еквивалент на -r -N -l "
+#~ "inf -nr.\n"
+#~ "  -p,  --page-requisites       изтегля всички графични файлове (и т.н.), "
+#~ "за пълна HTML станица.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Рекурсивно приемане/отхвърляне:\n"
+#~ "  -A,  --accept=СПИСЪК              списък на разрешени окончания.\n"
+#~ "  -R,  --reject=СПИСЪК              списък на забранени окончания.\n"
+#~ "  -D,  --domains=СПИСЪК             списък на разрешени домейни.\n"
+#~ "       --exclude-domains=СПИСЪК     списък на забранени домейни.\n"
+#~ "       --follow-ftp                 следва FTP линкове от HTML "
+#~ "документи.\n"
+#~ "       --follow-tags=СПИСЪК         списък на HTML тагове които следвам.\n"
+#~ "  -G,  --ignore-tags=СПИСЪК         списък на HTML тагове които "
+#~ "игнорирам..\n"
+#~ "  -H,  --span-hosts                 използва други хостове при рекурсия.\n"
+#~ "  -L,  --relative                   \tизползва само свързани линкове.\n"
+#~ "  -I,  --include-directories=СПИСЪК  \tсписък на всички позволени "
+#~ "директории.\n"
+#~ "  -X,  --exclude-directories=СПИСЪК  \tсписък на всички забранени "
+#~ "директории.\n"
+#~ "  -np, --no-parent               \tне се изкачва към родителската "
+#~ "директория.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: поддръжката на \"debug\" не е компилирана.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Тази програма се разпространява с надеждата че ще бъде полезна,\n"
+#~ "но БЕЗ КАКВАТО И ДА Е БИЛА ГАРАНЦИЯ; дори за ТЪРГОВСКА СТОЙНОСТ\n"
+#~ "или ГОДНОСТ ЗА ДАДЕНА ЦЕЛ.  Отнесете се към GNU General Public License\n"
+#~ "за повече информация.\n"
+
+#~ msgid "%s: %s: invalid command\n"
+#~ msgstr "%s: %s: невалидна команда\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Стартиране на WinHelp %s\n"
+
+#~ msgid "Could not find proxy host.\n"
+#~ msgstr "Немога да намеря прокси хоста.\n"
+
+#~ msgid "%s: Redirection cycle detected.\n"
+#~ msgstr "%s: Установено зацикляне при пре-адресация.\n"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Недостиг на памет.\n"
diff --git a/po/boldquot.sed b/po/boldquot.sed
new file mode 100644 (file)
index 0000000..19eefa8
--- /dev/null
@@ -0,0 +1,16 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“\e[1m/g
+s/”/\e[0m”/g
+s/‘/‘\e[1m/g
+s/’/\e[0m’/g
+
+# At least in all of our current strings, ' should be ’.
+s/'/’/g
+# Special: write Hrvoje’s last name properly.
+s/Niksic/Nikšić/g
+s/opyright (C)/opyright ©/g
index c37e72208bfc7abdf51f32db96eda2aaa1a7f97e..e949a132080440fc97fc6f586bc43a81cfcd0308 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
 # Catalan translation of wget.
-# Copyright © 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright © 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
 # Jordi Valverde Sivilla <jordi@eclipsi.net>, 2002.
 # Ernest Adrogué Calveras <eadrogue@gmx.net>, 2003.
-# Jordi Mallach <jordi@gnu.org>, 2003, 2005.
+# Jordi Mallach <jordi@gnu.org>, 2003, 2005, 2007.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-14 14:40+0300\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-15 02:10+0100\n"
 "Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n!=1;\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: l'opció «%s» és ambigua\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: l'opció «--%s» no admet arguments\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: l'opció «%c%s» no admet arguments\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: l'opció «%s» requereix un argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: l'opció «--%s» és desconeguda\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: l'opció «%c%s» és desconeguda\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: l'opció és il·legal -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: l'opció no és vàlida -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'opció requereix un argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: l'opció «-W %s» és ambigua\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: l'opció «-W %s» no admet arguments\n"
 
 # Bind? jm
-#: src/connect.c:199
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: no s'ha pogut resoldre l'adreça de vinculació «%s»; s'està inhabilitant la connexió.\n"
+msgstr ""
+"%s: no s'ha pogut resoldre l'adreça de vinculació «%s»; s'està inhabilitant "
+"la connexió.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "S'està connectant a %s|%s|:%d..."
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "S'està connectant a %s:%d..."
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "connectat.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "error: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "S'han convertit %d fitxers en %.*f segons.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: no s'ha pogut resoldre l'adreça del servidor «%s»\n"
 
-#: src/convert.c:202
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "S'han convertit %d fitxers en %s segons.\n"
+
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "S'està convertint %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "res a fer.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "No s'han pogut convertir els enllaços de «%s»: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "No s'ha pogut suprimir «%s»: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "No es pot fer una còpia de %s com a %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "S'ha produït un error a la capçalera Set-Cookie, camp «%s»"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
-msgstr "S'ha produït un error de sintaxi a la capçalera Set-Cookie: %s a la posició %d.\n"
+msgstr ""
+"S'ha produït un error de sintaxi a la capçalera Set-Cookie: %s a la posició %"
+"d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "La galeta provinent de %s ha intentat establir el domini a %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "No es pot obrir el fitxer de cookies «%s»: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "S'ha produït un error en escriure a «%s»: %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "S'ha produït un error en tancar «%s»: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "El tipus de llista no és suportat, es prova amb l'analitzador de Unix.\n"
+msgstr ""
+"El tipus de llista no és suportat, es prova amb l'analitzador de Unix.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Índex de /%s a %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "data desconeguda   "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Fitxer      "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Directori   "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Enllaç      "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "No és segur "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s octets)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Mida: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) restant"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s restant"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (no autoritatiu)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "S'està entrant com a «%s» ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "S'ha produït un error en la resposta del servidor, es tanca la connexió de control.\n"
+msgstr ""
+"S'ha produït un error en la resposta del servidor, es tanca la connexió de "
+"control.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "S'ha produït un error en el missatge de benvinguda del servidor.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
-msgstr "S'ha produït un error d'escriptura, s'està tancant la connexió de control.\n"
+msgstr ""
+"S'ha produït un error d'escriptura, s'està tancant la connexió de control.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "El servidor rebutja les peticions d'entrada.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Entrada incorrecta.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "S'ha entrat amb èxit!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "S'ha produït un error del servidor, no es pot determinar el tipus de sistema.\n"
+msgstr ""
+"S'ha produït un error del servidor, no es pot determinar el tipus de "
+"sistema.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "fet.     "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "fet.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "El tipus «%c» és desconegut , es tanca la connexió de control.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "fet.   "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD innecessari.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -225,34 +290,33 @@ msgstr ""
 "El directori «%s» no existeix.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD no requerit.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "No s'ha pogut iniciar la transferència PASV.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "No s'ha pogut analitzar la resposta PASV.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "no s'ha pogut connectar a %s port %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "S'ha produït un error en vincular (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORT incorrecte.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -260,7 +324,7 @@ msgstr ""
 "\n"
 "REST ha fallat, s'està començant des del principi.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -269,7 +333,7 @@ msgstr ""
 "El fitxer «%s» no existeix.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -278,44 +342,40 @@ msgstr ""
 "El fitxer o directori «%s» no existeix.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s ha començat a existir.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, es tanca la connexió de control.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Connexió de dades: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Connexió de control tancada.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "S'ha avortat la transferència de dades.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
-msgstr "El fitxer «%s» ja existeix, no es descarrega.\n"
+msgstr "El fitxer «%s» ja existeix, no es baixa.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(intent:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -324,58 +384,54 @@ msgstr ""
 "%s (%s) - s'ha desat «%s» [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "S'està suprimint %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "S'utilitza «%s» com a fitxer de llistat temporal.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "S'ha suprimit «%s».\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "La profunditat de recursió %d excedeix el màxim permès %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "El fitxer remot no és més nou que el local «%s» -- no es descarrega.\n"
+msgstr "El fitxer remot no és més nou que el local «%s» -- no es baixa.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr ""
-"El fitxer remot és més nou que el local «%s» -- s'està descarregant.\n"
+"El fitxer remot és més nou que el local «%s» -- s'està baixant.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
-"Els fitxers no tenen la mateixa mida (local %s) -- s'està descarregant.\n"
+"Els fitxers no tenen la mateixa mida (local %s) -- s'està baixant.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "El nom de l'enllaç simbòlic no és correcte; s'omet.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -384,323 +440,295 @@ msgstr ""
 "Ja hi ha un enllaç simbòlic correcte %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "S'està creant l'enllaç simbòlic %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "No es suporten enllaços simbòlics; s'omet l'enllaç «%s».\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "S'està ometent el directori «%s».\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tipus de fitxer desconegut o no suportat.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: la marca de temps és corrupta..\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "No es descarregaran directoris ja que la profunditat és %d (max %d).\n"
+msgstr "No es baixaran els directoris ja que la profunditat és %d (max %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "No es descendeix a «%s» ja que està exclòs, o no inclòs.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "S'està rebutjant «%s».\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "S'ha produït un error en escriure a «%s»: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Cap coincidència amb el patró «%s».\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "S'ha escrit un índex HTMLitzat a «%s» [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "S'ha escrit un índex HTMLitzat a «%s».\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'opció «%s» és ambigua\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'opció «--%s» no admet arguments\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'opció «%c%s» no admet arguments\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'opció «%s» requereix un argument\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: l'opció «--%s» és desconeguda\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: l'opció «%c%s» és desconeguda\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: l'opció és il·legal -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: l'opció no és vàlida -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'opció requereix un argument -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'opció «-W %s» és ambigua\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'opció «-W %s» no admet arguments\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Servidor desconegut"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "S'ha produït un error temporal en la resolució de noms"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "S'ha produït un error desconegut"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "S'està resolent %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "error: No hi ha adreces IPv4/IPv6 per al servidor.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "error: s'ha exhaurit el temps.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: No s'ha pogut resoldre l'enllaç incomplet %s.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: L'URL %s no és vàlid: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "S'ha produït un error en escriure la petició HTTP: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "No hi ha capçaleres, s'assumeix HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "S'està inhabilitant SSL a causa dels errors trobats.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "Manca el fitxer de dades POST «%s»: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "S'està reutilitzant la connexió a %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
-msgstr "S'ha produït un error en llegir la resposta del servidor intermediari: %s\n"
+msgstr ""
+"S'ha produït un error en llegir la resposta del servidor intermediari: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Ha fallat la tunelització del servidor intermediari: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s: s'ha enviat la petició, s'està esperant una resposta..."
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "No s'ha rebut cap dada\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "S'ha produït un error de lectura (%s) a les capçaleres.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"El fitxer «%s» ja existeix, no es baixa.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "L'esquema d'autenticació és desconegut.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Ha fallat l'autorització.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "La línia d'estat és malformada"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(sense descripció)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Ubicació: %s%s\n"
 
 # és femení: ubicació/mida. eac
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "no especificada"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [es segueix]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-"    El fitxer ja s'ha descarregat totalment; res a fer.\n"
+"    El fitxer ja s'ha baixat totalment; res a fer.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Mida: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "s'ignora"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "S'està desant a: «%s»\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Avís: En HTTP no es suporten patrons.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr ""
-"El fitxer «%s» ja existeix, no es descarrega.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Mode aranya habilitat. Comprova si el fitxer remot existeix.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "No s'ha pogut escriure a «%s» (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "No s'ha pogut establir la connexió SSL.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ERROR: Redirecció (%d) sense ubicació.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "El fitxer remot no existeix -- enllaç trencat!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERROR: %d %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Falta la capçalera Last-modified -- s'han inhabilitat les marques de temps.\n"
+msgstr ""
+"Falta la capçalera Last-modified -- s'han inhabilitat les marques de temps.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Capçalera Last-modified no vàlida -- s'omet la marca de temps.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
-msgstr "El fitxer remot no és més nou que el local «%s» -- no es descarrega.\n"
+msgstr ""
+"El fitxer remot no és més nou que el local «%s» -- no es baixa.\n"
+"\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
-msgstr "Les mides dels fitxers no coincideixen (local %s) -- s'està descarregant.\n"
+msgstr "Les mides dels fitxers no coincideixen (local %s) -- s'està baixant.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
-msgstr "El fitxer remot és més nou, s'està descarregant.\n"
+msgstr "El fitxer remot és més nou, s'està baixant.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"El fitxer remot existeix i pot contenir enllaços a altres recursos -- s'està "
+"obtenint.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"El fitxer remot existeix però no conté cap enllaç -- no s'obté.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"El fitxer remot existeix, però la recursió és inhabilitada -- no es baixa.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -709,111 +737,103 @@ msgstr ""
 "%s (%s) - s'ha desat «%s» [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - S'ha tancat la connexió a l'octet %s. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - S'ha tancat la connexió a l'octet %s/%s. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - S'ha produït un error de lectura a l'octet %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - S'ha produït un error de lectura a l'octet %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: La variable WGETRC apunta a %s, que no existeix.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: No s'ha pogut llegir %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: S'ha produït un error a %s, línia %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: S'ha produït un error de sintaxi a %s, línia %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: L'ordre «%s» és desconeguda a %s, línia %d.\n"
 
 # es refereix a variables d'entorn o què? eac
 # es refereix als dotfiles .wgetrc, etc. jm
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Avís: L'wgetrc del sistema i de l'usuari apunten a «%s».\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: L'ordre --execute «%s» no és vàlida.\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: El booleà «%s» no és vàlid; useu «on» o «off».\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr "%s: %s: El booleà estés «%s» no és vàlid; useu «always», «on», «off» o «never».\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: El número «%s» no és vàlid.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: L'octet «%s» no és vàlid.\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: El període de temps «%s» no és vàlid.\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: El valor «%s» no és vàlid.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: La capçalera «%s» no és vàlida.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: El tipus d'indicador de progrés «%s» no és vàlid.\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: La restricció «%s» no és vàlida, useu «unix» o «windows».\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: La restricció «%s» no és vàlida, useu [unix|windows],[lowercase|"
+"uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -822,9 +842,7 @@ msgstr ""
 "\n"
 "%s rebut, la sortida es redirigeix a «%s».\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -833,348 +851,452 @@ msgstr ""
 "\n"
 "S'ha rebut %s.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; s'està inhabilitant el registre.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Forma d'ús: %s [OPCIÓ]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Els arguments obligatoris per les opcions llargues també ho són per les curtes.\n"
+"Els arguments obligatoris per les opcions llargues també ho són per les "
+"curtes.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Inici:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           mostra la versió del Wget i surt.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              mostra aquesta ajuda.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        vés a segon terme després de l'inici.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e, --execute=ORDRE      executa una ordre d'estil «.wgetrc».\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Registres i fitxer d'entrada:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
-msgstr "  -o,  --output-file=FITXER   desa els missatges del programa a FITXER.\n"
+msgstr ""
+"  -o,  --output-file=FITXER   desa els missatges del programa a FITXER.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=FITXER afegeix els missatges a FITXER.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug                mostra molta informació de depuració.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+"      --wdebug                mostra informació de depuració de Watt-32.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet                mode silenciós (cap sortida).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose              mode detallat (per defecte).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --non-verbose          mode no detallat, però tampoc del tot silenciós.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --non-verbose          mode no detallat, però tampoc del tot "
+"silenciós.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=FITXER    llegeix les URL de FITXER.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html           tracta el fitxer d'entrada com a HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL             afegeix el prefix URL a tots els enllaços relatius en -F -i fitxer.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL             afegeix el prefix URL a tots els enllaços "
+"relatius en -F -i fitxer.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Descàrrega:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=NOMBRE            estableix el nombre de reintents (0=sense limit).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NOMBRE            estableix el nombre de reintents (0=sense "
+"limit).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       reintenta encara que es rebutje la connexió.\n"
+msgstr ""
+"       --retry-connrefused       reintenta encara que es rebutje la "
+"connexió.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O,  --output-document=FITXER  escriu els documents a FITXER.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
-msgstr "  -nc, --no-clobber              omet descàrregues de fitxers ja existents.\n"
+msgstr ""
+"  -nc, --no-clobber              omet descàrregues de fitxers ja existents.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  -­continue               continua obtenint un fitxer descàrregat parcialment.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  -­continue               continua obtenint un fitxer descàrregat "
+"parcialment.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=TIPUS          selecciona el tipus d'indicador de progrés.\n"
+msgstr ""
+"       --progress=TIPUS          selecciona el tipus d'indicador de "
+"progrés.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
 msgstr ""
-"  -N,  --timestamping            només descarrega fitxers més nous que els\n"
-"                                 locals.\n"
+"  -N,  --timestamping            només baixa fitxers més nous que els "
+"locals.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         mostra les respostes del servidor.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
-msgstr "       --spider                  no descarregues res.\n"
+msgstr "       --spider                  no baixes res.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SEGONS          estableix tots els temps d'espera a SEGONS.\n"
+msgstr ""
+"  -T,  --timeout=SEGONS          estableix tots els temps d'espera a "
+"SEGONS.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SEGONS      estableix el temps d'espera de DNS a SEGONS.\n"
+msgstr ""
+"       --dns-timeout=SEGONS      estableix el temps d'espera de DNS a "
+"SEGONS.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
 msgstr ""
 "       --connect-timeout=SEGONS  estableix el temps d'espera de connexió a\n"
 "                                 SEGONS.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr ""
 "       --read-timeout=SEGONS     estableix el temps d'espera de lectura en\n"
 "                                 SEGONS.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=SEGONS             fes una pausa de SEGONS entre descàrregues.\n"
+msgstr ""
+"  -w,  --wait=SEGONS             fes una pausa de SEGONS entre "
+"descàrregues.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
-"       --waitretry=SEGONS        fes una pausa entre intents de descàrrega de\n"
+"       --waitretry=SEGONS        fes una pausa entre intents de descàrrega "
+"de\n"
 "                                 1...SEGONS.\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait             fes una pausa de 0...2*PAUSA segons entre descàrregues.\n"
-
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr ""
-"  -Y,  --proxy                   habilita explícitament l'ús del servidor\n"
-"                                 intermediari.\n"
+"       --random-wait             fes una pausa de 0...2*PAUSA segons entre "
+"descàrregues.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr ""
 "       --no-proxy                inhabilita explícitament l'ús del servidor\n"
 "                                 intermediari.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=NOMBRE            estableix la quota de descàrrega en NOMBRE.\n"
+msgstr ""
+"  -Q,  --quota=NOMBRE            estableix la quota de descàrrega en "
+"NOMBRE.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
 msgstr ""
-"       --bind-address=ADREÇA    vincula't a l'ADREÇA (nom del servidor o IP) a\n"
+"       --bind-address=ADREÇA    vincula't a l'ADREÇA (nom del servidor o IP) "
+"a\n"
 "                                localhost.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=NOMBRE       estableix el límit d'octets per segon.\n"
+msgstr ""
+"       --limit-rate=NOMBRE       estableix el límit d'octets per segon.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr ""
-"       --no-dns-cache            no uses memòria cau en la resolució de noms\n"
+"       --no-dns-cache            no uses memòria cau en la resolució de "
+"noms\n"
 "                                 de domini.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
 "       --restrict-file-names=SO restringeix determinats caràcters dels noms\n"
-"                                dels fitxers als que el SO (sistema operatiu)\n"
+"                                dels fitxers als que el SO (sistema "
+"operatiu)\n"
 "                                permeta.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case            descarta les diferències de capitalització "
+"quan\n"
+"                                es busquen fitxers/directoris coincidents.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              connecta només a adreces IPv4.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              connecta només a adreces IPv6.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=FAMILIA   connecta primer a les adreces de la família especificada,\n"
+"       --prefer-family=FAMILIA   connecta primer a les adreces de la família "
+"especificada,\n"
 "                                 IPv6, IPv4 o cap.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=USUARI             estableix els usuaris de ftp i http a USUARI.\n"
+msgstr ""
+"       --user=USUARI             estableix els usuaris de ftp i http a "
+"USUARI.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr ""
 "       --password=CONTRASENYA    estableix la contrasenya de ftp i http a\n"
 "                                 CONTRASENYA.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Directoris:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           no crees directoris.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        força la creació de directoris.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
-msgstr "  -nH, --no-host-directories       no crees els directoris del servidor.\n"
+msgstr ""
+"  -nH, --no-host-directories       no crees els directoris del servidor.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     usa el nom del protocol als directoris.\n"
+msgstr ""
+"       --protocol-directories     usa el nom del protocol als directoris.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PREFIX  desa els fitxers a PREFIX/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
 msgstr ""
 "       --cut-dirs=NOMBRE         omet NOMBRE components de l'estructura de\n"
 "                                 directoris remota.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "Opcions de HTTP:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=USUARI      estableix l'usuari http en USUARI.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
-msgstr "       --http-passwd=PASS      estableix la contrasenya http en PASS.\n"
+msgstr ""
+"       --http-passwd=PASS      estableix la contrasenya http en PASS.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              no admetes dades de la memòria cau del servidor.\n"
+msgstr ""
+"       --no-cache              no admetes dades de la memòria cau del "
+"servidor.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        desa els documents HTML amb l'extensió «.html».\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        desa els documents HTML amb l'extensió «."
+"html».\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         descarta la capçalera «Content-Length».\n"
+msgstr ""
+"       --ignore-length         descarta la capçalera «Content-Length».\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=CADENA         insereix CADENA entre les capçaleres.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          redireccions màximes permeses per pàgina.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=USUARI     estableix l'usuari pel proxy a USUARI.\n"
+msgstr ""
+"       --proxy-user=USUARI     estableix l'usuari pel proxy a USUARI.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
-msgstr "       --proxy-passwd=PASS     estableix la contrasenya pel proxy a PASS.\n"
+msgstr ""
+"       --proxy-passwd=PASS     estableix la contrasenya pel proxy a PASS.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           inclou una capçalera «Referer» a la petició HTTP.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           inclou una capçalera «Referer» a la petició "
+"HTTP.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
-msgstr "       --save-headers          desa les capçaleres HTTP en un fitxer.\n"
+msgstr ""
+"       --save-headers          desa les capçaleres HTTP en un fitxer.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT      identifica't com a AGENT en lloc de Wget/VERSIÓ.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identifica't com a AGENT en lloc de Wget/"
+"VERSIÓ.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
 msgstr ""
 "       --no-http-keep-alive    inhabilita el «keep-alive» de HTTP\n"
 "                               (connexions persistents)\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            no utilitzes galetes.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
 msgstr ""
 "       --load-cookies=FITXER   carrega les galetes de FITXER abans de\n"
 "                               la sessió.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=FITXER   desa les cookies a FITXER després de la sessió.\n"
+msgstr ""
+"       --save-cookies=FITXER   desa les cookies a FITXER després de la "
+"sessió.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
 msgstr ""
 "       --keep-session-cookies  carrega i desa les galetes de la sessió\n"
 "                               (no permanents)\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=CADENA      usa el mètode POST, envia CADENA com a dades.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=CADENA      usa el mètode POST, envia CADENA com a "
+"dades.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
 msgstr ""
 "       --post-file=FITXER      usa el mètode POST, envia els continguts de\n"
 "                               FITXER.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   respecta la capçalera Content-Disposition "
+"quan\n"
+"                               es seleccionen noms de fitxers locals\n"
+"                               (EXPERIMENTAL)\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "Opcions de HTTPS (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
@@ -1182,217 +1304,277 @@ msgstr ""
 "       --secure-protocol=PR     selecciona el protocol segur, d'entre auto,\n"
 "                                SSLv2, SSLv3, TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   no valides el certificat del servidor.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   no valides el certificat del servidor.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificat=FITXER      fitxer del certificat del client.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TIPUS tipus de certificat del client, PEM o DER.\n"
+msgstr ""
+"       --certificate-type=TIPUS tipus de certificat del client, PEM o DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FITXER     fitxer de clau privada.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TIPUS tipus de clau privada, PEM o DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=FITXER  fitxer amb el conjunt de CA.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
 msgstr ""
 "       --ca-directory=DIR       directori on s'emmagatzema una llista de\n"
 "                                dispersió de CA.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
 msgstr ""
 "       --random-file=FITXER    fitxer amb dades aleatòries per a fer de\n"
 "                               llavor per al SSL PRNG.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr ""
-"       --egd-file=FITXER fitxer que anomena el sòcol EGD amb dades aleatòries.\n"
+"       --egd-file=FITXER fitxer que anomena el sòcol EGD amb dades "
+"aleatòries.\n"
 "\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "Opcions de FTP:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=USUARI       estableix l'usuari de ftp a USUARI.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
-msgstr "       --ftp-password=PASS     estableix la contrasenya de ftp a PASS.\n"
+msgstr ""
+"       --ftp-password=PASS     estableix la contrasenya de ftp a PASS.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
-msgstr "       --no-remove-listing     no suprimeixes els fitxers «.listing».\n"
+msgstr ""
+"       --no-remove-listing     no suprimeixes els fitxers «.listing».\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               inhabilita l'ús de comodins de fitxers per a FTP.\n"
+msgstr ""
+"       --no-glob               inhabilita l'ús de comodins de fitxers per a "
+"FTP.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        inhabilita el mode de transferència «passiu».\n"
+msgstr ""
+"       --no-passive-ftp        inhabilita el mode de transferència "
+"«passiu».\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
-"       --retr-symlinks         en mode de recursió, descarrega els fitxers\n"
-"                               apuntats per enllaços simbòlics que no siguen\n"
+"       --retr-symlinks         en mode de recursió, baixa els fitxers\n"
+"                               apuntats per enllaços simbòlics que no "
+"siguen\n"
 "                               directoris\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  preserva els permisos dels fitxers remots.\n"
+msgstr ""
+"       --preserve-permissions  preserva els permisos dels fitxers remots.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Descàrrega recursiva:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
-msgstr "  -r,  --recursive          descarrega de forma recursiva.\n"
+msgstr "  -r,  --recursive          baixa de forma recursiva.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=NOMBRE       nivell màxim de recursió (inf o 0 per infinit).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NOMBRE       nivell màxim de recursió (inf o 0 per infinit).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after       suprimeix els fitxers locals un cop descarregats.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       suprimeix els fitxers locals un cop baixats.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr ""
-"  -k,  --convert-links      fes que els enllaços als HTML descarregats\n"
-"                            apunten als fitxers locals.\n"
+"  -k,  --convert-links      fes que els enllaços als HTML baixats apunten\n"
+"                            als fitxers locals.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr ""
 "  -K,  --backup-converted   fés una còpia dels fitxers com a X.orig abans\n"
 "                            de convertir-los.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             opció equivalent -N -r -l inf -no-remove-listings.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             opció equivalent -N -r -l inf -no-remove-"
+"listings.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
-"  -p,  --page-requisites    descarrega totes les imatges, etc. necessàries per\n"
+"  -p,  --page-requisites    baixa totes les imatges, etc. necessàries per\n"
 "                            veure el document HTML.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    activa la gestió estricta (SGML) de comentaris HTML.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    activa la gestió estricta (SGML) de comentaris "
+"HTML.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Inclusió/exclusió en mode recursiu:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr ""
 "  -A,  --accept=LLISTA             llista separada per comes d'extensions\n"
 "                                   acceptades.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr ""
 "  -R,  --reject=LLISTA             llista separada per comes d'extensions\n"
 "                                   rebutjades.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
 "  -D,  --domains=LLISTA            llista separada per comes de dominis\n"
 "                                   acceptats.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
 "       --exclude-domains=LLISTA    llista separada per comes de dominis\n"
 "                                   rebutjats.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                segueix enllaços FTP en documents HTML.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                segueix enllaços FTP en documents HTML.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr ""
-"       --follow-tags=LLISTA        llista separada per comes d'etiquetes HTML\n"
+"       --follow-tags=LLISTA        llista separada per comes d'etiquetes "
+"HTML\n"
 "                                   que es segueixen.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
-"  -G,  --ignore-tags=LLISTA        llista separada per comes d'etiquetes HTML\n"
+"  -G,  --ignore-tags=LLISTA        llista separada per comes d'etiquetes "
+"HTML\n"
 "                                   ignorades.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr ""
 "  -H,  --span-hosts                segueix enllaços a altres llocs en mode\n"
 "                                   de recursió.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  només segueix enllaços relatius.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=LLISTA llista de directoris acceptats.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LLISTA llista de directoris rebutjats.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent                 no ascendeixes al directori pare.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Envieu informes d'error i suggeriments a <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, un descarregador de xarxa no interactiu.\n"
+msgstr "GNU Wget %s, un baixador de xarxa no interactiu.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright © 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Aquest programa es distribueix amb l'esperança que sigui útil, però\n"
-"SENSE CAP MENA DE GARANTIA; ni tan sols amb la garantia implícita de\n"
-"COMERCIABILITAT o IDONEÏTAT PER A UN PROPÒSIT PARTICULAR. Vegeu la\n"
-"llicència GNU General Public License per a més informació.\n"
-
-#: src/main.c:665
+"Llicència GPLv3+: GNU GPL versió 3 o posterior\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Aquest és programari lliure: podeu modificar‐lo i redistribuir‐lo si voleu.\n"
+"No hi ha CAP GARANTIA, en la mesura que ho permeta la llei.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1400,196 +1582,229 @@ msgstr ""
 "\n"
 "Escrit originàriament per Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Actualment mantingut per Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Proveu «%s --help» per a veure més opcions.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: l'opció és il·legal -- «-n%c»\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "No es pot donar informació i ser silenciós al mateix temps.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "No té sentit no sobreescriure fitxers i fer marques de temps al mateix temps.\n"
+msgstr ""
+"No té sentit no sobreescriure fitxers i fer marques de temps al mateix "
+"temps.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "No es pot especificar inet4-only i --inet6-only a l'hora.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "No es pot especificar -r, -p o -N si es dóna -O.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "No es pot especificar -k i -O a l'hora si es donen múltiples URL.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: falta l'URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "No s'ha trobat cap URL a %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "FINALITZAT --%s--\n"
-"Descarregat: %s octets en %d fitxers\n"
+"Baixat: %d fitxers, %s en %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "S'ha EXCEDIT la quota de descàrrega (%s octets)!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "S'ha EXCEDIT la quota de baixada de %s.\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "S'esta continuant en segon terme.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "S'està continuant en segon terme, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "La sortida s'escriurà a «%s».\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: No s'ha trobat cap controlador de sòcol usable.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: avís: el testimoni «%s» apareix abans que cap nom de màquina.\n"
+msgstr ""
+"%s: %s:%d: avís: el testimoni «%s» apareix abans que cap nom de màquina.\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: component desconegut \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Forma d'ús: %s NETRC [HOST]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: no s'ha pogut determinar l'estat de %s: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "AVÍS: s'està utilitzant una llavor aleatòria febla.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "No s'ha pogut donar una llavor al PRNG; considereu usar --random-file.\n"
+msgstr ""
+"No s'ha pogut donar una llavor al PRNG; considereu usar --random-file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "ERROR"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "AVÍS"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: %s no ha presentat cap certificat.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: S'ha produït un error en la verificació del certificat per a %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: no es pot verificar el certificat de %s, emès per «%s»:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  No s'ha pogut verificar localment l'autoritat de l'emetent.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  S'ha trobat un certificat autosignat.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  El certificat encara no és vàlid.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  El certificat ha caducat.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: el nom comú «%s» del certificat no concorda amb el nom del servidor demanat «%s».\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: el nom comú «%s» del certificat no concorda amb el nom del servidor "
+"demanat «%s».\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Per a connectar a %s de manera insegura, useu «--no-check-certificate».\n"
+msgstr ""
+"Per a connectar a %s de manera insegura, useu «--no-check-certificate».\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ s'està ometent %dK ]"
+"%*s[ s'està ometent %sK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "L'estil de progrés «%s» no és vàlid; no es canvia.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  eta %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   en "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "No es pot obtenir la frequència del rellotge en TEMPS REAL: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
-msgstr "S'està suprimint %s ja que no s'hauria de descarregar.\n"
+msgstr "S'està suprimint %s ja que no s'hauria de baixar.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "No es pot obrir %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "S'està llegint el robots.txt; si us plau, ignoreu els errors.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
-msgstr "S'ha produït un error en analitzar la URL del servidor intermediari %s: %s.\n"
+msgstr ""
+"S'ha produït un error en analitzar la URL del servidor intermediari %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
-msgstr "Hi ha un error a la URL del servidor intermediari %s: Ha de ser HTTP.\n"
+msgstr ""
+"Hi ha un error a la URL del servidor intermediari %s: Ha de ser HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "S'ha excedit el màxim de redireccions (%d).\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1597,7 +1812,7 @@ msgstr ""
 "S'està abandonant.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1605,59 +1820,120 @@ msgstr ""
 "S'està reintentant.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"No s'ha trobat cap enllaç trencat.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"S'ha trobat %d enllaç trencat.\n"
+"\n"
+msgstr[1] ""
+"S'han trobat %d enllaços trencats.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Cap error"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "L'esquema no està implementat"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "El nom del servidor és invàlid"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "El número de port és incorrecte"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Nom d'usuari no vàlid"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "L'adreça numèrica IPv6 no està terminada"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Les adreces IPv6 no estan implementades"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "L'adreça numèrica IPv6 no és vàlida"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Es continua en segon terme, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "No s'ha pogut eliminar l'enllaç simbòlic «%s»: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: No s'ha pogut assignar %ld octets; s'ha exhaurit la memòria.\n"
 
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "S'ha produït un error a la capçalera Set-Cookie, camp «%s»"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - S'ha tancat la connexió a l'octet %s/%s. "
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: El booleà estés «%s» no és vàlid; useu «always», «on», «off» o "
+#~ "«never».\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr ""
+#~ "  -Y,  --proxy                   habilita explícitament l'ús del "
+#~ "servidor\n"
+#~ "                                 intermediari.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Aquest programa es distribueix amb l'esperança que sigui útil, però\n"
+#~ "SENSE CAP MENA DE GARANTIA; ni tan sols amb la garantia implícita de\n"
+#~ "COMERCIABILITAT o IDONEÏTAT PER A UN PROPÒSIT PARTICULAR. Vegeu la\n"
+#~ "llicència GNU General Public License per a més informació.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr ""
+#~ "%s: S'ha produït un error en la verificació del certificat per a %s: %s\n"
+
 #~ msgid "Failed writing to proxy: %s.\n"
 #~ msgstr "S'ha produït un error en escriure al servidor intermediari: %s.\n"
 
 #~ msgid "File `%s' already there, will not retrieve.\n"
-#~ msgstr "El fitxer «%s» ja existeix, no es descarrega.\n"
+#~ msgstr "El fitxer «%s» ja existeix, no es baixa.\n"
 
 #~ msgid ""
 #~ "%s (%s) - `%s' saved [%s/%s])\n"
index 9b5668ee05b13babfbc66fba02b663b24acece96..e18956e9cba2c8bab79de6add6c602ef7251528a 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
 # Czech translations for GNU wget
 # Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
 # Jan Prikryl <prikryl@acm.org>, 1998, 2000, 2001
+# Petr Pisar <petr.pisar@atlas.cz>, 2007
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU wget 1.7\n"
-"POT-Creation-Date: 2001-06-04 19:39+0200\n"
-"PO-Revision-Date: 2001-06-05 23:19+0200\n"
-"Last-Translator: Jan Prikryl <prikryl@acm.org>\n"
-"Language-Team: Czech <cs@li.org>\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-13 00:18+0100\n"
+"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
+"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: src/cookies.c:588
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Chyba v hlavièce Set-Cookie v poli `%s'"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: přepínač „%s“ není jednoznačný\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: přepínač „--%s“ nemá argument\n"
 
-#: src/cookies.c:612
+#: lib/getopt.c:592 lib/getopt.c:597
 #, c-format
-msgid "Syntax error in Set-Cookie at character `%c'.\n"
-msgstr "Syntaktická chyba v hlavièce Set-Cookie na znaku `%c'.\n"
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: přepínač „%c%s“ nemá argument\n"
 
-#: src/cookies.c:620
-msgid "Syntax error in Set-Cookie: premature end of string.\n"
-msgstr "Syntaktická chyba v hlavièce Set-Cookie: Pøedèasný konec øetìzce.\n"
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: přepínač „%s“ vyžaduje argument\n"
 
-# , c-format
-#: src/cookies.c:1352
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: neznámý přepínač „--%s“\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: neznámý přepínač „%c%s“\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: nepřípustný přepínač – %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: chybný přepínač – %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: přepínač vyžaduje argument – %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: přepínač „-W %s“ není jednoznačný\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: přepínač „-W %s“ nemá argument\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+"%s: adresu „%s“ pro přilepení nelze zjistit, vypínám přilepování (bind(2)).\n"
+
+#: src/connect.c:267
+#, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Navazuje se spojení s %s|%s|:%d… "
+
+#: src/connect.c:270
+#, c-format
+msgid "Connecting to %s:%d... "
+msgstr "Navazuje se spojení s %s:%d… "
+
+#: src/connect.c:330
+msgid "connected.\n"
+msgstr "spojeno.\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "nezdařilo se: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: adresu počítače „%s“ nelze přeložit\n"
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "%d souborů převedeno za %s sekund.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Převádí se %s… "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "nic není potřeba převádět.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Nelze převést odkazy v %s: %s\n"
+
+#: src/convert.c:233
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Nebylo možné odstranit „%s“: %s\n"
+
+#: src/convert.c:442
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Nelze zálohovat %s jako %s: %s\n"
+
+#: src/cookies.c:443
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr "Syntaktická chyba v hlavičce Set-Cookie: %s na pozici %d.\n"
+
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie přiševši z %s se pokusila nastavit doménu na %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
-msgstr "Nelze otevøít soubor s koláèky `%s': %s\n"
+msgstr "Nelze otevřít soubor s cookie „%s“: %s\n"
 
-# , c-format
-#: src/cookies.c:1364
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
-msgstr "Pøi zápisu do `%s' nastala chyba: %s.\n"
+msgstr "Při zápisu do „%s“ nastala chyba: %s.\n"
 
-#: src/cookies.c:1368
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
-msgstr "Pøi uzavírání `%s' nastala chyba: %s\n"
+msgstr "Při uzavírání „%s“ nastala chyba: %s\n"
 
-#: src/ftp-ls.c:787
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Nepodporovaný typ výpisu, pou¾ije se Unixový parser.\n"
+msgstr "Nepodporovaný typ výpisu, použije se Unixový parser.\n"
 
-# , c-format
-#: src/ftp-ls.c:832 src/ftp-ls.c:834
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Obsah /%s na %s:%d"
 
-#: src/ftp-ls.c:856
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
-msgstr "èas neznámý        "
+msgstr "čas neznámý        "
 
-#: src/ftp-ls.c:860
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Soubor      "
 
-#: src/ftp-ls.c:863
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
-msgstr "Adresáø     "
+msgstr "Adresář     "
 
-#: src/ftp-ls.c:866
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Sym. odkaz  "
 
-#: src/ftp-ls.c:869
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
-msgstr "Neznámý typ "
+msgstr "Neznámý typ "
 
-# , c-format
-#: src/ftp-ls.c:887
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
-msgstr " (%s bajtù)"
+msgstr " (%s bajtů)"
 
-# , c-format
-#. Login to the server:
-#. First: Establish the control connection.
-#: src/ftp.c:150 src/http.c:624
+#: src/ftp.c:214
 #, c-format
-msgid "Connecting to %s:%hu... "
-msgstr "Navazuje se spojení s %s:%hu... "
+msgid "Length: %s"
+msgstr "Délka: %s"
 
-# , c-format
-#: src/ftp.c:172 src/ftp.c:539 src/http.c:641
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
-msgid "Connection to %s:%hu refused.\n"
-msgstr "Spojení s %s:%hu odmítnuto.\n"
+msgid ", %s (%s) remaining"
+msgstr ", %s (%s) zbývá"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:193 src/http.c:652
-msgid "connected!\n"
-msgstr "spojeno!\n"
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ", %s zbývá"
 
-# , c-format
-#: src/ftp.c:194
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (není směrodatné)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
-msgstr "Probíhá pøihla¹ování jako %s ... "
+msgstr "Probíhá přihlašování jako %s… "
 
-#: src/ftp.c:203 src/ftp.c:256 src/ftp.c:288 src/ftp.c:336 src/ftp.c:429
-#: src/ftp.c:481 src/ftp.c:575 src/ftp.c:648 src/ftp.c:709 src/ftp.c:757
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "Øídicí spojení bude ukonèeno, proto¾e server odpovìdìl chybovým hlá¹ením.\n"
+msgstr ""
+"Řídicí spojení bude ukončeno, protože server odpověděl chybovým hlášením.\n"
 
-#: src/ftp.c:211
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
-msgstr "Úvodní odpovìï serveru je chybná.\n"
+msgstr "Úvodní odpověď serveru je chybná.\n"
 
-#: src/ftp.c:219 src/ftp.c:345 src/ftp.c:438 src/ftp.c:490 src/ftp.c:585
-#: src/ftp.c:658 src/ftp.c:719 src/ftp.c:767
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
-msgstr "Rídicí spojení bude ukonèeno, proto¾e nelze zapsat data.\n"
+msgstr "Rídicí spojení bude ukonÄ\8deno, protože nelze zapsat data.\n"
 
-#: src/ftp.c:226
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
-msgstr "Server odmítá pøihlá¹ení.\n"
+msgstr "Server odmítá přihlášení.\n"
 
-#: src/ftp.c:233
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
-msgstr "Chyba pøi pøihlá¹ení.\n"
+msgstr "Chyba při přihlášení.\n"
 
-#: src/ftp.c:240
+#: src/ftp.c:348
 msgid "Logged in!\n"
-msgstr "Pøihlá¹eno!\n"
+msgstr "Přihlášeno!\n"
 
-#: src/ftp.c:265
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "Nelze zjistit typ vzdáleného operaèního systému, proto¾e server odpovìdìl chybovým hlá¹ením.\n"
+msgstr ""
+"Nelze zjistit typ vzdáleného operačního systému, protože server odpověděl "
+"chybovým hlášením.\n"
 
-#: src/ftp.c:275 src/ftp.c:560 src/ftp.c:632 src/ftp.c:689
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "hotovo.  "
 
-#: src/ftp.c:325 src/ftp.c:459 src/ftp.c:740 src/ftp.c:788 src/url.c:1429
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "hotovo.\n"
 
-# , c-format
-#: src/ftp.c:353
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
-msgstr "Rídicí spojení bude ukonèeno, proto¾e je po¾adován neznámý typ pøenosu `%c'.\n"
+msgstr ""
+"Rídicí spojení bude ukončeno, protože je požadován neznámý typ přenosu „%"
+"c“.\n"
 
-#: src/ftp.c:366
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "hotovo."
 
-#: src/ftp.c:372
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
-msgstr "==> CWD není potøeba.\n"
+msgstr "==> CWD není potřeba.\n"
 
-# , c-format
-#: src/ftp.c:445
+#: src/ftp.c:569
 #, c-format
-msgid "No such directory `%s'.\n\n"
-msgstr "Adresáø `%s' neexistuje.\n\n"
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"Adresář „%s“ neexistuje.\n"
+"\n"
 
-#. do not CWD
-#: src/ftp.c:463
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
-msgstr "==> CWD není potøeba.\n"
+msgstr "==> CWD není potřeba.\n"
 
-#: src/ftp.c:497
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
-msgstr "Nelze spustit pasivní pøenos dat.\n"
+msgstr "Nelze spustit pasivní přenos dat.\n"
 
-#: src/ftp.c:501
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
-msgstr "Odpovìï na PASV není pochopitelná.\n"
+msgstr "Odpověď na PASV není pochopitelná.\n"
 
-# , c-format
-#: src/ftp.c:515
+#: src/ftp.c:665
 #, c-format
-msgid "Will try connecting to %s:%hu.\n"
-msgstr "Program se pokusí spojit s %s:%hu.\n"
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr "s %s na portu %d se nelze spojit: %s\n"
 
-# , c-format
-#: src/ftp.c:602
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
-msgstr "Chyba pøi operaci \"bind\" (%s).\n"
+msgstr "Chyba při přilepování (bind) (%s).\n"
 
-#: src/ftp.c:618
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
-msgstr "Neplatný PORT.\n"
+msgstr "Neplatný PORT.\n"
 
-#: src/ftp.c:671
-#, c-format
-msgid "\nREST failed; will not truncate `%s'.\n"
-msgstr "\nPøíkaz REST selhal, `%s' nebude zkráceno.\n"
-
-#: src/ftp.c:678
-msgid "\nREST failed, starting from scratch.\n"
-msgstr "\nPøíkaz REST selhal, pøenos zaène od zaèátku souboru.\n"
-
-# , c-format
-#: src/ftp.c:727
-#, c-format
-msgid "No such file `%s'.\n\n"
-msgstr "Soubor `%s' neexistuje.\n\n"
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"Příkaz REST selhal, přenos začne od začátku souboru.\n"
 
-# , c-format
-#: src/ftp.c:775
+#: src/ftp.c:826
 #, c-format
-msgid "No such file or directory `%s'.\n\n"
-msgstr "Soubor èi adresáø `%s' neexistuje.\n\n"
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"Soubor „%s“ neexistuje.\n"
+"\n"
 
-# , c-format
-#: src/ftp.c:859 src/ftp.c:867
+#: src/ftp.c:873
 #, c-format
-msgid "Length: %s"
-msgstr "Délka: %s"
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"Soubor či adresář „%s“ neexistuje.\n"
+"\n"
 
-# , c-format
-#: src/ftp.c:861 src/ftp.c:869
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s zbývá]"
-
-#: src/ftp.c:871
-msgid " (unauthoritative)\n"
-msgstr " (není smìrodatné)\n"
+msgid "%s has sprung into existence.\n"
+msgstr "%s se objevil.\n"
 
-# , c-format
-#: src/ftp.c:898
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
-msgstr "%s: %s, øídicí spojení bude ukonèeno.\n"
+msgstr "%s: %s, řídicí spojení bude ukončeno.\n"
 
-# , c-format
-#: src/ftp.c:906
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
-msgstr "%s (%s) - Datové spojení: %s; "
+msgstr "%s (%s) – Datové spojení: %s; "
 
-#: src/ftp.c:923
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
-msgstr "Øídicí spojení bylo ukonèeno.\n"
+msgstr "Řídicí spojení bylo ukončeno.\n"
 
-#: src/ftp.c:941
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
-msgstr "Pøenos dat byl pøedèasnì ukonèen.\n"
+msgstr "Přenos dat byl předčasně ukončen.\n"
 
-# , c-format
-#: src/ftp.c:1005
+#: src/ftp.c:1097
 #, c-format
-msgid "File `%s' already there, not retrieving.\n"
-msgstr "Soubor `%s' je ji¾ zde a není jej tøeba pøená¹et.\n"
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "Soubor „%s“ je již zde, nebudu jej přenášet.\n"
 
-# , c-format
-#: src/ftp.c:1075 src/http.c:1502
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(pokus:%2d)"
 
-# , c-format
-#: src/ftp.c:1139 src/http.c:1753
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
-msgid "%s (%s) - `%s' saved [%ld]\n\n"
-msgstr "%s (%s) - `%s' ulo¾en [%ld]\n\n"
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) – „%s“ uložen [%s]\n"
+"\n"
 
-# , c-format
-#: src/ftp.c:1181 src/main.c:810 src/recur.c:483 src/retr.c:566
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
-msgstr "Ma¾e se %s.\n"
+msgstr "Maže se %s.\n"
 
-# , c-format
-#: src/ftp.c:1221
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
-msgstr "Seznam souborù bude doèasnì ulo¾en v `%s'.\n"
+msgstr "Seznam souborů bude dočasně uložen v „%s“.\n"
 
-# , c-format
-#: src/ftp.c:1233
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
-msgstr "Soubor `%s' byl vymazán.\n"
+msgstr "Soubor „%s“ byl vymazán.\n"
 
-# , c-format
-#: src/ftp.c:1269
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "Hloubka rekurze %d pøekroèila maximální hloubku %d.\n"
+msgstr "Hloubka rekurze %d překročila maximální hloubku %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1330
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Vzdálený soubor není novìj¹í, ne¾ lokální soubor `%s', a není jej tøeba stahovat.\n"
+msgstr ""
+"Vzdálený soubor není novější, než lokální soubor „%s“, a není jej třeba "
+"stahovat.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1337
+#: src/ftp.c:1444
 #, c-format
-msgid "Remote file is newer than local file `%s' -- retrieving.\n\n"
-msgstr "Vzdálený soubor je novìj¹í, ne¾ lokální soubor `%s', a je jej tøeba stáhnout.\n\n"
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"Vzdálený soubor je novější, než lokální soubor „%s“, a je jej třeba "
+"stáhnout.\n"
+"\n"
 
-# , c-format
-#. Sizes do not match
-#: src/ftp.c:1344
+#: src/ftp.c:1451
 #, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n\n"
-msgstr "Velikosti se neshodují (lokálnì %ld), soubor je tøeba stáhnout.\n\n"
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"Velikosti se neshodují (lokální %s), stahuji.\n"
+"\n"
 
-#: src/ftp.c:1361
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
-msgstr "Pøeskakuje se symbolický odkaz, nebo» název odkazu není platný.\n"
+msgstr "Přeskakuje se symbolický odkaz, neboť název odkazu není platný.\n"
 
-# , c-format
-#: src/ftp.c:1378
+#: src/ftp.c:1486
 #, c-format
-msgid "Already have correct symlink %s -> %s\n\n"
-msgstr "Korektní symbolický odkaz %s -> %s ji¾ existuje.\n\n"
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Korektní symbolický odkaz %s -> %s již existuje.\n"
+"\n"
 
-# , c-format
-#: src/ftp.c:1386
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
-msgstr "Vytváøí se symbolický odkaz %s -> %s\n"
+msgstr "Vytváří se symbolický odkaz %s -> %s\n"
 
-# , c-format
-#: src/ftp.c:1397
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Symbolický odkaz `%s' bude vynechán, proto¾e systém symbolické odkazy nepodporuje.\n"
+msgstr ""
+"Symbolický odkaz „%s“ bude vynechán, protože systém symbolické odkazy "
+"nepodporuje.\n"
 
-# , c-format
-#: src/ftp.c:1409
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
-msgstr "Adresáø `%s' bude vynechán.\n"
+msgstr "Adresář „%s“ bude vynechán.\n"
 
-# , c-format
-#: src/ftp.c:1418
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
-msgstr "%s: neznámý/nepodporovaný typ souboru.\n"
+msgstr "%s: neznámý/nepodporovaný typ souboru.\n"
 
-# , c-format
-#: src/ftp.c:1445
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
-msgstr "%s: èasové razítko souboru je poru¹ené.\n"
+msgstr "%s: časové razítko souboru je porušené.\n"
 
-# , c-format
-#: src/ftp.c:1466
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Podadresáøe se nebudou pøená¹et, proto¾e ji¾ bylo dosa¾eno hloubky %d (maximum je %d).\n"
+msgstr ""
+"Podadresáře se nebudou přenášet, protože již bylo dosaženo hloubky %d "
+"(maximum je %d).\n"
 
-# , c-format
-#: src/ftp.c:1512
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr ""
-"Do adresáøe `%s' se nesetupuje, proto¾e tento adresáø se buï má vynechat nebo\n"
-"nebyl zadán k procházení.\n"
+"Do adresáře „%s“ se nesetupuje, protože tento adresář se buď má vynechat "
+"nebo\n"
+"nebyl zadán k procházení.\n"
 
-# , c-format
-#: src/ftp.c:1559
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
-msgstr "Soubor `%s' se nemá stahovat.\n"
+msgstr "Soubor „%s“ se nemá stahovat.\n"
 
-# , c-format
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1606
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Při zápisu do „%s“ nastala chyba: %s.\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
-msgstr "Vzorku `%s' nic neodpovídá.\n"
+msgstr "Vzorku „%s“ nic neodpovídá.\n"
 
-# , c-format
-#: src/ftp.c:1671
+#: src/ftp.c:1840
 #, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
-msgstr "Výpis adresáøe v HTML formátu byl zapsán do `%s' [%ld].\n"
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr "Výpis adresáře v HTML formátu byl zapsán do „%s“ [%s].\n"
 
-# , c-format
-#: src/ftp.c:1676
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
-msgstr "Výpis adresáøe v HTML formátu byl zapsán do `%s'.\n"
+msgstr "Výpis adresáře v HTML formátu byl zapsán do „%s“.\n"
 
-# , c-format
-#: src/getopt.c:454
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: pøepínaè `%s' není jednoznaèný\n"
+#: src/host.c:348
+msgid "Unknown host"
+msgstr "Neznámé jméno počítače"
 
-# , c-format
-#: src/getopt.c:478
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: pøepínaè `--%s' nemá argument\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr "Dočasná chyba při překladu jména"
 
-# , c-format
-#: src/getopt.c:483
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: pøepínaè `%c%s' nemá argument\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Neznámá chyba"
 
-# , c-format
-#: src/getopt.c:498
+#: src/host.c:715
 #, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: pøepínaè `%s' vy¾aduje argument\n"
+msgid "Resolving %s... "
+msgstr "Překládám %s… "
 
-# , c-format
-#. --option
-#: src/getopt.c:528
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: neznámý pøepínaè `--%s'\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr "selhal: Pro dané jméno neexistuje žádná IPv4/IPv6 adresa.\n"
 
-# , c-format
-#. +option or -option
-#: src/getopt.c:532
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: neznámý pøepínaè `%c%s'\n"
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr "selhal: vypršel časový limit.\n"
 
-# , c-format
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:563
+#: src/html-url.c:289
 #, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: nepøípustný pøepínaè -- %c\n"
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr "%s: Neúplný odkaz %s nelze vyhodnotit.\n"
 
-# , c-format
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:602
+#: src/html-url.c:696
 #, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: pøepínaè vy¾aduje argument -- %c\n"
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Neplatné URL %s: %s\n"
 
-#: src/host.c:374
-msgid "Host not found"
-msgstr "Poèítaè nebyl nalezen"
+#: src/http.c:368
+#, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Nebylo možné odeslat HTTP požadavek: %s.\n"
 
-#: src/host.c:376
-msgid "Unknown error"
-msgstr "Neznámá chyba"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr "Chybí hlavičky, předpokládám HTTP/0.9"
 
-#. this is fatal
-#: src/http.c:555
-msgid "Failed to set up an SSL context\n"
-msgstr "Nebylo mo¾né nastavit SSL kontext\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr "Vypínám SSL kvůli chybám, které se vyskytly.\n"
 
-#: src/http.c:561
+#: src/http.c:1570
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "SSL certifikáty nebylo mo¾né ze souboru `%s' naèíst.\n"
-
-#: src/http.c:565 src/http.c:573
-msgid "Trying without the specified certificate\n"
-msgstr "Program se pokusí pokraèovat bez zadaného certifikátu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr "Soubor „%s“ s daty pro POST chybí: %s\n"
 
-#: src/http.c:569
+#: src/http.c:1619
 #, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Ze souboru `%s' nebylo mo¾né klíè k certifikátu naèíst.\n\n"
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Využívám existující spojení s %s:%d.\n"
 
-#: src/http.c:663 src/http.c:1593
-msgid "Unable to establish SSL connection.\n"
-msgstr "Nebylo mo¾né navázat SSL spojení.\n"
-
-# , c-format
-#: src/http.c:671
+#: src/http.c:1687
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
-msgstr "Program vyu¾ije existující spojení s %s:%hu.\n"
+msgid "Failed reading proxy response: %s\n"
+msgstr "Chyba při čtení odpovědi od proxy: %s\n"
 
-#: src/http.c:861
+#: src/http.c:1707
 #, c-format
-msgid "Failed writing HTTP request: %s.\n"
-msgstr "Nebylo mo¾né odeslat HTTP po¾adavek: %s.\n"
+msgid "Proxy tunneling failed: %s"
+msgstr "Tunelování zkrz proxy se nezdařilo: %s"
 
-# , c-format
-#: src/http.c:866
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
-msgstr "%s po¾adavek odeslán, program èeká na odpovìï ... "
+msgstr "%s požadavek odeslán, program čeká na odpověď… "
 
-#: src/http.c:910
-msgid "End of file while parsing headers.\n"
-msgstr "Hlavièka není úplná.\n"
+#: src/http.c:1763
+msgid "No data received.\n"
+msgstr "Nepřišla žádná data.\n"
 
-# , c-format
-#: src/http.c:920
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
-msgstr "Chyba (%s) pøi ètení hlavièek.\n"
+msgstr "Chyba (%s) při čtení hlaviček.\n"
 
-#: src/http.c:959
-msgid "No data received"
-msgstr "Nepøi¹la ¾ádná data"
-
-#: src/http.c:961
-msgid "Malformed status line"
-msgstr "Odpovìï serveru má zkomolený stavový øádek"
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Soubor „%s“ je již zde, nebudu jej třeba přenášet.\n"
+"\n"
 
-#: src/http.c:966
-msgid "(no description)"
-msgstr "(¾ádný popis)"
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Server požaduje neznámý způsob autentifikace.\n"
 
-#: src/http.c:1089
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Autorizace selhala.\n"
 
-#: src/http.c:1096
-msgid "Unknown authentication scheme.\n"
-msgstr "Server po¾aduje neznámý zpùsob autentifikace.\n"
+#: src/http.c:2014
+msgid "Malformed status line"
+msgstr "Odpověď serveru má zkomolený stavový řádek"
 
-# , c-format
-#: src/http.c:1136
+#: src/http.c:2016
+msgid "(no description)"
+msgstr "(žádný popis)"
+
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
-msgstr "Pøesmìrováno na: %s%s\n"
+msgstr "Přesměrováno na: %s%s\n"
 
-#: src/http.c:1137 src/http.c:1269
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
-msgstr "neudáno"
+msgstr "neudáno"
 
-#: src/http.c:1138
+#: src/http.c:2084
 msgid " [following]"
-msgstr " [následuji]"
+msgstr " [následuji]"
 
-#: src/http.c:1200
-msgid "\n    The file is already fully retrieved; nothing to do.\n\n"
-msgstr "\n    Soubor je ji¾ plnì pøenesen, nebude se nic dìlat.\n\n"
-
-#: src/http.c:1216
-#, c-format
+#: src/http.c:2140
 msgid ""
 "\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
+"    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-"Na pøeru¹ené stahování tohoto souboru nelze navázat. Bylo ov¹em zadáno `-c'.\n"
-"Existující soubor `%s' tedy radìji nebude zkrácen.\n"
+"    Soubor je již plně přenesen, nebude se nic dělat.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1259
+#: src/http.c:2173
 msgid "Length: "
-msgstr "Délka: "
-
-# , c-format
-#: src/http.c:1264
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s zbývá)"
+msgstr "Délka: "
 
-#: src/http.c:1269
+#: src/http.c:2193
 msgid "ignored"
-msgstr "je ignorována"
+msgstr "je ignorována"
+
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Ukládám do: „%s“.\n"
 
-#: src/http.c:1399
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "Varování: HTTP nepodporuje ¾olíkové znaky.\n"
+msgstr "Varování: HTTP nepodporuje žolíkové znaky.\n"
 
-# , c-format
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1417
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Soubor `%s' je ji¾ zde a nebude se znovu pøená¹et.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Aktivován režim pavouka. Kontroluje, zda vzdálený soubor existuje.\n"
 
-# , c-format
-#: src/http.c:1585
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
-msgstr "Nelze zapsat do `%s' (%s).\n"
+msgstr "Nelze zapsat do „%s“ (%s).\n"
+
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Nebylo možné navázat SSL spojení.\n"
 
 # , c-format
-#: src/http.c:1602
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
-msgstr "CHYBA: Pøesmìrování (%d) bez udané nové adresy.\n"
+msgstr "CHYBA: Přesměrování (%d) bez udané nové adresy.\n"
 
-# , c-format
-#: src/http.c:1630
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Vzdálený soubor neexistuje – slepý odkaz!!!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s CHYBA %d: %s.\n"
 
-#: src/http.c:1642
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr ""
-"Nelze pou¾ít èasová razítka (`time-stamps'), proto¾e v odpovìdi serveru \n"
-"schází hlavièka \"Last-modified\".\n"
+"Nelze použít časová razítka, protože v odpovědi serveru \n"
+"schází hlavička „Last-modified“.\n"
 
-#: src/http.c:1650
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr ""
-"Èasové razítko souboru (`time-stamp') bude ignorováno, proto¾e hlavièka \n"
-"\"Last-modified\" obsahuje neplatné údaje.\n"
+"Časové razítko souboru bude ignorováno, protože hlavička \n"
+"„Last-modified“ obsahuje neplatné údaje.\n"
 
-#: src/http.c:1673
+#: src/http.c:2619
 #, c-format
-msgid "Server file no newer than local file `%s' -- not retrieving.\n\n"
-msgstr "Lokální soubor `%s' není star¹í, ne¾ vzdálený soubor, a není jej tøeba stahovat.\n\n"
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"Lokální soubor „%s“ není starší než vzdálený soubor a není třeba jej "
+"stahovat.\n"
+"\n"
 
-# , c-format
-#: src/http.c:1680
+#: src/http.c:2627
 #, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
-msgstr "Velikosti se neshodují (lokálnì %ld), soubor je tøeba stáhnout.\n"
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "Velikosti se neshodují (lokální %s), stahuji.\n"
 
-#: src/http.c:1684
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
-msgstr "Lokální soubor je star¹í a vzdálený soubor se proto bude pøená¹et.\n"
+msgstr "Lokální soubor je starší a vzdálený soubor se proto bude přenášet.\n"
 
-# , c-format
-#: src/http.c:1728
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld]\n\n"
-msgstr "%s (%s) - `%s' ulo¾eno [%ld/%ld]\n\n"
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Vzdálený soubor nexistuje a mohl by obsahovat odkazy na další "
+"zdroje – stahuji.\n"
+"\n"
 
-# , c-format
-#: src/http.c:1774
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Vzdálený soubor existuje, ale neobsahuje žádné odkazy – nestahuji.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Vzdálený soubor existuje, ale rekurze je vypnuta – nestahuji.\n"
+
+#: src/http.c:2715
 #, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Spojení ukonèeno na bajtu %ld. "
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) – „%s“ uloženo [%s/%s]\n"
+"\n"
 
-# , c-format
-#: src/http.c:1782
+#: src/http.c:2770
 #, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld])\n\n"
-msgstr "%s (%s) - `%s' ulo¾eno [%ld/%ld])\n\n"
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) – Spojení ukončeno na bajtu %s. "
 
-# , c-format
-#: src/http.c:1801
+#: src/http.c:2785
 #, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Spojení ukonèeno na bajtu %ld/%ld. "
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) – Chyba při čtení dat na bajtu %s (%s)."
 
-# , c-format
-#: src/http.c:1812
+#: src/http.c:2794
 #, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
-msgstr "%s (%s) - Chyba pøi ètení dat na bajtu %ld (%s)."
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) – Chyba při čtení dat na bajtu %s/%s (%s). "
 
-# , c-format
-#: src/http.c:1820
+#: src/init.c:387
 #, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
-msgstr "%s (%s) - Chyba pøi ètení dat na bajtu %ld/%ld (%s). "
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr "%s: WGETRC ukazuje na %s, který ale neexistuje.\n"
 
-# , c-format
-#: src/init.c:349 src/netrc.c:267
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
-msgstr "%s: Nelze pøeèíst %s (%s).\n"
+msgstr "%s: Nelze přečíst %s (%s).\n"
 
-# , c-format
-#: src/init.c:367 src/init.c:373
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
-msgstr "%s: Chyba v %s na øádku %d.\n"
+msgstr "%s: Chyba v %s na řádku %d.\n"
 
-# , c-format
-#: src/init.c:405
+#: src/init.c:474
 #, c-format
-msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Varování: Globální i u¾ivatelské wgetrc jsou shodnì ulo¾eny v `%s'.\n"
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Syntaktická chyba v %s na řádku %d.\n"
 
-# , c-format
-#: src/init.c:497
+#: src/init.c:479
 #, c-format
-msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-msgstr "%s: CHYBA: Neznámý pøíkaz `%s', hodnota `%s'.\n"
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Neznámý příkaz „%s“ v %s na řádku %d.\n"
 
-#: src/init.c:529
+#: src/init.c:524
 #, c-format
-msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
-msgstr "%s: %s: `%s' nelze pøevést na IP adresu.\n"
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr ""
+"%s: Varování: Globální i uživatelské wgetrc jsou shodně uloženy v „%s“.\n"
 
-# , c-format
-#: src/init.c:559
+#: src/init.c:677
 #, c-format
-msgid "%s: %s: Please specify on or off.\n"
-msgstr "%s: %s: Zadejte prosím `on' (zapnuto) nebo `off' (vypnuto).\n"
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Neplatný příkaz --execute „%s“\n"
 
-# , c-format
-#: src/init.c:603
+#: src/init.c:722
 #, c-format
-msgid "%s: %s: Please specify always, on, off, or never.\n"
-msgstr "%s: %s: Zadejte prosím `always' (v¾dy), `on' (zapnuto), `off' (vypnuto), nebo `never' (nikdy).\n"
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr ""
+"%s: %s: Chybná pravdivostní hodnota „%s“, zadejte „on“ (zapnuto) nebo "
+"„off“ (vypnuto).\n"
 
-# , c-format
-#: src/init.c:622 src/init.c:919 src/init.c:941 src/init.c:1005
+#: src/init.c:739
 #, c-format
-msgid "%s: %s: Invalid specification `%s'.\n"
-msgstr "%s: %s: Neplatná specifikace `%s'\n"
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Neplatné číslo „%s“\n"
 
-# , c-format
-#: src/init.c:775 src/init.c:797 src/init.c:819 src/init.c:845
+#: src/init.c:970 src/init.c:989
 #, c-format
-msgid "%s: Invalid specification `%s'\n"
-msgstr "%s: Neplatná specifikace `%s'\n"
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Neplatná hodnota bajtu „%s“\n"
 
-# , c-format
-#: src/main.c:120
+#: src/init.c:1014
 #, c-format
-msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "Pou¾ití: %s [PØEPÍNAÈ]... [URL]...\n"
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: Neplatná časová perioda „%s“\n"
 
-# , c-format
-#: src/main.c:128
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, program pro neinteraktivní stahování souborù.\n"
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Neplatná hodnota „%s“.\n"
 
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:133
-msgid "\nMandatory arguments to long options are mandatory for short options too.\n\n"
-msgstr ""
-"\n"
-"Argumenty, povinné u dlouhých pøepínaèù, jsou povinné i pro krátké verze\n"
-"pøepínaèù.\n"
-"\n"
+#: src/init.c:1105
+#, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Neplatná hlavička „%s“\n"
 
-#: src/main.c:137
+#: src/init.c:1171
+#, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Neplatný druh indikace postupu „%s“.\n"
+
+#: src/init.c:1230
+#, c-format
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr ""
-"Zaèátek:\n"
-"  -V,  --version           vypí¹e informaci o verzi programu Wget a skonèí\n"
-"  -h,  --help              vypí¹e tuto nápovìdu\n"
-"  -b,  --background        po spu¹tìní pokraèuje program v bìhu na pozadí\n"
-"  -e,  --execute=PØÍKAZ    proveïe pøíkaz zadaný ve stylu `.wgetrc'\n"
-"\n"
+"%s: %s: Neplatná hodnota omezení „%s“, použijte [unix|windows], [lowercase|"
+"uppercase] (malá/velká písmena), [nocontrol] (bez kontroly)\n"
 
-# , fuzzy
-#: src/main.c:144
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#: src/log.c:784
+#, c-format
+msgid ""
 "\n"
+"%s received, redirecting output to `%s'.\n"
 msgstr ""
-"Protokolování a vstupní soubor:\n"
-"  -o,  --output-file=SOUBOR   název souboru s protokolem\n"
-"  -a,  --append-output=SOUBOR protokol se pøipojí na konec tohoto souboru\n"
-"  -d,  --debug                vypisuje ladicí informace\n"
-"  -q,  --quiet                nevypisuje vùbec nic\n"
-"  -v,  --verbose              bude upovídaný (implicitnì zapnuto)\n"
-"  -nv, --non-verbose          vypisuje pouze nejdùle¾itìj¹í informace\n"
-"  -i,  --input-file=SOUBOR    výchozí URL odkazy naète z tohoto souboru\n"
-"  -F,  --force-html           soubor s URL je v HTML formátu\n"
-"  -B,  --base=URL             pøidá URL na zaèátky relat. odkazù pøi '-F -i'\n"
-"       --sslcertfile=SOUBOR   volitelný certifikát klienta\n"
-"       --sslcertkey=SOUBOR    volitelný soubor klíèù pro tento certifikát\n"
 "\n"
+"Obdržen signál %s, výstup přesměrován do „%s“.\n"
 
-# , fuzzy
-#: src/main.c:158
-msgid ""
-"Download:\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --dot-style=STYLE        set retrieval display style.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#: src/log.c:794
+#, c-format
+msgid ""
 "\n"
+"%s received.\n"
 msgstr ""
-"Stahování:\n"
-"       --bind-address=ADRESA    pou¾ij lokální rozhraní s danou adresou (IP nebo jméno)\n"
-"  -t,  --tries=ÈÍSLO            poèet pokusù stáhnout URL (0 donekoneèna)\n"
-"  -O   --output-document=SOUBOR sta¾ené dokumenty ukládá do tohoto souboru\n"
-"  -nc, --no-clobber             nepøepisuje existující soubory\n"
-"  -c,  --continue               pokraèuje ve stahování èásteènì pøenesených dat\n"
-"       --dot-style=STYL         nastaví zpùsob zobrazení pøi stahování dat\n"
-"  -N,  --timestamping           nestahuje star¹í soubory (zapne èasová razítka)\n"
-"  -S,  --server-response        vypisuje odpovìdi serveru\n"
-"       --spider                 nic nestahuje\n"
-"  -T,  --timeout=SEKUNDY        nastaví timeout pøi ètení na tuto hodnotu\n"
-"  -w,  --wait=POÈET             pøed ka¾dým stahováním poèká POÈET sekund\n"
-"       --waitretry=POÈET        èeká 1...POÈET sec pøed novým pokusem o sta¾ení\n"
-"  -Y,  --proxy=on/off           zapne pøenos pøes proxy (standardnì `off')\n"
-"  -Q,  --quota=BAJTÙ            nastaví limit objemu ulo¾ených dat\n"
 "\n"
+"obdržen signál %s.\n"
 
-# , fuzzy
-#: src/main.c:175
-msgid ""
-"Directories:\n"
-"  -nd  --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr "%s: %s: vypínám protokolování\n"
+
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Použití: %s [PŘEPÍNAČ]… [URL]…\n"
+
+#: src/main.c:369
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Adresáøe:\n"
-"  -nd  --no-directories            nevytváøí adresáøe\n"
-"  -x,  --force-directories         v¾dy vytváøí adresáøe\n"
-"  -nH, --no-host-directories       nevytváøí adresáøe s adresou serveru\n"
-"  -P,  --directory-prefix=PREFIX   ukládá data do PREFIX/...\n"
-"       --cut-dirs=POÈET            nevytváøí prvních POÈET podadresáøù\n"
+"Argumenty povinné u dlouhých přepínačů jsou povinné i pro jejich krátké "
+"verze.\n"
 "\n"
 
-# , fuzzy
-#: src/main.c:183
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"\n"
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr "Rozjezd:\n"
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr "  -V,  --version           zobrazí verzi Wgetu a skončí.\n"
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr "  -h,  --help              vytiskne tuto nápovědu.\n"
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr "  -b,  --background        po spuštění přejde do pozadí.\n"
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr "  -e,  --execute=PŘÍKAZ    provede příkaz jako z „.wgetrc“.\n"
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr "Protokolový a vstupní soubor:\n"
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr "  -o,  --output-file=SOUBOR  protokol zapisuje do SOUBORU.\n"
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr ""
-"Pøepínaèe pro HTTP:\n"
-"       --http-user=U®IVATEL  u¾ivatelské jméno pro autorizovaný HTTP pøenos\n"
-"       --http-passwd=HESLO   heslo pro autorizovaný HTTP pøenos \n"
-"  -C,  --cache=on/off        povolí èi zaká¾e pou¾ití vyrovnávací pamìti na\n"
-"                             stranì serveru (implicitnì `on')\n"
-"  -E,  --html-extension      ulo¾í dokumenty typu `text/html' s pøíponou .html\n"
-"       --ignore-length       ignoruje pole `Content-Length' v hlavièce\n"
-"       --header=ØETÌZEC      po¹le ØETÌZEC serveru jako souèást hlavièek\n"
-"       --proxy-user=U®IVATEL jméno u¾ivatele vy¾adované pro proxy pøenos\n"
-"       --proxy-passwd=HESLO  heslo pro proxy pøenos\n"
-"       --referer=URL         posílá v hlaviècce HTTP po¾adavku `Referer: URL'\n"
-"  -s,  --save-headers        do stahovaného souboru ulo¾í i hlavièky HTTP\n"
-"  -U,  --user-agent=AGENT    místo identifikace `Wget/VERZE' posílá v hlavièce \n"
-"                             HTTP po¾adavku identifikaèní øetìzec AGENT\n"
-"       --no-http-keep-alive  vypne HTTP keep-alive (trvalé spojení se serverem)\n"
-"       --cookies=off         nebude pou¾ívat koláèky (HTTP cookies)\n"
-"       --load-cookies=SOUBOR pøed sezením naète koláèky ze souboru SOUBOR\n"
-"       --save-cookies=SOUBOR po sezení ulo¾í koláèky do souboru SOUBOR\n"
-"\n"
+"  -a,  --append-output=SOUBOR\n"
+"                             zprávy připojuje k SOUBORU.\n"
 
-# , fuzzy
-#: src/main.c:201
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr "  -d,  --debug               tiskne mnoho ladicích informací.\n"
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              tiskne ladicí informace z Watt-32.\n"
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr "  -q,  --quiet               tichý režim (žádný výstup).\n"
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr "  -v,  --verbose             bude upovídaný (implicitní chování).\n"
+
+#: src/main.c:401
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          vypne upovídanost, aniž by byl zcela zticha.\n"
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr "  -i,  --input-file=SOUBOR   stáhne URL uvedená v SOUBORU.\n"
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr "  -F,  --force-html          vstupní soubor považuje za HTML soubor.\n"
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            předřadí URL relativním odkazům z -F -i "
+"souboru.\n"
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr "Stahování:\n"
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=POČET             nastaví POČET opakování (0 znamená "
+"neomezeno).\n"
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+"       --retry-connrefused       opakuje, i když spojení bude odmítnuto.\n"
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr "  -O,  --output-document=SOUBOR  dokumenty zapisuje do SOUBORU.\n"
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+"  -nc, --no-clobber              vynechá stahování, která by přepsala již\n"
+"                                 existující soubory.\n"
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                obnoví stahování částečně staženého "
+"souboru.\n"
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr "       --progress=DRUH           vybere druh indikátoru postupu.\n"
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+"  -N,  --timestamping            nesnaží se znovu získat soubory, jež mají\n"
+"                                 mladší místní kopii\n"
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr "  -S,  --server-response         tiskne odpověď serveru.\n"
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr "       --spider                  nestahuje nic.\n"
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+"  -T,  --timeout=SEKUNDY         nastaví všechny časové limity\n"
+"                                 na SEKUND.\n"
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+"       --dns-timeout=SEKUNDY     nastaví limit pro hledání v DNS\n"
+"                                 na SEKUND.\n"
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+"       --connect-timeout=SEKUNDY\n"
+"                                 nastaví limit pro navázání spojení\n"
+"                                 na SEKUND.\n"
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr "       --read-timeout=SEKUNDY    nastaví limit pro čtení na SEKUND\n"
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr "  -w,  --wait=SEKUNDY            čeká SEKUND mezi každým stažením.\n"
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SEKUNDY       čeká 1 až SEKUND mezi opakováním stažení.\n"
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             čeká od 0 do 2*WAIT sekund mezi staženími.\n"
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr "       --no-proxy                explicitně vypne proxy.\n"
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr "  -Q,  --quota=POČET             nastaví kvótu na POČET stažení.\n"
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADRESA     přilepí se (bind) na ADRESU (jméno nebo "
+"IP)\n"
+"                                 na tomto stroji.\n"
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+"       --limit-rate=RYCHLOST     omezí rychlost stahování na RYCHLOST.\n"
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr "       --no-dns-cache            zakáže kešování DNS odpovědí.\n"
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  omezí znaky ve jménech souborů na ty,\n"
+"                                 které dovoluje vybraný operační systém "
+"(OS).\n"
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             při porovnávání jmen souborů/adresářů\n"
+"                                 nebere zřetel na velikost písmen.\n"
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr "  -4,  --inet4-only              připojuje se jen na IPv4 adresy.\n"
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr "  -6,  --inet6-only              připojuje se jen na IPv6 adresy.\n"
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+"       --prefer-family=RODINA    připojuje se nejprve na adresu zadané\n"
+"                                 RODINY („IPv6“, „IPv4“ nebo "
+"„none“ (žádná))\n"
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+"       --user=UŽIVATEL           nastaví přihlašovací jméno uživatele\n"
+"                                 pro FTP i pro HTTP na UŽIVATELE.\n"
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=HESLO          nastaví heslo pro FTP i pro HTTP na HESLO.\n"
+
+#: src/main.c:476
+msgid "Directories:\n"
+msgstr "Adresáře:\n"
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr "  -nd, --no-directories           nevytváří adresáře,\n"
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr "  -x,  --force-directories        vynutí vytváření adresářů.\n"
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+"  -nH, --no-host-directories      nevytváří adresáře se jmény počítačů.\n"
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+"       --protocol-directories     použije jméno protokolu v adresářích.\n"
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr "  -P,  --directory-prefix=CESTA   uloží soubory do CESTA/…\n"
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=POČET           ignoruje POČET vzdálených adresářových\n"
+"                                  komponent.\n"
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr "Přepínače pro HTTP:\n"
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+"       --http-user=UŽIVATEL    nastaví přihlašovací jméno uživatele\n"
+"                               pro HTTP na UŽIVATELE.\n"
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr "       --http-password=HESLO   nastaví heslo pro HTTP na HESLO.\n"
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr "       --no-cache              zakáže kešování na straně serveru.\n"
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        HTML dokumenty ukládá s příponou „.html“.\n"
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr "       --ignore-length         ignoruje hlavičku „Content-Length“.\n"
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr "       --header=ŘETĚZEC        ke hlavičkám přidá ŘETĚZEC.\n"
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          maximum přesměrování povolených\n"
+"                               na stránku.\n"
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+"       --proxy-user=UŽIVATEL   nastaví UŽIVATELE jako přihlašovací jméno\n"
+"                               uživatele pro proxy.\n"
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr "       --proxy-password=HESLO  nastaví HESLO jako heslo pro proxy.\n"
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr ""
-"Pøepínaèe pro FTP protokol:\n"
-"  -nr, --dont-remove-listing  nema¾e soubory `.listing' s obsahy adresáøù\n"
-"  -g,  --glob=on/off          zapne èi vypne expanzi ¾olíkù ve jménech souborù\n"
-"       --passive-ftp          pou¾ije pasivní mód pøenosu dat\n"
-"       --retr-symlinks        v rekurzivním módu stahuje i symbolické odkazy na\n"
-"                              soubory (nikoliv na adresáøe)\n"
+"       --referer=URL           zahrne hlavičku „Referer: URL“ do\n"
+"                               HTTP požadavku.\n"
 
-#: src/main.c:208
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr "       --save-headers          hlavičky HTTP uloží do souboru.\n"
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identifikuje se jako AGENT místo Wget/VERZE.\n"
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    zakáže HTTP keep-alive (trvalá spojení).\n"
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr "       --no-cookies            nepoužívá cookies.\n"
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr "       --load-cookies=SOUBOR   před relací načte cookies ze SOUBORU.\n"
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr "       --save-cookies=SOUBOR   po relaci uloží cookies do SOUBORU.\n"
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  načte a uloží cookies relace (ne-trvalé).\n"
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=ŘETĚZEC     použije metodu POST, jako data pošle "
+"ŘETĚZEC.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=SOUBOR      použije metodu POST, pošle obsah SOUBORU.\n"
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   při volbě jména místního souboru vezme "
+"v úvahu\n"
+"                               hlavičku Content-Disposition (POKUSNÉ).\n"
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr "Přepínače HTTPS (SSL/TLS):\n"
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+"       --secure-protocol=PROT   vybere bezpečnostní protokol, jeden z "
+"„auto“,\n"
+"                                „SSLv2“, „SSLv3“ a „TLSv1“.\n"
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr "       --no-check-certificate   neověřuje certifikát serveru.\n"
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr "       --certificate=SOUBOR     soubor s certifikátem klienta.\n"
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+"       --certificate-type=DRUH  druh certifikátu klienta: „PEM“ nebo „DER“.\n"
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr "       --private-key=SOUBOR     soubor se soukromým klíčem.\n"
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+"       --private-key-type=DRUH  druh soukromého klíče: „PEM“ nebo „DER“.\n"
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+"       --ca-certificate=SOUBOR  soubor se sbírkou certifikačních autorit.\n"
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=ADRESÁŘ   adresář obsahující hashe jmen\n"
+"                                certifikačních autorit.\n"
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=SOUBOR     soubor s náhodnými daty pro zdroj SSL PRNG.\n"
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=SOUBOR        soubor jmenující soket EGD s náhodnými "
+"daty.\n"
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr "Přepínače FTP:\n"
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+"       --ftp-user=UŽIVATEL     nastaví přihlašovací jméno na UŽIVATELE.\n"
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr "       --ftp-password=HESLO    nastaví heslo pro FTP na HESLO.\n"
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr "       --no-remove-listing     neodstraňuje soubory „.listing“.\n"
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr "       --no-glob               neexpanduje jména FTP souborů.\n"
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr "       --no-passive-ftp        zakáže pasivní režim přenosu.\n"
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         při rekurzi stáhne soubory (adresáře ne),\n"
+"                               na které odkazuje symbolický odkaz.\n"
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr "       --preserve-permissions  zachová přístupová práva ze serveru.\n"
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr "Rekurzivní stahování:\n"
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr "  -r,  --recursive          zapne rekurzivní stahování.\n"
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=POČET        maximální hloubka rekurze\n"
+"                            („inf“ nebo „0“ pro nekonečno).\n"
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive web-suck -- use with care!\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+"       --delete-after       smaže soubory lokálně po té, co dokončí "
+"stahování.\n"
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      učiní odkazy v HTML odkazující na místní "
+"soubory.\n"
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"\n"
 msgstr ""
-"Rekurzivní stahování:\n"
-"  -r,  --recursive             rekurzivní stahování -- buïte opatrní!\n"
-"  -l,  --level=ÈÍSLO           maximální hloubka rekurze (0 bez limitu)\n"
-"       --delete-after          po pøenosu sma¾e sta¾ené soubory\n"
-"  -k,  --convert-links         absolutní URL pøeveïe na relativní\n"
-"  -K,  --backup-converted      pøed konverzí ulo¾í `X' jako `X.orig'\n"
-"  -m,  --mirror                zapne pøepínaèe vhodné pro zrcadlení dat \n"
-"  -p,  --page-requisites       stáhne v¹e nutné pro zobrazení HTML stránky\n"
+"  -K,  --backup-converted   před konverzí souboru X jej zazálohuje jako X."
+"orig.\n"
 
-# , fuzzy
-#: src/main.c:218
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -nh, --no-host-lookup             don't DNS-lookup hosts.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
 msgstr ""
-"Omezení pøi rekurzi:\n"
-"  -A,  --accept=SEZNAM              seznam povolených extenzí souborù\n"
-"  -R,  --reject=SEZNAM              seznam nepovolených extenzí souborù\n"
-"  -D,  --domains=SEZNAM             seznam povolených domén\n"
-"       --exclude-domains=SEZNAM     seznam nepovolených domén\n"
-"       --follow-ftp                 následuje FTP odkazy v HTML dokumentech\n"
-"       --follow-tags=LIST           seznam následovaných HTML znaèek \n"
-"  -G,  --ignore-tags=LIST           seznam ignorovaných HTML znaèek\n"
-"  -H,  --span-hosts                 naèítá dokumenty i z ostatních serverù\n"
-"  -I,  --include-directories=SEZNAM seznam povolených adresáøù\n"
-"  -L,  --relative                   následuje pouze relativní odkazy\n"
-"  -X,  --exclude-directories=SEZNAM seznam vylouèených adresáøù\n"
-"  -nh, --no-host-lookup             nevyhledává adresy v DNS\n"
-"  -np, --no-parent                  nesestupuje do rodièovského adresáøe\n"
-"\n"
+"  -m,  --mirror             zkratka pro -N -r -l inf --no-remove-listing.\n"
 
-# , fuzzy
-#: src/main.c:234
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    získá všechny obrázky apod. potřebné pro\n"
+"                            zobrazení HTML stránky.\n"
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    zapne přísné zacházení s HTML komentáři podle "
+"SGML.\n"
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr "Rekurzivní povolení/zakázání:\n"
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=SEZNAM             čárkou oddělený seznam povolených "
+"přípon.\n"
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=SEZNAM             čárkou oddělený seznam zakázaných "
+"přípon.\n"
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=SEZNAM            čárkou oddělený seznam povolených domén.\n"
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=SEZNAM    čárkou oddělený seznam zakázaných domén.\n"
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                následuje FTP odkazy z HTML dokumentů.\n"
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=SEZNAM        čárkou oddělený seznam HTML značek "
+"určených\n"
+"                                   k následování.\n"
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=SEZNAM        čárkou oddělený seznam ignorovaných\n"
+"                                   HTML značek.\n"
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                při rekurzi přechází i na jiné počítače.\n"
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr "  -L,  --relative                  následuje jen relativní odkazy.\n"
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+"  -I,  --include-directories=SEZNAM\n"
+"                                   seznam povolených adresářů.\n"
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+"  -X,  --exclude-directories=SEZNAM\n"
+"                                   seznam zakázaných adresářů.\n"
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr "  -np, --no-parent                 nestoupá do nadřízeného adresáře.\n"
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr ""
-"Zprávy o chybách a návrhy na vylep¹ení programu zasílejte na adresu\n"
-"<bug-wget@gnu.org> (pouze anglicky).\n"
-"Komentáøe k èeskému pøekladu zasílejte na adresu <cs@li.org>. \n"
+"Zprávy o chybách a návrhy na vylepšení programu zasílejte na adresu\n"
+"<bug-wget@gnu.org> (pouze anglicky). Komentáře k českému překladu\n"
+"zasílejte na adresu <translation-team-cs@lists.sourceforge.net>.\n"
 
-# , fuzzy
-#: src/main.c:420
+# , c-format
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: program nebyl zkompilován s podporou pro ladìní.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, program pro neinteraktivní stahování souborů.\n"
 
-#: src/main.c:472
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2007 Free Software Foundation, Inc.\n"
+
+#: src/main.c:679
 msgid ""
-"Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
-"Tento program je ¹íøen v nadìji, ¾e bude u¾iteèný, av¹ak\n"
-"BEZ JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI \n"
-"anebo VHODNOSTI PRO URÈITÝ ÚÈEL. Dal¹í podrobnosti hledejte \n"
-"v Obecné veøejné licenci GNU.\n"
+"Licence GPLv3+: GNU GPL verze 3 nebo vyšší\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Toto je volné programové vybavení: máte právo jej měnit a dále šířit.\n"
+"Není poskytována ŽÁDNÁ ZÁRUKA, jak jen zákon dovoluje.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Původním autorem tohoto programu je Hrvoje Nikšić <hniksic@xemacs.org>.\n"
 
-#: src/main.c:478
-msgid "\nOriginally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"
-msgstr "\nPùvodním autorem tohto programu je Hrvoje Nik¹iæ <hniksic@arsdigita.com>.\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Nyní jej spravuje Micah Cowan <micah@cowan.name>.\n"
 
-# , c-format
-#: src/main.c:569
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
-msgid "%s: %s: invalid command\n"
-msgstr "%s: %s: neplatný pøíkaz\n"
+msgid "Try `%s --help' for more options.\n"
+msgstr "Příkaz „%s --help“ vypíše další přepínače.\n"
 
-# , c-format
-#: src/main.c:625
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: nepøípustný pøepínaè -- `-n%c'\n"
+msgstr "%s: nepřípustný přepínač – „-n%c“\n"
 
-# , c-format
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:628 src/main.c:670 src/main.c:728
+#: src/main.c:859
 #, c-format
-msgid "Try `%s --help' for more options.\n"
-msgstr "Pøíkaz `%s --help' vypí¹e význam platných pøepínaèù.\n"
-
-#: src/main.c:708
 msgid "Can't be verbose and quiet at the same time.\n"
-msgstr "Program nemù¾e být upovídaný a zitcha najednou.\n"
+msgstr "Program nemůže být upovídaný a zticha zároveň.\n"
 
-#: src/main.c:714
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Nelze pou¾ívat èasová razítka a nemazat pøitom staré soubory.\n"
+msgstr "Nelze používat časová razítka a nemazat přitom staré soubory.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr "--inet4-only a --inet6-only nelze zadat najednou.\n"
 
-#. No URL specified.
-#: src/main.c:723
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Je-li zadáno -O, nelze současně použí -r, -p nebo -N.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Je-li zadáno více URL, nelze najednou použít jak -k, tak i -O.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
-msgstr "%s: chybí URL\n"
+msgstr "%s: chybí URL\n"
 
-# , c-format
-#: src/main.c:825
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
-msgstr "V souboru `%s' nebyla nalezena ¾ádná URL.\n"
+msgstr "V souboru „%s“ nebyla nalezena žádná URL.\n"
 
-# , c-format
-#: src/main.c:834
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "KONEC --%s--\n"
-"Celkem naèteno %s bajtù v %d souborech\n"
+"Staženo: %d souborů, %s za %s (%s)\n"
 
-# , c-format
-#: src/main.c:842
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Pøekroèen limit objemu ulo¾ených dat (%s bajtù)!\n"
-
-#. Please note that the double `%' in `%%s' is intentional, because
-#. redirect_output passes tmp through printf.
-#: src/main.c:876
-msgid "%s received, redirecting output to `%%s'.\n"
-msgstr "Byl zachycen signál %s, výstup pøesmìrován do `%%s'.\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Kvóta %s na stahování PŘEKROČENA!\n"
 
-# , c-format
-#: src/mswindows.c:89
+#: src/mswindows.c:99
 #, c-format
-msgid ""
-"\n"
-"CTRL+Break received, redirecting output to `%s'.\n"
-"Execution continued in background.\n"
-"You may stop Wget by pressing CTRL+ALT+DELETE.\n"
-msgstr ""
-"\n"
-"Stiskli jste CTRL+Break, výstup byl proto pøesmìrován do `%s'.\n"
-"Program pokraèuje v bìhu na pozadí.\n"
-"Wget lze zastavit stiskem CTRL+ALT+DELETE.\n"
-
-#. parent, no error
-#: src/mswindows.c:106 src/utils.c:458
 msgid "Continuing in background.\n"
-msgstr "Program pokraèuje v bìhu na pozadí.\n"
+msgstr "Program pokračuje v běhu na pozadí.\n"
 
-# , c-format
-#: src/mswindows.c:108 src/utils.c:460
+#: src/mswindows.c:292
 #, c-format
-msgid "Output will be written to `%s'.\n"
-msgstr "Výstup bude zapsán do `%s'.\n"
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Program pokračuje v běhu na pozadí, pid %lu.\n"
 
-# , c-format
-#: src/mswindows.c:188
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Spou¹tí se WinHelp %s\n"
+msgid "Output will be written to `%s'.\n"
+msgstr "Výstup bude zapsán do „%s“.\n"
 
-#: src/mswindows.c:215 src/mswindows.c:222
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
-msgstr "%s: Nelze najít pou¾itelný ovladaè socketù.\n"
+msgstr "%s: Nelze najít použitelný ovladač soketů.\n"
 
-# , c-format
-#: src/netrc.c:367
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr ""
-"%s: %s:%d varování: token \"%s\" je uveden je¹tì pøed jakýmkoliv\n"
-"      názvem poèítaèe\n"
+"%s: %s:%d varování: token „%s“ je uveden ještě před jakýmkoliv\n"
+"      názvem počítače\n"
 
-# , c-format
-#: src/netrc.c:398
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
-msgstr "%s: %s:%d: neznámý token \"%s\"\n"
+msgstr "%s: %s:%d: neznámý token „%s“\n"
 
-# , c-format
-#: src/netrc.c:462
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
-msgstr "Pou¾ití: %s NETRC [NÁZEV POÈÍTAÈE]\n"
+msgstr "Použití: %s NETRC [NÁZEV POČÍTAČE]\n"
 
-# , c-format
-#: src/netrc.c:472
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
-msgstr "%s: volání `stat %s' skonèilo chybou: %s\n"
+msgstr "%s: volání „stat %s“ skončilo chybou: %s\n"
 
-# , c-format
-#: src/recur.c:484
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr "VAROVÁNÍ: používám slabý zdroj náhodných čísel.\n"
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "PRNG nelze zinicializovat, zvažte použití přepínače --random-file.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr "CHYBA"
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr "VAROVÁNÍ"
+
+#: src/openssl.c:497
 #, c-format
-msgid "Removing %s since it should be rejected.\n"
-msgstr "Ma¾e se %s, proto¾e tento soubor není po¾adován.\n"
+msgid "%s: No certificate presented by %s.\n"
+msgstr "%s: %s nepředložil žádný certifikát.\n"
 
-#: src/recur.c:679
-msgid "Loading robots.txt; please ignore errors.\n"
-msgstr "Naèítá se `robots.txt'. Chybová hlá¹ení ignorujte, prosím.\n"
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: certifikát pro %s vydaný „%s“ nelze ověřit:\n"
 
-# , c-format
-#: src/retr.c:227
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Autoritu vydavatele nelze lokálně ověřit.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Nalezen certifikát podepsaný sám sebou.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Vydaný certifikát ještě nenabyl platnosti.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Vydanému certifikátu uplynula doba platnosti.\n"
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: obecné jméno (CN) „%s“ na certifikátu se neshoduje s požadovaným jménem "
+"počítače „%s“.\n"
+
+#: src/openssl.c:581
 #, c-format
-msgid "\n          [ skipping %dK ]"
-msgstr "\n          [ pøeskakuje se %dK ]"
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr "Pro nezabezpečené spojení s %s použijte „--no-check-certificate“.\n"
 
-#: src/retr.c:373
-msgid "Could not find proxy host.\n"
-msgstr "Nelze najít proxy server.\n"
+#: src/progress.c:242
+#, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ přeskakuje se %s K ]"
 
-# , c-format
-#: src/retr.c:387
+#: src/progress.c:456
 #, c-format
-msgid "Proxy %s: Must be HTTP.\n"
-msgstr "Proxy %s: Musí být HTTP.\n"
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr "„%s“ není platné určení způsobu indikace, ponechávám nezměněno.\n"
 
-# , c-format
-#: src/retr.c:481
+#: src/progress.c:802
 #, c-format
-msgid "%s: Redirection cycle detected.\n"
-msgstr "%s: Detekováno zacyklené pøesmìrování.\n"
+msgid "  eta %s"
+msgstr " zbývá %s"
 
-#: src/retr.c:587
-msgid "Giving up.\n\n"
-msgstr "Ani poslední pokus nebyl úspì¹ný.\n\n"
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   za "
 
-#: src/retr.c:587
-msgid "Retrying.\n\n"
-msgstr "Zkusí se to znovu.\n\n"
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Frekvenci hodin REÁLNÉHO ČASU nelze určit: %s\n"
 
-# , c-format
-#: src/url.c:1329
+#: src/recur.c:379
 #, c-format
-msgid "Converting %s... "
-msgstr "Pøevádí se %s... "
+msgid "Removing %s since it should be rejected.\n"
+msgstr "Maže se %s, protože tento soubor není požadován.\n"
 
-#: src/url.c:1342
-msgid "nothing to do.\n"
-msgstr "nic není potøeba pøevádìt.\n"
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "%s nelze otevřít: %s"
 
-# , c-format
-#: src/url.c:1350 src/url.c:1374
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "Načítá se „robots.txt“. Chybová hlášení ignorujte, prosím.\n"
+
+#: src/retr.c:652
 #, c-format
-msgid "Cannot convert links in %s: %s\n"
-msgstr "Nelze pøevést odkazy v %s: %s\n"
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "Chyba rozebírání URL proxy serveru %s: %s.\n"
 
-# , c-format
-#: src/url.c:1365
+#: src/retr.c:660
 #, c-format
-msgid "Unable to delete `%s': %s\n"
-msgstr "Nebylo mo¾né odstranit `%s': %s\n"
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Chyba v URL Proxy %s: Musí být HTTP.\n"
 
-# , c-format
-#: src/url.c:1555
+#: src/retr.c:746
 #, c-format
-msgid "Cannot back up %s as %s: %s\n"
-msgstr "Nelze zálohovat %s jako %s: %s\n"
+msgid "%d redirections exceeded.\n"
+msgstr "Překročeno %d přesměrování.\n"
 
-# , c-format
-#: src/utils.c:94
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Ani poslední pokus nebyl úspěšný.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Zkusí se to znovu.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Nenalezeny žádné slepé odkazy.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Nalezen %d slepý odkaz.\n"
+"\n"
+msgstr[1] ""
+"Nalezeny %d slepé odkazy.\n"
+"\n"
+msgstr[2] ""
+"Nalezeno %d slepých odkazů.\n"
+"\n"
+
+#: src/spider.c:91
 #, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Není dost pamìti.\n"
+msgid "%s\n"
+msgstr "%s\n"
 
-#: src/utils.c:417
-msgid "Unknown/unsupported protocol"
-msgstr "Neznámý/nepodporovaný protokol"
+#: src/url.c:620
+msgid "No error"
+msgstr "Bez chyby"
 
-#: src/utils.c:420
-msgid "Invalid port specification"
-msgstr "Neplatná specifikace portu"
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr "Nepodporované schéma"
 
-#: src/utils.c:423
+#: src/url.c:624
 msgid "Invalid host name"
-msgstr "Neplatné jméno stroje"
+msgstr "Neplatné jméno stroje"
 
-# , c-format
-#: src/utils.c:620
+#: src/url.c:626
+msgid "Bad port number"
+msgstr "Chybné číslo portu"
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr "Neplatné jméno uživatele"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr "Neukončená číselní IPv6 adresa"
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr "IPv6 adresy nejsou podporovány"
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr "Chybná číselná IPv6 adresa"
+
+#: src/utils.c:328
+#, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "Program pokračuje v běhu na pozadí. pid %d\n"
+
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
-msgstr "Nebylo mo¾né odstranit symbolický odkaz `%s': %s\n"
+msgstr "Nebylo možné odstranit symbolický odkaz „%s“: %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr "%s: %s: alokace %ld bajtů selhala, paměť vyčerpána.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   explicitně zapne proxy.\n"
+
+#~ msgid ""
+#~ "       --no-content-disposition  don't honor Content-Disposition header.\n"
+#~ msgstr ""
+#~ "       --no-content-disposition  nebere v úvahu hlavičku Content-"
+#~ "Disposition.\n"
+
+#~ msgid "%s referred by:\n"
+#~ msgstr "%s odkázán z:\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Chyba v hlavičce Set-Cookie v poli „%s“"
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: Chybná rozšířená pravdivostní hodnota „%s“;\n"
+#~ "zadejte jeden z: „on“ (zapnuto), „off“ (vypnuto), „always“ (vždy) nebo\n"
+#~ "„never“ (nikdy).\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Tento program je šířen v naději, že bude užitečný, avšak\n"
+#~ "BEZ JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI \n"
+#~ "anebo VHODNOSTI PRO URČITÝ ÚČEL. Další podrobnosti hledejte \n"
+#~ "v Obecné veřejné licenci GNU (GNU General Public License).\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: Chyba ověřování certifikátu pro %s: %s\n"
+
+#~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
+#~ msgstr "Syntaktická chyba v hlavičce Set-Cookie na znaku „%c“.\n"
+
+# , c-format
+#~ msgid "Connection to %s:%hu refused.\n"
+#~ msgstr "Spojení s %s:%hu odmítnuto.\n"
+
+# , c-format
+#~ msgid "Will try connecting to %s:%hu.\n"
+#~ msgstr "Program se pokusí spojit s %s:%hu.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Příkaz REST selhal, „%s“ nebude zkráceno.\n"
+
+# , c-format
+#~ msgid " [%s to go]"
+#~ msgstr " [%s zbývá]"
+
+#~ msgid "Host not found"
+#~ msgstr "Počítač nebyl nalezen"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Nebylo možné nastavit SSL kontext\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "SSL certifikáty nebylo možné ze souboru „%s“ načíst.\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Program se pokusí pokračovat bez zadaného certifikátu.\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr ""
+#~ "Ze souboru „%s“ nebylo možné klíč k certifikátu načíst.\n"
+#~ "\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Hlavička není úplná.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Na přerušené stahování tohoto souboru nelze navázat. Bylo ovšem zadáno `-"
+#~ "c'.\n"
+#~ "Existující soubor „%s“ tedy raději nebude zkrácen.\n"
+#~ "\n"
+
+# , c-format
+#~ msgid " (%s to go)"
+#~ msgstr " (%s zbývá)"
+
+# , c-format
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Soubor „%s“ je již zde a nebude se znovu přenášet.\n"
+
+# , c-format
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - „%s“ uloženo [%ld/%ld])\n"
+#~ "\n"
+
+# , c-format
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Spojení ukončeno na bajtu %ld/%ld. "
+
+#~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
+#~ msgstr "%s: %s: „%s“ nelze převést na IP adresu.\n"
+
+# , c-format
+#~ msgid "%s: %s: Please specify always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: Zadejte prosím „always“ (vždy), „on“ (zapnuto), „off“ (vypnuto), "
+#~ "nebo „never“ (nikdy).\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Začátek:\n"
+#~ "  -V,  --version           vypíše informaci o verzi programu Wget a "
+#~ "skončí\n"
+#~ "  -h,  --help              vypíše tuto nápovědu\n"
+#~ "  -b,  --background        po spuštění pokračuje program v běhu na "
+#~ "pozadí\n"
+#~ "  -e,  --execute=PŘÍKAZ    provede příkaz zadaný ve stylu „.wgetrc“\n"
+#~ "\n"
+
+# , fuzzy
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Protokolování a vstupní soubor:\n"
+#~ "  -o,  --output-file=SOUBOR   název souboru s protokolem\n"
+#~ "  -a,  --append-output=SOUBOR protokol se připojí na konec tohoto "
+#~ "souboru\n"
+#~ "  -d,  --debug                vypisuje ladicí informace\n"
+#~ "  -q,  --quiet                nevypisuje vůbec nic\n"
+#~ "  -v,  --verbose              bude upovídaný (implicitně zapnuto)\n"
+#~ "  -nv, --non-verbose          vypisuje pouze nejdůležitější informace\n"
+#~ "  -i,  --input-file=SOUBOR    výchozí URL odkazy načte z tohoto souboru\n"
+#~ "  -F,  --force-html           soubor s URL je v HTML formátu\n"
+#~ "  -B,  --base=URL             přidá URL na začátky relat. odkazů při '-F -"
+#~ "i'\n"
+#~ "       --sslcertfile=SOUBOR   volitelný certifikát klienta\n"
+#~ "       --sslcertkey=SOUBOR    volitelný soubor klíčů pro tento "
+#~ "certifikát\n"
+#~ "\n"
+
+# , fuzzy
+#~ msgid ""
+#~ "Download:\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --dot-style=STYLE        set retrieval display style.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Stahování:\n"
+#~ "       --bind-address=ADRESA    použij lokální rozhraní s danou adresou "
+#~ "(IP nebo jméno)\n"
+#~ "  -t,  --tries=ČÍSLO            počet pokusů stáhnout URL (0 "
+#~ "donekonečna)\n"
+#~ "  -O   --output-document=SOUBOR stažené dokumenty ukládá do tohoto "
+#~ "souboru\n"
+#~ "  -nc, --no-clobber             nepřepisuje existující soubory\n"
+#~ "  -c,  --continue               pokračuje ve stahování částečně "
+#~ "přenesených dat\n"
+#~ "       --dot-style=STYL         nastaví způsob zobrazení při stahování "
+#~ "dat\n"
+#~ "  -N,  --timestamping           nestahuje starší soubory (zapne časová "
+#~ "razítka)\n"
+#~ "  -S,  --server-response        vypisuje odpovědi serveru\n"
+#~ "       --spider                 nic nestahuje\n"
+#~ "  -T,  --timeout=SEKUNDY        nastaví timeout při čtení na tuto "
+#~ "hodnotu\n"
+#~ "  -w,  --wait=POČET             před každým stahováním počká POČET "
+#~ "sekund\n"
+#~ "       --waitretry=POČET        čeká 1...POČET sec před novým pokusem o "
+#~ "stažení\n"
+#~ "  -Y,  --proxy=on/off           zapne přenos přes proxy (standardně "
+#~ "„off“)\n"
+#~ "  -Q,  --quota=BAJTŮ            nastaví limit objemu uložených dat\n"
+#~ "\n"
+
+# , fuzzy
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd  --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Adresáře:\n"
+#~ "  -nd  --no-directories            nevytváří adresáře\n"
+#~ "  -x,  --force-directories         vždy vytváří adresáře\n"
+#~ "  -nH, --no-host-directories       nevytváří adresáře s adresou serveru\n"
+#~ "  -P,  --directory-prefix=PREFIX   ukládá data do PREFIX/...\n"
+#~ "       --cut-dirs=POČET            nevytváří prvních POČET podadresářů\n"
+#~ "\n"
+
+# , fuzzy
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Přepínače pro HTTP:\n"
+#~ "       --http-user=UŽIVATEL  uživatelské jméno pro autorizovaný HTTP "
+#~ "přenos\n"
+#~ "       --http-passwd=HESLO   heslo pro autorizovaný HTTP přenos \n"
+#~ "  -C,  --cache=on/off        povolí či zakáže použití vyrovnávací paměti "
+#~ "na\n"
+#~ "                             straně serveru (implicitně „on“)\n"
+#~ "  -E,  --html-extension      uloží dokumenty typu „text/html“ s příponou ."
+#~ "html\n"
+#~ "       --ignore-length       ignoruje pole „Content-Length“ v hlavičce\n"
+#~ "       --header=ŘETĚZEC      pošle ŘETĚZEC serveru jako součást hlaviček\n"
+#~ "       --proxy-user=UŽIVATEL jméno uživatele vyžadované pro proxy přenos\n"
+#~ "       --proxy-passwd=HESLO  heslo pro proxy přenos\n"
+#~ "       --referer=URL         posílá v hlavičcce HTTP požadavku `Referer: "
+#~ "URL'\n"
+#~ "  -s,  --save-headers        do stahovaného souboru uloží i hlavičky "
+#~ "HTTP\n"
+#~ "  -U,  --user-agent=AGENT    místo identifikace „Wget/VERZE“ posílá v "
+#~ "hlavičce \n"
+#~ "                             HTTP požadavku identifikační řetězec AGENT\n"
+#~ "       --no-http-keep-alive  vypne HTTP keep-alive (trvalé spojení se "
+#~ "serverem)\n"
+#~ "       --cookies=off         nebude používat koláčky (HTTP cookies)\n"
+#~ "       --load-cookies=SOUBOR před sezením načte koláčky ze souboru "
+#~ "SOUBOR\n"
+#~ "       --save-cookies=SOUBOR po sezení uloží koláčky do souboru SOUBOR\n"
+#~ "\n"
+
+# , fuzzy
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove „.listing“ files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Přepínače pro FTP protokol:\n"
+#~ "  -nr, --dont-remove-listing  nemaže soubory „.listing“ s obsahy "
+#~ "adresářů\n"
+#~ "  -g,  --glob=on/off          zapne či vypne expanzi žolíků ve jménech "
+#~ "souborů\n"
+#~ "       --passive-ftp          použije pasivní mód přenosu dat\n"
+#~ "       --retr-symlinks        v rekurzivním módu stahuje i symbolické "
+#~ "odkazy na\n"
+#~ "                              soubory (nikoliv na adresáře)\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive web-suck -- use with care!\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rekurzivní stahování:\n"
+#~ "  -r,  --recursive             rekurzivní stahování -- buďte opatrní!\n"
+#~ "  -l,  --level=ČÍSLO           maximální hloubka rekurze (0 bez limitu)\n"
+#~ "       --delete-after          po přenosu smaže stažené soubory\n"
+#~ "  -k,  --convert-links         absolutní URL převede na relativní\n"
+#~ "  -K,  --backup-converted      před konverzí uloží „X“ jako „X.orig“\n"
+#~ "  -m,  --mirror                zapne přepínače vhodné pro zrcadlení dat \n"
+#~ "  -p,  --page-requisites       stáhne vše nutné pro zobrazení HTML "
+#~ "stránky\n"
+
+# , fuzzy
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -nh, --no-host-lookup             don't DNS-lookup hosts.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Omezení při rekurzi:\n"
+#~ "  -A,  --accept=SEZNAM              seznam povolených extenzí souborů\n"
+#~ "  -R,  --reject=SEZNAM              seznam nepovolených extenzí souborů\n"
+#~ "  -D,  --domains=SEZNAM             seznam povolených domén\n"
+#~ "       --exclude-domains=SEZNAM     seznam nepovolených domén\n"
+#~ "       --follow-ftp                 následuje FTP odkazy v HTML "
+#~ "dokumentech\n"
+#~ "       --follow-tags=LIST           seznam následovaných HTML značek \n"
+#~ "  -G,  --ignore-tags=LIST           seznam ignorovaných HTML značek\n"
+#~ "  -H,  --span-hosts                 načítá dokumenty i z ostatních "
+#~ "serverů\n"
+#~ "  -I,  --include-directories=SEZNAM seznam povolených adresářů\n"
+#~ "  -L,  --relative                   následuje pouze relativní odkazy\n"
+#~ "  -X,  --exclude-directories=SEZNAM seznam vyloučených adresářů\n"
+#~ "  -nh, --no-host-lookup             nevyhledává adresy v DNS\n"
+#~ "  -np, --no-parent                  nesestupuje do rodičovského adresáře\n"
+#~ "\n"
+
+# , fuzzy
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: program nebyl zkompilován s podporou pro ladění.\n"
+
+# , c-format
+#~ msgid "%s: %s: invalid command\n"
+#~ msgstr "%s: %s: neplatný příkaz\n"
+
+# , c-format
+#~ msgid ""
+#~ "\n"
+#~ "CTRL+Break received, redirecting output to `%s'.\n"
+#~ "Execution continued in background.\n"
+#~ "You may stop Wget by pressing CTRL+ALT+DELETE.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Stiskli jste CTRL+Break, výstup byl proto přesměrován do „%s“.\n"
+#~ "Program pokračuje v běhu na pozadí.\n"
+#~ "Wget lze zastavit stiskem CTRL+ALT+DELETE.\n"
+
+# , c-format
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Spouští se WinHelp %s\n"
+
+#~ msgid "Could not find proxy host.\n"
+#~ msgstr "Nelze najít proxy server.\n"
+
+# , c-format
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Není dost paměti.\n"
+
+#~ msgid "Unknown/unsupported protocol"
+#~ msgstr "Neznámý/nepodporovaný protokol"
+
+#~ msgid "Invalid port specification"
+#~ msgstr "Neplatná specifikace portu"
 
 #~ msgid "%s: Cannot determine user-id.\n"
-#~ msgstr "%s: Nelze zjistit ID u¾ivatele.\n"
+#~ msgstr "%s: Nelze zjistit ID uživatele.\n"
 
-#~ # , c-format
+# , c-format
 #~ msgid "%s: Warning: uname failed: %s\n"
-#~ msgstr "%s: Varování: Volání funkce \"uname\" skonèilo chybou %s\n"
+#~ msgstr "%s: Varování: Volání funkce \"uname\" skončilo chybou %s\n"
 
 #~ msgid "%s: Warning: gethostname failed\n"
-#~ msgstr "%s: Varování: Volání funkce \"gethostname\" skonèilo chybou\n"
+#~ msgstr "%s: Varování: Volání funkce \"gethostname\" skončilo chybou\n"
 
 #~ msgid "%s: Warning: cannot determine local IP address.\n"
-#~ msgstr "%s: Varování: Nelze zjistit lokální IP adresu.\n"
+#~ msgstr "%s: Varování: Nelze zjistit lokální IP adresu.\n"
 
 #~ msgid "%s: Warning: cannot reverse-lookup local IP address.\n"
-#~ msgstr "%s: Varování: Lokální IP adresa nemá reverzní DNS záznam.\n"
+#~ msgstr "%s: Varování: Lokální IP adresa nemá reverzní DNS záznam.\n"
 
 #~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
 #~ msgstr ""
-#~ "%s: Varování: Zpìtné vyhledání lokální adresy nenavrátilo plnì \n"
-#~ "kvalifikované jméno domény!\n"
+#~ "%s: Varování: Zpětné vyhledání lokální adresy nenavrátilo plně \n"
+#~ "kvalifikované jméno domény!\n"
 
-#~ # , c-format
+# , c-format
 #~ msgid "%s: Redirection to itself.\n"
-#~ msgstr "%s: Pøesmìrování na sebe sama.\n"
+#~ msgstr "%s: Přesměrování na sebe sama.\n"
 
-#~ # , c-format
+# , c-format
 #~ msgid "Error (%s): Link %s without a base provided.\n"
-#~ msgstr "Chyba (%s): K relativnímu odkazu %s nelze najít bázový odkaz.\n"
+#~ msgstr "Chyba (%s): K relativnímu odkazu %s nelze najít bázový odkaz.\n"
 
-#~ # , c-format
+# , c-format
 #~ msgid "Error (%s): Base %s relative, without referer URL.\n"
-#~ msgstr "Chyba (%s): Bázový odkaz %s nesmí být relativní.\n"
+#~ msgstr "Chyba (%s): Bázový odkaz %s nesmí být relativní.\n"
 
-#~ # , c-format
-#~ msgid "Local file `%s' is more recent, not retrieving.\n\n"
-#~ msgstr "Soubor `%s' nebudu pøená¹et, proto¾e lokální verze je novìj¹í.\n\n"
+# , c-format
+#~ msgid ""
+#~ "Local file `%s' is more recent, not retrieving.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Soubor „%s“ nebudu přenášet, protože lokální verze je novější.\n"
+#~ "\n"
index 331a284c085218b4cac2f180ca7a8b84ae6c5ee6..91bffbb57d50c2e4381541da544c600cefec59f2 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.8.1\n"
-"POT-Creation-Date: 2001-12-17 16:30+0100\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2002-01-20 19:53-0100\n"
 "Last-Translator: Keld Jørn Simonsen <keld@dkuug.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -15,1125 +16,2071 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:94
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Kontakter %s[%s]:%hu... "
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: flaget '%s' er flertydig\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: flaget '--%s' tillader ikke argumenter\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: flaget '%c%s' tillader ikke argumenter\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: flaget '%s' kræver et argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: ukendt flag '--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: ukendt flag '%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ugyldigt flag -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, fuzzy, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ugyldigt flag -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: flaget kræver et argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, fuzzy, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: flaget '%s' er flertydig\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, fuzzy, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: flaget '--%s' tillader ikke argumenter\n"
 
-#: src/connect.c:97
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Kontakter %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Kontakter %s:%hu... "
 
-#: src/connect.c:131
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "forbundet.\n"
 
-#: src/cookies.c:595
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "mislykkedes: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Kan ikke slette '%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Konverterede %d filer på %.2f sekunder.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Konverterer %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "ingenting at gøre.\n"
+
+#: src/convert.c:218 src/convert.c:242
 #, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "fejl ved Set-Cookie, felt '%s'"
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Kan ikke konvertere lænker i %s: %s\n"
+
+#: src/convert.c:233
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Kan ikke slette '%s': %s\n"
 
-#: src/cookies.c:619
+#: src/convert.c:442
 #, c-format
-msgid "Syntax error in Set-Cookie at character `%c'.\n"
-msgstr "Syntaksfejl i Set-Cookie ved tegnet '%c'.\n"
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Kan ikke sikkerhedskopiere %s som %s: %s\n"
 
-#: src/cookies.c:627
-msgid "Syntax error in Set-Cookie: premature end of string.\n"
+#: src/cookies.c:443
+#, fuzzy, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Syntaksfejl i Set-Cookie: streng afsluttet for tidligt.\n"
 
-#: src/cookies.c:1329
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Kan ikke åbne infokagefil %s: %s\n"
 
-#: src/cookies.c:1341
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Fejl ved skrivning til '%s' %s\n"
 
-#: src/cookies.c:1345
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Fejl ved lukning af '%s': %s\n"
 
-#: src/ftp-ls.c:802
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Ikke-understøttet listningstype, prøver Unix-listningsfortolker.\n"
 
-#: src/ftp-ls.c:847 src/ftp-ls.c:849
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Indeks for /%s på %s:%d"
 
-#: src/ftp-ls.c:871
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "ukendt tid         "
 
-#: src/ftp-ls.c:875
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Fil         "
 
-#: src/ftp-ls.c:878
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Katalog     "
 
-#: src/ftp-ls.c:881
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Link        "
 
-#: src/ftp-ls.c:884
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Usikker     "
 
-#: src/ftp-ls.c:902
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s byte)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:179
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Længde: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (ikke endegyldigt)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Logger ind som %s ... "
 
-#: src/ftp.c:188 src/ftp.c:241 src/ftp.c:272 src/ftp.c:326 src/ftp.c:419
-#: src/ftp.c:470 src/ftp.c:500 src/ftp.c:564 src/ftp.c:628 src/ftp.c:689
-#: src/ftp.c:737
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Fejl i svar fra server, lukker kontrolforbindelsen.\n"
 
-#: src/ftp.c:196
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Fejl i velkomsthilsen fra server.\n"
 
-#: src/ftp.c:204 src/ftp.c:335 src/ftp.c:428 src/ftp.c:509 src/ftp.c:574
-#: src/ftp.c:638 src/ftp.c:699 src/ftp.c:747
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Fejl ved skrivning, lukker kontrolforbindelsen.\n"
 
-#: src/ftp.c:211
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Serveren tillader ikke indlogning.\n"
 
-#: src/ftp.c:218
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Fejl ved indlogging.\n"
 
-#: src/ftp.c:225
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Logget ind!\n"
 
-#: src/ftp.c:250
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Serverfejl, kan ikke bestemme systemtype.\n"
 
-#: src/ftp.c:260 src/ftp.c:549 src/ftp.c:612 src/ftp.c:669
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "færdig.      "
 
-#: src/ftp.c:314 src/ftp.c:449 src/ftp.c:484 src/ftp.c:720 src/ftp.c:768
-#: src/host.c:283
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "O.k.\n"
 
-#: src/ftp.c:343
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Ukendt type '%c', lukker kontrolforbindelsen.\n"
 
-#: src/ftp.c:356
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "O.k.    "
 
-#: src/ftp.c:362
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD ikke nødvendig.\n"
 
-#: src/ftp.c:435
+#: src/ftp.c:569
 #, c-format
-msgid "No such directory `%s'.\n\n"
-msgstr "Intet katalog ved navn '%s'.\n\n"
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"Intet katalog ved navn '%s'.\n"
+"\n"
 
-#. do not CWD
-#: src/ftp.c:453
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD ikke nødvendig.\n"
 
-#: src/ftp.c:516
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Kan ikke opsætte PASV-overførsel.\n"
 
-#: src/ftp.c:520
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Kan ikke tolke PASV-tilbagemelding.\n"
 
-#: src/ftp.c:541
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "kunne ikke forbinde til %s:%hu: %s\n"
 
-#: src/ftp.c:591
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bind-fejl (%s).\n"
 
-#: src/ftp.c:598
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Ugyldig PORT.\n"
 
-#: src/ftp.c:651
-#, c-format
-msgid "\nREST failed; will not truncate `%s'.\n"
-msgstr "\nREST mislykkedes; vil ikke afkorte '%s'.\n"
-
-#: src/ftp.c:658
-msgid "\nREST failed, starting from scratch.\n"
-msgstr "\nFejl ved REST, starter forfra.\n"
-
-#: src/ftp.c:707
-#, c-format
-msgid "No such file `%s'.\n\n"
-msgstr "Ingen fil ved navn '%s'.\n\n"
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"Fejl ved REST, starter forfra.\n"
 
-#: src/ftp.c:755
+#: src/ftp.c:826
 #, c-format
-msgid "No such file or directory `%s'.\n\n"
-msgstr "Ingen fil eller katalog ved navn '%s'.\n\n"
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"Ingen fil ved navn '%s'.\n"
+"\n"
 
-#: src/ftp.c:839 src/ftp.c:847
+#: src/ftp.c:873
 #, c-format
-msgid "Length: %s"
-msgstr "Længde: %s"
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"Ingen fil eller katalog ved navn '%s'.\n"
+"\n"
 
-#: src/ftp.c:841 src/ftp.c:849
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s tilbage]"
-
-#: src/ftp.c:851
-msgid " (unauthoritative)\n"
-msgstr " (ikke endegyldigt)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:877
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, lukker kontrolforbindelsen.\n"
 
-#: src/ftp.c:885
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - dataforbindelse: %s; "
 
-#: src/ftp.c:902
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Forbindelsen lukket.\n"
 
-#: src/ftp.c:920
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Dataoverførsel afbrudt.\n"
 
-#: src/ftp.c:984
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "File '%s' eksisterer allerede, hentes ikke.\n"
 
-#: src/ftp.c:1054 src/http.c:1527
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(forsøg:%2d)"
 
-#: src/ftp.c:1118 src/http.c:1786
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld]\n\n"
-msgstr "%s (%s) - '%s' gemt [%ld]\n\n"
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - '%s' gemt [%ld]\n"
+"\n"
 
-#: src/ftp.c:1160 src/main.c:819 src/recur.c:349 src/retr.c:587
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Fjerner %s.\n"
 
-#: src/ftp.c:1202
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Bruger '%s' som midlertidig katalogliste.\n"
 
-#: src/ftp.c:1217
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Slettet '%s'.\n"
 
-#: src/ftp.c:1252
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Rekursionsdybde %d overskred maksimal dybde %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1317
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Fjernfil ikke nyere end lokal fil '%s' - hentes ikke.\n\n"
+msgstr ""
+"Fjernfil ikke nyere end lokal fil '%s' - hentes ikke.\n"
+"\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1324
+#: src/ftp.c:1444
 #, c-format
-msgid "Remote file is newer than local file `%s' -- retrieving.\n\n"
-msgstr "Fjernfil er nyere end lokal fil '%s' - hentes.\n\n"
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"Fjernfil er nyere end lokal fil '%s' - hentes.\n"
+"\n"
 
-#. Sizes do not match
-#: src/ftp.c:1331
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n\n"
+#: src/ftp.c:1451
+#, fuzzy, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
 msgstr "Størrelserne er forskellige (lokal %ld) - hentes.\n"
 
-#: src/ftp.c:1348
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Ugyldigt navn for symbolsk lænke, ignoreres.\n"
 
-#: src/ftp.c:1365
+#: src/ftp.c:1486
 #, c-format
-msgid "Already have correct symlink %s -> %s\n\n"
-msgstr "Har allerede gyldig symbolsk lænke %s -> %s\n\n"
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Har allerede gyldig symbolsk lænke %s -> %s\n"
+"\n"
 
-#: src/ftp.c:1373
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Laver symbolsk lænke %s -> %s\n"
 
-#: src/ftp.c:1384
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Symbolske lænker ikke understøttet, ignorerer '%s'.\n"
 
-#: src/ftp.c:1396
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Ignorerer katalog '%s'.\n"
 
-#: src/ftp.c:1405
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: filtypen er ukendt/ikke understøttet.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: ugyldigt tidsstempel.\n"
 
-#: src/ftp.c:1457
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Henter ikke kataloger, da dybde er %d (max %d).\n"
 
-#: src/ftp.c:1507
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Behandler ikke '%s' da det er ekskluderet/ikke inkluderet.\n"
 
-#: src/ftp.c:1561
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Ignorerer '%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1608
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Fejl ved skrivning til '%s' %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Ingenting passer med mønstret '%s'.\n"
 
-#: src/ftp.c:1673
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Skrev HTML-formateret indeks til '%s' [%ld].\n"
 
-#: src/ftp.c:1678
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Skrev HTML-formateret indeks til '%s'.\n"
 
-#: src/gen_sslfunc.c:109
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Kunne ikke påbegynde OpenSSL PRNG; deaktiverer SSL.\n"
-
-#: src/getopt.c:454
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: flaget '%s' er flertydig\n"
-
-#: src/getopt.c:478
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: flaget '--%s' tillader ikke argumenter\n"
-
-#: src/getopt.c:483
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: flaget '%c%s' tillader ikke argumenter\n"
-
-#: src/getopt.c:498
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: flaget '%s' kræver et argument\n"
-
-#. --option
-#: src/getopt.c:528
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ukendt flag '--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:532
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ukendt flag '%c%s'\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Ukendt fejl"
 
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:563
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ugyldigt flag -- %c\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:602
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: flaget kræver et argument -- %c\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Ukendt fejl"
 
-#: src/host.c:271
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Løser %s..."
 
-#: src/host.c:278
-#, c-format
-msgid "failed: %s.\n"
-msgstr "mislykkedes: %s.\n"
-
-#: src/host.c:348
-msgid "Host not found"
-msgstr "Vært ikke fundet"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:350
-msgid "Unknown error"
-msgstr "Ukendt fejl"
+#: src/host.c:785
+#, fuzzy
+msgid "failed: timed out.\n"
+msgstr "mislykkedes: %s.\n"
 
-#: src/html-url.c:336
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: kan ikke løse ukomplet lænke %s.\n"
 
-#. this is fatal
-#: src/http.c:573
-msgid "Failed to set up an SSL context\n"
-msgstr "Kunne ikke opsætte et SSL-miljø\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Ugyldig specifikation '%s'\n"
 
-#: src/http.c:579
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Kunne ikke indlæse certifikater fra %s\n"
-
-#: src/http.c:583 src/http.c:591
-msgid "Trying without the specified certificate\n"
-msgstr "Prøver uden det angivne certifikat\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Fejl ved skrivning af HTTP-forespørgsel: %s.\n"
 
-#: src/http.c:587
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Kunne ikke få certifikatnøgle fra %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:657 src/http.c:1620
-msgid "Unable to establish SSL connection.\n"
-msgstr "Kunne ikke etablere SSL-forbindelse.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:666
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Genbruger forbindelse til %s:%hu.\n"
 
-#: src/http.c:868
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Fejl ved skrivning af HTTP-forespørgsel: %s.\n"
 
-#: src/http.c:873
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s forespørgsel sendt, afventer svar... "
 
-#: src/http.c:917
-msgid "End of file while parsing headers.\n"
-msgstr "Filafslutning fundet ved læsning af toptekster.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Ingen data modtaget"
 
-#: src/http.c:927
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Læsefejl (%s) i toptekster.\n"
 
-#: src/http.c:962
-msgid "No data received"
-msgstr "Ingen data modtaget"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "File '%s' eksisterer allerede, hentes ikke.\n"
 
-#: src/http.c:964
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Ukendt autorisations-protokol.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Autorisation mislykkedes\n"
+
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Forkert udformet statuslinje"
 
-#: src/http.c:969
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(ingen beskrivelse)"
 
-#: src/http.c:1101
-msgid "Authorization failed.\n"
-msgstr "Autorisation mislykkedes\n"
-
-#: src/http.c:1108
-msgid "Unknown authentication scheme.\n"
-msgstr "Ukendt autorisations-protokol.\n"
-
-#: src/http.c:1148
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Sted: %s%s\n"
 
-#: src/http.c:1149 src/http.c:1282
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "uspecificeret"
 
-#: src/http.c:1150
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [omdirigeret]"
 
-#: src/http.c:1213
-msgid "\n    The file is already fully retrieved; nothing to do.\n\n"
-msgstr "\n    Filen er allerede fuldt overført; ingen handling nødvendig.\n\n"
-
-#: src/http.c:1229
-#, c-format
+#: src/http.c:2140
 msgid ""
 "\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
+"    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-"Fortsat hentning mislykkedes for denne fil, hvilket er i modsætning til '-c'.\n"
-"Nægter at afkorte eksisterende fil '%s'.\n"
+"    Filen er allerede fuldt overført; ingen handling nødvendig.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1272
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Længde: "
 
-#: src/http.c:1277
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s tilbage)"
-
-#: src/http.c:1282
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignoreret"
 
-#: src/http.c:1413
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Ignorerer katalog '%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Advarsel: jokertegn ikke understøttet i HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1443
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Filen '%s' hentes ikke, fordi den allerede eksisterer.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1611
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Kan ikke skrive til '%s' (%s).\n"
 
-#: src/http.c:1630
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Kunne ikke etablere SSL-forbindelse.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "FEJL: Omdirigering (%d) uden nyt sted.\n"
 
-#: src/http.c:1662
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s FEJL %d: %s.\n"
 
-#: src/http.c:1675
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Last-modified toptekst mangler -- tidsstempling slås fra.\n"
 
-#: src/http.c:1683
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Last-modified toptekst ugyldig -- tidsstempel ignoreret.\n"
 
-#: src/http.c:1706
+#: src/http.c:2619
 #, c-format
-msgid "Server file no newer than local file `%s' -- not retrieving.\n\n"
-msgstr "Serverfil ikke nyere end lokal fil '%s' - hentes ikke.\n\n"
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"Serverfil ikke nyere end lokal fil '%s' - hentes ikke.\n"
+"\n"
 
-#: src/http.c:1714
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Størrelserne er forskellige (lokal %ld) - hentes.\n"
 
-#: src/http.c:1718
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Fil på server er nyere - hentes.\n"
 
-#: src/http.c:1759
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld]\n\n"
-msgstr "%s (%s) - '%s' gemt [%ld/%ld]\n\n"
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Fjernfil er nyere end lokal fil '%s' - hentes.\n"
+"\n"
 
-#: src/http.c:1809
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Forbindelse lukket ved byte %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Fjernfil ikke nyere end lokal fil '%s' - hentes ikke.\n"
+"\n"
 
-#: src/http.c:1818
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld])\n\n"
-msgstr "%s (%s) - '%s' gemt [%ld/%ld]\n\n"
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Fjernfil ikke nyere end lokal fil '%s' - hentes ikke.\n"
+"\n"
 
-#: src/http.c:1839
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Forbindelse lukket ved byte %ld/%ld. "
+#: src/http.c:2715
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - '%s' gemt [%ld/%ld]\n"
+"\n"
 
-#: src/http.c:1851
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Forbindelse lukket ved byte %ld. "
+
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Læsefejl ved byte %ld (%s)."
 
-#: src/http.c:1860
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Læsefejl ved byte %ld/%ld (%s)."
 
-#: src/init.c:355 src/netrc.c:265
+#: src/init.c:387
 #, c-format
-msgid "%s: Cannot read %s (%s).\n"
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr ""
+
+#: src/init.c:450 src/netrc.c:265
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Kan ikke læse %s (%s).\n"
 
-#: src/init.c:373 src/init.c:379
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Fejl i %s på linje %d.\n"
 
-#: src/init.c:411
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Fejl i %s på linje %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: FEJL: Ukendt kommando '%s', værdi '%s'.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Advarsel: Både systemets og brugerens wgetrc peger på '%s'.\n"
 
-#: src/init.c:503
-#, c-format
-msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-msgstr "%s: FEJL: Ukendt kommando '%s', værdi '%s'.\n"
+#: src/init.c:677
+#, fuzzy, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Ugyldig specifikation '%s'\n"
 
-#: src/init.c:537
-#, c-format
-msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
-msgstr "%s: %s: Kan ikke omforme '%s' til en IP-adresse.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Venligst angiv 'on' eller 'off'.\n"
+
+#: src/init.c:739
+#, fuzzy, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Ugyldig specifikation '%s'\n"
+
+#: src/init.c:970 src/init.c:989
+#, fuzzy, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Ugyldig fremskridtstype '%s'\n"
+
+#: src/init.c:1014
+#, fuzzy, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: Ugyldig specifikation '%s'\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, fuzzy, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Ugyldig specifikation '%s'\n"
+
+#: src/init.c:1105
+#, fuzzy, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Ugyldig specifikation '%s'\n"
 
-#: src/init.c:570
+#: src/init.c:1171
 #, c-format
-msgid "%s: %s: Please specify on or off.\n"
-msgstr "%s: %s: Venligst angiv 'on' eller 'off'.\n"
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Ugyldig fremskridtstype '%s'\n"
 
-#: src/init.c:614
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Please specify always, on, off, or never.\n"
-msgstr "%s: %s: Venligst angiv 'always', 'on' 'off', eller 'never'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
 
-#: src/init.c:633 src/init.c:900 src/init.c:981
+#: src/log.c:784
 #, c-format
-msgid "%s: %s: Invalid specification `%s'.\n"
-msgstr "%s: %s: Ugyldig specifikation '%s'\n"
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+"\n"
+"%s modtaget, omdirigerer udskrifter til '%s'.\n"
 
-#: src/init.c:789 src/init.c:811 src/init.c:833 src/init.c:859
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Ingen data modtaget"
+
+#: src/log.c:795
 #, c-format
-msgid "%s: Invalid specification `%s'\n"
-msgstr "%s: Ugyldig specifikation '%s'\n"
+msgid "%s: %s; disabling logging.\n"
+msgstr "%s: %s; deaktiverer logning.\n"
 
-#: src/init.c:949
+#: src/main.c:357
 #, c-format
-msgid "%s: %s: Invalid progress type `%s'.\n"
-msgstr "%s: %s: Ugyldig fremskridtstype '%s'\n"
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Brug: %s [FLAG]... [URL]...\n"
+
+#: src/main.c:369
+#, fuzzy
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"\n"
+"Obligatoriske argumenter til lange flag er obligatoriske også \n"
+"for korte.\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr ""
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr ""
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Katalog     "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
 
-#: src/log.c:641
-#, c-format
-msgid "\n%s received, redirecting output to `%s'.\n"
-msgstr "\n%s modtaget, omdirigerer udskrifter til '%s'.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:648
-#, c-format
-msgid "%s: %s; disabling logging.\n"
-msgstr "%s: %s; deaktiverer logning.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
 
-#: src/main.c:116
-#, c-format
-msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "Brug: %s [FLAG]... [URL]...\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
 
-#: src/main.c:124
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, en ikke-interaktiv informationsagent.\n"
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
 
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:129
-msgid "\nMandatory arguments to long options are mandatory for short options too.\n\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr ""
-"\n"
-"Obligatoriske argumenter til lange flag er obligatoriske også \n"
-"for korte.\n"
-"\n"
 
-#: src/main.c:133
+#: src/main.c:606
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr ""
-"Opstart:\n"
-"  -V,  --version           vis Wget's versionsnummer og afslut.\n"
-"  -h,  --help              udskriv denne hjælpetekst.\n"
-"  -b,  --background        kør i baggrunden efter opstart.\n"
-"  -e,  --execute=KOMMANDO  udfør en '.wgetrc'-kommando.\n"
-"\n"
 
-#: src/main.c:140
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
-"Logning og indlæsning:\n"
-"  -o,  --output-file=FIL      log beskeder til FIL.\n"
-"  -a,  --append-output=FIL    tilføj beskeder til slutningen af FIL.\n"
-"  -d,  --debug                skriv fejlsøgningsinformation.\n"
-"  -q,  --quiet                stille (ingen udskrifter).\n"
-"  -v,  --verbose              vær udførlig (standard).\n"
-"  -nv, --non-verbose          mindre udførlig, men ikke stille.\n"
-"  -i,  --input-file=FIL       hent URLer fundet i FIL.\n"
-"  -F,  --force-html           behandl inddatafil som HTML.\n"
-"  -B,  --base=URL             foranstiller URL til relative lænker i -F -i fil.\n"
-"       --sslcertfile=FIL      valgbart klient-certifikat.\n"
-"       --sslcertkey=NØGLEFIL  valgbar nøglefil for dette certifikat.\n"
-"       --egd-file=FIL         filnavn for EGD-soklen.\n"
-"\n"
 
-#: src/main.c:155
-msgid ""
-"Download:\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
-"Hentning:\n"
-"       --bind-address=ADRESSE   bind til ADRESSE (værtsnavn eller IP) på lokal vært.\n"
-"  -t,  --tries=ANTAL            maksimalt antal forsøg (0 for uendelig).\n"
-"  -O   --output-document=FIL    skriv dokumenter til FIL.\n"
-"  -nc, --no-clobber             berør ikke eksisterende filer, eller brug .#-endelser.\n"
-"  -c,  --continue               fortsæt hentning af en eksisterende fil.\n"
-"       --progress=TYPE          vælg type af fremskridtsvisning.\n"
-"  -N,  --timestamping           hent ikke filer igen som er ældre end eksisterende.\n"
-"  -S,  --server-response        vis svar fra serveren.\n"
-"       --spider                 hent ikke filer.\n"
-"  -T,  --timeout=SEKUNDER       sæt ventetid ved læsning til SEKUNDER.\n"
-"  -w,  --wait=SEKUNDER          sæt ventetid mellem filer til SEKUNDER.\n"
-"       --waitretry=SEKUNDER\twait 1...SEKUNDER mellem forsøg på gentagelse af en hentning.\n"
-"       --random-wait            vent fra 0...2*WAIT sekunder mellem modtagelse.\n"
-"  -Y,  --proxy=on/off           slå brug af proxy til eller fra.\n"
-"  -Q,  --quota=ANTAL            sæt hente-kvote til ANTAL.\n"
-"       --limit-rate=RATE        begræns hentingshastighed til RATE.\n"
-"\n"
 
-#: src/main.c:174
+#: src/main.c:612
 msgid ""
-"Directories:\n"
-"  -nd  --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"       --follow-ftp                follow FTP links from HTML documents.\n"
 msgstr ""
-"Kataloger:\n"
-"  -nd  --no-directories             lav ikke kataloger.\n"
-"  -x,  --force-directories          lav kataloger.\n"
-"  -nH, --no-host-directories        lav ikke ovenstående kataloger.\n"
-"  -P,  --directory-prefix=PRÆFIKS   skriv filer til PRÆFIKS/...\n"
-"       --cut-dirs=ANTAL             ignorér ANTAL komponenter af serverens\n"
-"                                    katalognavn.\n"
-"\n"
 
-#: src/main.c:182
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr ""
-"HTTP-flag:\n"
-"       --http-user=BRUGER      sæt HTTP-bruger til BRUGER.\n"
-"       --http-passwd=PASSORD   sæt HTTP-adgangskode til PASSORD.\n"
-"  -C,  --cache=on/off          tillad (ikke) brug af mellemlager på server.\n"
-"  -E,  --html-extension        gem alle tekst/html dokumenter med .html filkode.\n"
-"       --ignore-length         ignorer 'Content-Length' felt i toptekst.\n"
-"       --header=TEKST          sæt TEKST ind som en toptekst.\n"
-"       --proxy-user=BRUGER     sæt proxy-bruger til BRUGER.\n"
-"       --proxy-passwd=PASSORD  sæt proxy-adgangskode til PASSORD.\n"
-"       --referer=URL           brug `Referer: URL' kommando i HTTP-forespørgsel.\n"
-"  -s,  --save-headers          skriv HTTP-toptekster til fil.\n"
-"  -U,  --user-agent=AGENT      identificer som AGENT i stedet for \n"
-"                               'Wget/VERSION'.\n"
-"       --no-http-keep-alive    deaktivér HTTP keep-alive (overlevende forbindelser).\n"
-"       --cookies=off           brug ikke infokager.\n"
-"       --load-cookies=FILE     indlæs infokager fra FIL før session.\n"
-"       --save-cookies=FILE     gem infokager i FIL efter session.\n"
-"\n"
 
-#: src/main.c:200
+#: src/main.c:616
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
-"FTP-flag:\n"
-"  -nr, --dont-remove-listing   fjern ikke `.listing' filer.\n"
-"  -g,  --glob=on/off           tolk (ikke) brug af jokertegn i filnavn.\n"
-"       --passive-ftp           brug passiv overførselsmetode.\n"
-"       --retr-symlinks         hent filer (ikke kataloger) der er lænket til, ved rekursiv brug.\n"
-"\n"
 
-#: src/main.c:207
+#: src/main.c:618
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive web-suck -- use with care!\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-"       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
-"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"\n"
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr ""
-"Rekursiv nedlasting:\n"
-"  -r,  --recursive             tillad rekursiv nedlasting -- brug med omtanke!\n"
-"  -l,  --level=ANTAL           maksimalt antal rekursionsniveauer (0=uendelig).\n"
-"       --delete-after          slet hentede filer.\n"
-"  -k,  --convert-links         konverter absolutte lænker til relative.\n"
-"  -K,  --backup-converted      før fil X konverteres, sikkerhedskopiér som X.orig.\n"
-"  -m,  --mirror                sæt passende flag for spejling af servere.\n"
-"  -p,  --page-requisites       hent alle billeder osv. der er nødvendige for at vise HTML siden.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr ""
-"Hvad er tilladt ved rekursion:\n"
-"  -A,  --accept=LISTE               liste med tilladte filtyper.\n"
-"  -R,  --reject=LISTE               liste med ikke-tilladte filtyper.\n"
-"  -D,  --domains=LISTE              liste med tilladte domæner.\n"
-"       --exclude-domains=LISTE      liste med ikke-tilladte domæner.\n"
-"       --follow-ftp                 følg FTP-lænker fra HTML-dokumenter.\n"
-"       --follow-tags=LIST           komma-separeret liste af fulgte HTML-mærker.\n"
-"  -G,  --ignore-tags=LIST           komma-separeret liste af ignorerede HTML-mærker.\n"
-"  -H,  --span-hosts                 følg lænker til andre værter.\n"
-"  -L,  --relative                   følg kun relative lænker.\n"
-"  -I,  --include-directories=LISTE  liste med tilladte katalognavne.\n"
-"  -X,  --exclude-directories=LISTE  liste med ikke-tilladte katalognavne.\n"
-"  -np, --no-parent                  følg ikke lænke til ovenliggende katalog.\n"
-"\n"
 
-#: src/main.c:232
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Rapportér fejl og send forslag til <bug-wget@gnu.org>.\n"
 
-#: src/main.c:420
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: understøttelse for fejlsøgning ikke inkluderet ved oversættelse.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, en ikke-interaktiv informationsagent.\n"
 
-#: src/main.c:472
-msgid "Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
-msgstr "Ophavsret © 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr ""
+"Ophavsret © 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, "
+"Inc.\n"
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
 
-#: src/main.c:474
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+#, fuzzy
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
 msgstr ""
-"Dette program distribueres i håb om at det bliver fundet nyttigt,\n"
-"men UDEN NOGEN GARANTIER; ikke engang for SALGBARHED eller\n"
-"EGNETHED TIL NOGEN SPECIEL OPGAVE.\n"
-"Se 'GNU General Public License' for detaljer.\n"
+"\n"
+"Oprindeligt skrevet af Hrvoje Niksic <hniksic@arsdigita.com>.\n"
 
-#: src/main.c:479
-msgid "\nOriginally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"
-msgstr "\nOprindeligt skrevet af Hrvoje Niksic <hniksic@arsdigita.com>.\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#: src/main.c:578
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
-msgid "%s: %s: invalid command\n"
-msgstr "%s: %s: ugyldig kommando\n"
+msgid "Try `%s --help' for more options.\n"
+msgstr "Prøv '%s --help' for flere flag.\n"
 
-#: src/main.c:631
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: ugyldigt flag -- '-n%c'\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:634 src/main.c:676 src/main.c:722
+#: src/main.c:859
 #, c-format
-msgid "Try `%s --help' for more options.\n"
-msgstr "Prøv '%s --help' for flere flag.\n"
-
-#: src/main.c:702
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Kan ikke være udførlig og stille på samme tid.\n"
 
-#: src/main.c:708
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Kan ikke tidsstemple og lade være at berøre eksisterende filer på samme tid.\n"
+msgstr ""
+"Kan ikke tidsstemple og lade være at berøre eksisterende filer på samme "
+"tid.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:717
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL mangler.\n"
 
-#: src/main.c:834
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Fandt ingen URLer i %s.\n"
 
-#: src/main.c:843
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "FÆRDIG --%s--\n"
 "Nedhentede %s byte i %d filer\n"
 
-#: src/main.c:851
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Hente-kvote (%s byte) overskredet!\n"
 
-#: src/mswindows.c:120
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Fortsætter i baggrunden.\n"
 
-#: src/mswindows.c:122 src/utils.c:457
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Fortsætter i baggrunden, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Uddata vil blive skrevet til '%s'.\n"
 
-#: src/mswindows.c:202
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Starter WinHelp %s\n"
-
-#: src/mswindows.c:229 src/mswindows.c:236
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Fandt ingen brugbar sokkel-driver.\n"
 
-#: src/netrc.c:365
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: Advarsel: symbolet '%s' fundet før server-navn\n"
 
-#: src/netrc.c:396
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: ukendt symbol '%s'\n"
 
-#: src/netrc.c:460
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Brug: %s NETRC [VÆRTSNAVN]\n"
 
-#: src/netrc.c:470
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: 'stat' fejlede for %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:224
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Kunne ikke påbegynde OpenSSL PRNG; deaktiverer SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
 #, c-format
-msgid "\n%*s[ skipping %dK ]"
-msgstr "\n%*s[ hopper over %dK ]"
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ hopper over %dK ]"
 
-#: src/progress.c:391
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Ugyldig punkt-stils specifikation '%s'; forbliver uændret.\n"
 
-#: src/recur.c:350
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Fjerner %s fordi den skal forkastes.\n"
 
-#: src/recur.c:935
-#, c-format
-msgid "Converted %d files in %.2f seconds.\n"
-msgstr "Konverterede %d filer på %.2f sekunder.\n"
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Kan ikke konvertere lænker i %s: %s\n"
 
-#: src/res.c:540
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Henter robots.txt; ignorer eventuelle fejlmeldinger.\n"
 
-#: src/retr.c:363
-msgid "Could not find proxy host.\n"
-msgstr "Fandt ikke proxy-server.\n"
-
-#: src/retr.c:375
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Fejl ved fortolkning af proxy-URL %s: %s.\n"
 
-#: src/retr.c:384
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Fejl i proxy URL %s: Skal være HTTP.\n"
 
-#: src/retr.c:476
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d: Omdirigeringer overskredet.\n"
 
-#: src/retr.c:491
-#, c-format
-msgid "%s: Redirection cycle detected.\n"
-msgstr "%s: Omdirigering løber i ring.\n"
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Giver op.\n"
+"\n"
 
-#: src/retr.c:608
-msgid "Giving up.\n\n"
-msgstr "Giver op.\n\n"
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Prøver igen.\n"
+"\n"
 
-#: src/retr.c:608
-msgid "Retrying.\n\n"
-msgstr "Prøver igen.\n\n"
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
 
-#: src/url.c:1875
+#: src/spider.c:81
 #, c-format
-msgid "Converting %s... "
-msgstr "Konverterer %s... "
-
-#: src/url.c:1888
-msgid "nothing to do.\n"
-msgstr "ingenting at gøre.\n"
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
 
-#: src/url.c:1896 src/url.c:1920
+#: src/spider.c:91
 #, c-format
-msgid "Cannot convert links in %s: %s\n"
-msgstr "Kan ikke konvertere lænker i %s: %s\n"
+msgid "%s\n"
+msgstr ""
 
-#: src/url.c:1911
-#, c-format
-msgid "Unable to delete `%s': %s\n"
-msgstr "Kan ikke slette '%s': %s\n"
+#: src/url.c:620
+#, fuzzy
+msgid "No error"
+msgstr "Ukendt fejl"
 
-#: src/url.c:2117
-#, c-format
-msgid "Cannot back up %s as %s: %s\n"
-msgstr "Kan ikke sikkerhedskopiere %s som %s: %s\n"
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr ""
 
-#: src/utils.c:90
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Ikke nok hukommelse.\n"
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Værtsnavnet er ugyldigt"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr ""
+
+#: src/url.c:628
+#, fuzzy
+msgid "Invalid user name"
+msgstr "Værtsnavnet er ugyldigt"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr ""
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr ""
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr ""
 
-#. parent, no error
-#: src/utils.c:455
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Fortsætter i baggrunden, pid %d.\n"
 
-#: src/utils.c:499
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Kan ikke slette den symbolske lænke '%s': %s\n"
 
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "fejl ved Set-Cookie, felt '%s'"
+
+#~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
+#~ msgstr "Syntaksfejl i Set-Cookie ved tegnet '%c'.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST mislykkedes; vil ikke afkorte '%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s tilbage]"
+
+#~ msgid "Host not found"
+#~ msgstr "Vært ikke fundet"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Kunne ikke opsætte et SSL-miljø\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Kunne ikke indlæse certifikater fra %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Prøver uden det angivne certifikat\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Kunne ikke få certifikatnøgle fra %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Filafslutning fundet ved læsning af toptekster.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Fortsat hentning mislykkedes for denne fil, hvilket er i modsætning til '-"
+#~ "c'.\n"
+#~ "Nægter at afkorte eksisterende fil '%s'.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s tilbage)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Filen '%s' hentes ikke, fordi den allerede eksisterer.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - '%s' gemt [%ld/%ld]\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Forbindelse lukket ved byte %ld/%ld. "
+
+#~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
+#~ msgstr "%s: %s: Kan ikke omforme '%s' til en IP-adresse.\n"
+
+#~ msgid "%s: %s: Please specify always, on, off, or never.\n"
+#~ msgstr "%s: %s: Venligst angiv 'always', 'on' 'off', eller 'never'.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opstart:\n"
+#~ "  -V,  --version           vis Wget's versionsnummer og afslut.\n"
+#~ "  -h,  --help              udskriv denne hjælpetekst.\n"
+#~ "  -b,  --background        kør i baggrunden efter opstart.\n"
+#~ "  -e,  --execute=KOMMANDO  udfør en '.wgetrc'-kommando.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Logning og indlæsning:\n"
+#~ "  -o,  --output-file=FIL      log beskeder til FIL.\n"
+#~ "  -a,  --append-output=FIL    tilføj beskeder til slutningen af FIL.\n"
+#~ "  -d,  --debug                skriv fejlsøgningsinformation.\n"
+#~ "  -q,  --quiet                stille (ingen udskrifter).\n"
+#~ "  -v,  --verbose              vær udførlig (standard).\n"
+#~ "  -nv, --non-verbose          mindre udførlig, men ikke stille.\n"
+#~ "  -i,  --input-file=FIL       hent URLer fundet i FIL.\n"
+#~ "  -F,  --force-html           behandl inddatafil som HTML.\n"
+#~ "  -B,  --base=URL             foranstiller URL til relative lænker i -F -"
+#~ "i fil.\n"
+#~ "       --sslcertfile=FIL      valgbart klient-certifikat.\n"
+#~ "       --sslcertkey=NØGLEFIL  valgbar nøglefil for dette certifikat.\n"
+#~ "       --egd-file=FIL         filnavn for EGD-soklen.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Hentning:\n"
+#~ "       --bind-address=ADRESSE   bind til ADRESSE (værtsnavn eller IP) på "
+#~ "lokal vært.\n"
+#~ "  -t,  --tries=ANTAL            maksimalt antal forsøg (0 for uendelig).\n"
+#~ "  -O   --output-document=FIL    skriv dokumenter til FIL.\n"
+#~ "  -nc, --no-clobber             berør ikke eksisterende filer, eller "
+#~ "brug .#-endelser.\n"
+#~ "  -c,  --continue               fortsæt hentning af en eksisterende fil.\n"
+#~ "       --progress=TYPE          vælg type af fremskridtsvisning.\n"
+#~ "  -N,  --timestamping           hent ikke filer igen som er ældre end "
+#~ "eksisterende.\n"
+#~ "  -S,  --server-response        vis svar fra serveren.\n"
+#~ "       --spider                 hent ikke filer.\n"
+#~ "  -T,  --timeout=SEKUNDER       sæt ventetid ved læsning til SEKUNDER.\n"
+#~ "  -w,  --wait=SEKUNDER          sæt ventetid mellem filer til SEKUNDER.\n"
+#~ "       --waitretry=SEKUNDER\twait 1...SEKUNDER mellem forsøg på "
+#~ "gentagelse af en hentning.\n"
+#~ "       --random-wait            vent fra 0...2*WAIT sekunder mellem "
+#~ "modtagelse.\n"
+#~ "  -Y,  --proxy=on/off           slå brug af proxy til eller fra.\n"
+#~ "  -Q,  --quota=ANTAL            sæt hente-kvote til ANTAL.\n"
+#~ "       --limit-rate=RATE        begræns hentingshastighed til RATE.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd  --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kataloger:\n"
+#~ "  -nd  --no-directories             lav ikke kataloger.\n"
+#~ "  -x,  --force-directories          lav kataloger.\n"
+#~ "  -nH, --no-host-directories        lav ikke ovenstående kataloger.\n"
+#~ "  -P,  --directory-prefix=PRÆFIKS   skriv filer til PRÆFIKS/...\n"
+#~ "       --cut-dirs=ANTAL             ignorér ANTAL komponenter af "
+#~ "serverens\n"
+#~ "                                    katalognavn.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTP-flag:\n"
+#~ "       --http-user=BRUGER      sæt HTTP-bruger til BRUGER.\n"
+#~ "       --http-passwd=PASSORD   sæt HTTP-adgangskode til PASSORD.\n"
+#~ "  -C,  --cache=on/off          tillad (ikke) brug af mellemlager på "
+#~ "server.\n"
+#~ "  -E,  --html-extension        gem alle tekst/html dokumenter med .html "
+#~ "filkode.\n"
+#~ "       --ignore-length         ignorer 'Content-Length' felt i toptekst.\n"
+#~ "       --header=TEKST          sæt TEKST ind som en toptekst.\n"
+#~ "       --proxy-user=BRUGER     sæt proxy-bruger til BRUGER.\n"
+#~ "       --proxy-passwd=PASSORD  sæt proxy-adgangskode til PASSORD.\n"
+#~ "       --referer=URL           brug `Referer: URL' kommando i HTTP-"
+#~ "forespørgsel.\n"
+#~ "  -s,  --save-headers          skriv HTTP-toptekster til fil.\n"
+#~ "  -U,  --user-agent=AGENT      identificer som AGENT i stedet for \n"
+#~ "                               'Wget/VERSION'.\n"
+#~ "       --no-http-keep-alive    deaktivér HTTP keep-alive (overlevende "
+#~ "forbindelser).\n"
+#~ "       --cookies=off           brug ikke infokager.\n"
+#~ "       --load-cookies=FILE     indlæs infokager fra FIL før session.\n"
+#~ "       --save-cookies=FILE     gem infokager i FIL efter session.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "FTP-flag:\n"
+#~ "  -nr, --dont-remove-listing   fjern ikke `.listing' filer.\n"
+#~ "  -g,  --glob=on/off           tolk (ikke) brug af jokertegn i filnavn.\n"
+#~ "       --passive-ftp           brug passiv overførselsmetode.\n"
+#~ "       --retr-symlinks         hent filer (ikke kataloger) der er lænket "
+#~ "til, ved rekursiv brug.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive web-suck -- use with care!\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rekursiv nedlasting:\n"
+#~ "  -r,  --recursive             tillad rekursiv nedlasting -- brug med "
+#~ "omtanke!\n"
+#~ "  -l,  --level=ANTAL           maksimalt antal rekursionsniveauer "
+#~ "(0=uendelig).\n"
+#~ "       --delete-after          slet hentede filer.\n"
+#~ "  -k,  --convert-links         konverter absolutte lænker til relative.\n"
+#~ "  -K,  --backup-converted      før fil X konverteres, sikkerhedskopiér "
+#~ "som X.orig.\n"
+#~ "  -m,  --mirror                sæt passende flag for spejling af "
+#~ "servere.\n"
+#~ "  -p,  --page-requisites       hent alle billeder osv. der er nødvendige "
+#~ "for at vise HTML siden.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Hvad er tilladt ved rekursion:\n"
+#~ "  -A,  --accept=LISTE               liste med tilladte filtyper.\n"
+#~ "  -R,  --reject=LISTE               liste med ikke-tilladte filtyper.\n"
+#~ "  -D,  --domains=LISTE              liste med tilladte domæner.\n"
+#~ "       --exclude-domains=LISTE      liste med ikke-tilladte domæner.\n"
+#~ "       --follow-ftp                 følg FTP-lænker fra HTML-dokumenter.\n"
+#~ "       --follow-tags=LIST           komma-separeret liste af fulgte HTML-"
+#~ "mærker.\n"
+#~ "  -G,  --ignore-tags=LIST           komma-separeret liste af ignorerede "
+#~ "HTML-mærker.\n"
+#~ "  -H,  --span-hosts                 følg lænker til andre værter.\n"
+#~ "  -L,  --relative                   følg kun relative lænker.\n"
+#~ "  -I,  --include-directories=LISTE  liste med tilladte katalognavne.\n"
+#~ "  -X,  --exclude-directories=LISTE  liste med ikke-tilladte "
+#~ "katalognavne.\n"
+#~ "  -np, --no-parent                  følg ikke lænke til ovenliggende "
+#~ "katalog.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr ""
+#~ "%s: understøttelse for fejlsøgning ikke inkluderet ved oversættelse.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Dette program distribueres i håb om at det bliver fundet nyttigt,\n"
+#~ "men UDEN NOGEN GARANTIER; ikke engang for SALGBARHED eller\n"
+#~ "EGNETHED TIL NOGEN SPECIEL OPGAVE.\n"
+#~ "Se 'GNU General Public License' for detaljer.\n"
+
+#~ msgid "%s: %s: invalid command\n"
+#~ msgstr "%s: %s: ugyldig kommando\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Starter WinHelp %s\n"
+
+#~ msgid "Could not find proxy host.\n"
+#~ msgstr "Fandt ikke proxy-server.\n"
+
+#~ msgid "%s: Redirection cycle detected.\n"
+#~ msgstr "%s: Omdirigering løber i ring.\n"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Ikke nok hukommelse.\n"
+
 #~ msgid "Connection to %s:%hu refused.\n"
 #~ msgstr "Kontakt med %s:%hu nægtet.\n"
 
@@ -1157,6 +2104,3 @@ msgstr "Kan ikke slette den symbolske l
 
 #~ msgid "Invalid port specification"
 #~ msgstr "Port-specifikationen er ugyldig"
-
-#~ msgid "Invalid host name"
-#~ msgstr "Værtsnavnet er ugyldigt"
index e6074cac83415bb9088a5a78d6d5fc7e7d665b67..f9516c355884ca516c319631628ad5f91c3c1f4e 100644 (file)
--- a/po/de.po
+++ b/po/de.po
 # Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
 # Karl Eichwalder <ke@suse.de>, 1998-1999, 2000.
 # Karl Eichwalder <ke@ke.Central.DE>, 1997-1998.
-# Jochen Hein <jochen@jochen.org>, 2001-1003.
+# Jochen Hein <jochen@jochen.org>, 2001-1007.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-16 07:28+0200\n"
+"Project-Id-Version: wget 1.11-b2405\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2008-01-30 06:46+0100\n"
 "Last-Translator: Jochen Hein <jochen@jochen.org>\n"
-"Language-Team: German <de@li.org>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: Option »%s« ist zweideutig\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: Option »--%s« erlaubt kein Argument\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: Option »%c%s« erlaubt kein Argument\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: Option »%s« benötigt ein Argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: nicht erkannte Option »--%s«\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: nicht erkannte Option »%c%s«\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: Option verlangt ein Argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: Option »-W %s« ist zweideutig\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: Option »-W %s« erlaubt kein Argument\n"
 
 # XXX
-#: src/connect.c:199
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: kann die bind-Adresse »%s« nicht auflösen; bind wird nicht verwendet.\n"
+msgstr ""
+"%s: kann die bind-Adresse »%s« nicht auflösen; bind wird nicht verwendet.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Verbindungsaufbau zu %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Verbindungsaufbau zu %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "verbunden.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "fehlgeschlagen: %s.\n"
 
-#: src/convert.c:176
+# XXX
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: kann die Host-Adresse »%s« nicht auflösen\n"
+
+#: src/convert.c:170
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "%d Dateien in %.*f Sekunden konvertiert.\n"
+msgid "Converted %d files in %s seconds.\n"
+msgstr "%d Dateien in %s Sekunden konvertiert.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Umwandlung von »%s«... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "kein Download notwendig.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Verweise nicht umwandelbar in »%s«: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Es ist nicht möglich, »%s« zu löschen: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Anlegen eines Backups von »%s« als »%s« nicht möglich: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Fehler bei Set-Cookie, Feld »%s«"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Syntaxfehler bei Set-Cookie, »%s« an der Stelle %d.\n"
 
 # XXX
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "Cookie von »%s« versuchte die Domain auf »%s« zu ändern\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Cookie-Datei »%s« kann nicht geöffnet werden: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Fehler beim Schreiben nach »%s«: %s.\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Fehler beim Schließen von »%s«: %s.\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Nicht unterstützte Art der Auflistung; Versuch Unix-Auflistung zu verwenden.\n"
+msgstr ""
+"Nicht unterstützte Art der Auflistung; Versuch Unix-Auflistung zu "
+"verwenden.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Index von /%s auf %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "Zeit unbekannt     "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Datei       "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Verzeichnis "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Verweis     "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Nicht sicher"
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s Bytes)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Länge: %s"
 
 # XXX
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) sind noch übrig"
 
 # XXX
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s übrig"
 
 # wohl "unmaßgeblich", nicht "ohne Berechtigung"
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (unmaßgeblich)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Anmelden als %s ... "
@@ -174,59 +233,61 @@ msgstr "Anmelden als %s ... "
 #     ... Kontroll-Verbindung wird geschlossen
 # oder
 #     ... Schließen der Kontroll-Verbindung
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Fehler in der Antwort des Servers; schließe Kontroll-Verbindung.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Fehler bei der Begrüßung des Servers.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Schreiben schlug fehl; Kontroll-Verbindung schließen.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Der Server verweigert die Anmeldung.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Fehler bei der Anmeldung.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Angemeldet!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "Fehler beim Server; es ist nicht möglich, die Art des Systems festzustellen.\n"
+msgstr ""
+"Fehler beim Server; es ist nicht möglich, die Art des Systems "
+"festzustellen.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "fertig.    "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "fertig.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Unbekannte Art »%c«, schließe Kontroll-Verbindung.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "fertig.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD nicht notwendig.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -235,35 +296,34 @@ msgstr ""
 "Das Verzeichnis »%s« gibt es nicht.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD nicht erforderlich.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Kann PASV-Übertragung nicht beginnen.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Kann PASV-Antwort nicht auswerten.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "Konnte keine Verbindung zu »%s«, Port »%d« herstellen: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Verbindungsfehler (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Ungültiger PORT.\n"
 
 # Wieder das mit der 1. Person :)
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -271,7 +331,7 @@ msgstr ""
 "\n"
 "REST schlug fehl; es wird wieder von vorn begonnen.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -280,7 +340,7 @@ msgstr ""
 "Die Datei »%s« gibt es nicht.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -290,45 +350,41 @@ msgstr ""
 "\n"
 
 # XXX
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "»%s« ist plötzlich entstanden.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s; Kontroll-Verbindung schließen.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Daten-Verbindung: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Kontroll-Verbindung geschlossen.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Daten-Übertragung abgebrochen.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "Die Datei »%s« ist schon vorhanden; kein erneuter Download.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(Versuch:%2d)"
 
 # oder "gesichert"?
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -337,43 +393,42 @@ msgstr ""
 "%s (%s) - »%s« gespeichert [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Entferne »%s«.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "»%s« als temporäre Auflistungsdatei benutzen.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "»%s« gelöscht.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Die Rekursionstiefe %d übersteigt die max. erlaubte Tiefe %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Datei auf dem Server nicht neuer als die lokale Datei »%s« -- kein Download.\n"
+msgstr ""
+"Datei auf dem Server nicht neuer als die lokale Datei »%s« -- kein "
+"Download.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
-msgstr "Datei auf dem Server neuer als die lokale Datei »%s«, -- erneuter Download.\n"
+msgstr ""
+"Datei auf dem Server neuer als die lokale Datei »%s«, -- erneuter Download.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -382,254 +437,202 @@ msgstr ""
 "Größen stimmen nicht überein (lokal %s) -- erneuter Download.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Ungültiger Name für einen symbolischen Verweis; übersprungen.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
 "\n"
 msgstr "Der richtige symbolische Verweis %s -> %s ist schon vorhanden.\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Symbolischen Verweis %s -> %s anlegen.\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Symbolischer Verweis nicht möglich; symbolischer Verweis »%s« übersprungen.\n"
+msgstr ""
+"Symbolischer Verweis nicht möglich; symbolischer Verweis »%s« übersprungen.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Verzeichnis »%s« übersprungen.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: unbekannter bzw. nicht unterstützter Dateityp.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: beschädigter Zeitstempel.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Verzeichnisse nicht erneut holen; da die Tiefe bereits %d ist (max. erlaubt %d).\n"
+msgstr ""
+"Verzeichnisse nicht erneut holen; da die Tiefe bereits %d ist (max. erlaubt %"
+"d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Nicht zu »%s« hinabsteigen, da es ausgeschlossen bzw. nicht eingeschlossen ist.\n"
+msgstr ""
+"Nicht zu »%s« hinabsteigen, da es ausgeschlossen bzw. nicht eingeschlossen "
+"ist.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "»%s« zurückgewiesen.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Fehler beim Schreiben nach »%s«: %s.\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Keine Treffer bei dem Muster »%s«.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "HTML-artigen Index nach »%s« [%s] geschrieben.\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "HTML-artiger Index nach »%s« geschrieben.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: Option »%s« ist zweideutig\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: Option »--%s« erlaubt kein Argument\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: Option »%c%s« erlaubt kein Argument\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: Option »%s« benötigt ein Argument\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nicht erkannte Option »--%s«\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nicht erkannte Option »%c%s«\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ungültige Option -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ungültige Option -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: Option verlangt ein Argument -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: Option »-W %s« ist zweideutig\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: Option »-W %s« erlaubt kein Argument\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Unbekannter Rechner"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Temoprärer Fehler bei der Namensauflösung"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Unbekannter Fehler"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Auflösen des Hostnamen »%s«.... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "Fehler: Keine IPv4/IPv6 Adresse für den Host.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "fehlgeschlagen: Wartezeit abgelaufen.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Der unvollständige Link »%s« kann nicht aufgelöst werden.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: %s: Ungültige URL »%s«.\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Fehler beim Schreiben der HTTP-Anforderung: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Keine Header, vermutlich ist es HTTP/0.9."
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "SSL wird ausgeschaltet nachdem Fehler aufgetreten sind.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "POST Datendatei »%s« fehlt: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Wiederverwendung der bestehenden Verbindung zu %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Fehler beim Lesen der Proxy-Antwort: %s.\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Proxy-Tunneling fehlgeschlagen: %s"
 
 # Wieder das mit der 1. Person :)
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s Anforderung gesendet, warte auf Antwort... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Keine Daten empfangen.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Lesefehler (%s) beim Vorspann (header).\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Die Datei »%s« ist schon vorhanden; kein erneuter Download.\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Unbekanntes Authentifizierungsschema.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Authorisierung fehlgeschlagen.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Nicht korrekte Statuszeile"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(keine Beschreibung)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Platz: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nicht spezifiziert"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr "[folge]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -640,78 +643,103 @@ msgstr ""
 "\n"
 
 # Header
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Länge: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "übergangen"
 
-#: src/http.c:2019
+# XXX
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "In »%s« speichern.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Warnung: Joker-Zeichen werden bei HTTP nicht unterstützt.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr "Die Datei »%s« ist schon vorhanden; kein erneuter Download.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
+"Spider-Modus eingeschaltet.  Prüfe ob die Datei auf dem Server existiert.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Kann nicht nach »%s« schreiben (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Es ist nicht möglich, eine SSL-Verbindung herzustellen.\n"
 
 # Was meint hier location?
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "FEHLER: Umleitung (%d) ohne Ziel(?).\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Die Datei auf dem Server existiert nicht -- Link nicht gültig!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s FEHLER %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "»Last-modified«-Kopfzeile fehlt -- Zeitstempel abgeschaltet.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "»Last-modified«-Kopfzeile ungültig -- Zeitstempel übergangen.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Datei auf dem Server nicht neuer als die lokale Datei »%s« -- kein Download.\n"
+"Datei auf dem Server nicht neuer als die lokale Datei »%s« -- kein "
+"Download.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Größen stimmen nicht überein (lokal %s) -- erneuter Download.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Datei der Gegenseite ist neuer, erneuter Download.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr "Datei auf dem Server existiert und enhält Links -- Download erfolgt.\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Datei auf dem Server existiert aber enhält keine Links -- kein Download.\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Datei auf dem Server existiert, aber Rekursion ist abgeschaltet -- kein "
+"Download.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -720,109 +748,102 @@ msgstr ""
 "%s (%s) - »%s« gespeichert [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Verbindung bei Byte %s geschlossen. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Verbindung bei Byte %s/%s geschlossen. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Lesefehler bei Byte %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Lesefehler bei Byte %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC zeigt auf die Datei »%s«, die nicht existiert.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: »%s« nicht lesbar (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Fehler in »%s« bei Zeile %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Fehler in »%s« in Zeile %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Unbekanntes Kommando »%s« in »%s« in Zeile %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Warnung: »wgetrc« des Systems und des Benutzers zeigen nach »%s«.\n"
+msgstr ""
+"%s: Warnung: »wgetrc« des Systems und des Benutzers zeigen nach »%s«.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Ungültige »--execute«-Kommando »%s«\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Ungültiger Schalter »%s«, bitte »on« oder »off« angeben.\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr "%s: %s: Ungültiger Schalter »%s« Bitte »on«, »off«, »always« oder »never« angeben.\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Ungültige Nummer »%s«\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Ungültiger Byte-Wert »%s.«\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Ungültige Zeitperiode »%s«\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Ungültiger Wert »%s«.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Ungültige Kopfzeile »%s«\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Ungültiger Fortschrittstyp »%s.«\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Ungültige Einschränkung »%s«, verwenden Sie »unix« oder »windows«.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Ungültige Einschränkung »%s«, verwenden Sie [unix|windows],"
+"[lowercase|uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -831,9 +852,7 @@ msgstr ""
 "\n"
 "%s erhalten, Ausgabe wird nach »%s« umgeleitet.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -842,349 +861,440 @@ msgstr ""
 "\n"
 "%s empfangen.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; Protokoll wird ausgeschaltet.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Syntax: %s [OPTION]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Erforderliche Argumente zu langen Optionen sind auch bei kurzen Optionen erforderlich.\n"
+"Erforderliche Argumente zu langen Optionen sind auch bei kurzen Optionen "
+"erforderlich.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Beim Start:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version          Programmversion anzeigen und beenden\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help             diese Hilfe anzeigen\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background       nach dem Starten in den Hintergrund gehen\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=BEFEHL   einen ».wgetrc«-artigen Befehl ausführen\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Log-Datei schreiben und Eingabe-Datei:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=DATEI    Protokoll-Meldungen in DATEI schreiben\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=DATEI  Meldungen der DATEI anhängen\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug                Debug-Ausgabe anzeigen\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug               Watt-32 Debug-Ausgabe anzeigen\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet                keine Ausgabe von Meldungen\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose              ausführliche Meldungen (Vorgabe)\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --non-verbose          Meldungen weniger ausführlich, aber nicht »--quiet«\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --non-verbose          Meldungen weniger ausführlich, aber nicht »--"
+"quiet«\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=DATEI     in DATEI gelistete URLs holen\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html           Eingabe-Datei als HTML behandeln\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL             URL relativen Links in »-F -i DATEI« voranstellen\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL             URL relativen Links in »-F -i DATEI« "
+"voranstellen\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Download:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
 msgstr ""
-"  -t,  --tries=ZAHL             Anzahl der Wiederholversuche auf ZAHL setzen\n"
+"  -t,  --tries=ZAHL             Anzahl der Wiederholversuche auf ZAHL "
+"setzen\n"
 "                                  (0 steht für unbegrenzt)\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused      Wiederhole, auch wenn der Partner die Verbindung abgelehnt hat.\n"
+msgstr ""
+"       --retry-connrefused      Wiederhole, auch wenn der Partner die "
+"Verbindung abgelehnt hat.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O   --output-document=DATEI  Dokumente in DATEI schreiben\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr ""
-"  -nc, --no-clobber             bestehende Dateien nicht überschreiben oder \n"
+"  -nc, --no-clobber             bestehende Dateien nicht überschreiben "
+"oder \n"
 "                                  ».#« Suffix verwenden\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr ""
 "  -c,  --continue               Fortführung des Downloads einer bereits zum\n"
 "                                  Teil geholten Datei\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=STYLE         Anzeige für den Download auf STYLE setzen\n"
+msgstr ""
+"       --progress=STYLE         Anzeige für den Download auf STYLE setzen\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
 msgstr ""
-"  -N,  --timestamping           Nur Dateien holen, die neuer als die lokalen\n"
+"  -N,  --timestamping           Nur Dateien holen, die neuer als die "
+"lokalen\n"
 "                                  Dateien sind\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response        Antwort des Servers anzeigen\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
-msgstr "       --spider                 kein Download (don't download anything)\n"
+msgstr ""
+"       --spider                 kein Download (don't download anything)\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
 msgstr "  -T,  --timeout=SEKUNDEN       alle Timeouts auf SEKUNDEN setzen\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SEKUNDEN   den Timeout der DNS-Abfrage auf SEKUNDEN setzen\n"
+msgstr ""
+"       --dns-timeout=SEKUNDEN   den Timeout der DNS-Abfrage auf SEKUNDEN "
+"setzen\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SEKUNDEN   den Connect-Timeout auf SEKUNDEN setzen\n"
+msgstr ""
+"       --connect-timeout=SEKUNDEN   den Connect-Timeout auf SEKUNDEN setzen\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=SEKUNDEN  den Lese-Timeout auf SEKUNDEN setzen\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=SEKUNDEN          SEKUNDEN zwischen den Downloads warten\n"
+msgstr ""
+"  -w,  --wait=SEKUNDEN          SEKUNDEN zwischen den Downloads warten\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
-"       --waitretry=SEKUNDEN     1...SEKUNDEN zwischen den erneuten Versuchen\n"
+"       --waitretry=SEKUNDEN     1...SEKUNDEN zwischen den erneuten "
+"Versuchen\n"
 "                                  warten\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr ""
 "       --random-wait            Zwischen 0 und 2*WAIT Sekunden zwischen\n"
 "                                  Versuchen warten\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                  Proxy verwenden\n"
-
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy               Keinen Proxy verwenden\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=ZAHL             Kontingent für den Download auf ZAHL setzen\n"
+msgstr ""
+"  -Q,  --quota=ZAHL             Kontingent für den Download auf ZAHL setzen\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
 msgstr ""
-"       --bind-address=ADRESSE   An die ADRESSE (Hostname oder IP) des lokalen\n"
+"       --bind-address=ADRESSE   An die ADRESSE (Hostname oder IP) des "
+"lokalen\n"
 "                                  Rechners binden\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=RATE        Datenrate beim Download auf RATE begrenzen\n"
+msgstr ""
+"       --limit-rate=RATE        Datenrate beim Download auf RATE begrenzen\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr "       --dns-cache=off          Cachen von DNS-Abfragen ausschalten\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
 "       --restrict-file-names=OS Verwendbare Zeichen in Dateinamen auf \n"
 "                                  diejenigen einschränken, die das \n"
 "                                  Betreibssystem erlaubt\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case            ignoriere Groß-/Kleinschreibung bei Datei-/"
+"Verzeichnisnamen.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only             Verbinde nur zu IPv4-Adressen.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only             Verbinde nur zu IPv6-Adressen.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
 "       --prefer-family=FAMILIE   Versuche zunächste eine Verbindung zur\n"
 "                                 angegebenen Familie, eins von »IPv6«,\n"
 "                                 »IPv4« oder »none«\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=USER              Verwende USER sowohl als ftp- als auch als http-Benutzer.\n"
+msgstr ""
+"       --user=USER              Verwende USER sowohl als ftp- als auch als "
+"http-Benutzer.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=PASS          Verwende PASS sowohl als ftp- als auch als http-Passwort.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=PASS          Verwende PASS sowohl als ftp- als auch als "
+"http-Passwort.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Verzeichnisse:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd  --no-directories            keine Verzeichnisse anlegen\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
-msgstr "  -x,  --force-directories         Anlegen von Verzeichnissen erzwingen\n"
+msgstr ""
+"  -x,  --force-directories         Anlegen von Verzeichnissen erzwingen\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories       keine Host-Verzeichnisse anlegen\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     Verwende den Protokollnamen in Verzeichnissen\n"
+msgstr ""
+"       --protocol-directories     Verwende den Protokollnamen in "
+"Verzeichnissen\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr ""
 "  -P,  --directory-prefix=PREFIX   Dateien unter dem Verzeichnis PREFIX/...\n"
 "                                     speichern\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
 msgstr ""
-"       --cut-dirs=ZAHL             ZAHL der Verzeichnisebenen der Gegenseite\n"
+"       --cut-dirs=ZAHL             ZAHL der Verzeichnisebenen der "
+"Gegenseite\n"
 "                                     überspringen\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP-Optionen:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=BENUTZER   http-Benutzer auf BENUTZER setzen\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-passwd=PASS     http-Passwort auf PASS setzen\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache             Verbiete durch den Server gecachte Daten\n"
+msgstr ""
+"       --no-cache             Verbiete durch den Server gecachte Daten\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
 msgstr ""
 "  -E,  --html-extension       alle text/html-Dokumente mit dem Suffix .html\n"
 "                                speichern\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length        das »Content-Length«-Kopffeld ignorieren\n"
+msgstr ""
+"       --ignore-length        das »Content-Length«-Kopffeld ignorieren\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=ZEICHENKETTE  ZEICHENKETTE zwischen die Kopfzeilen einfügen\n"
+msgstr ""
+"       --header=ZEICHENKETTE  ZEICHENKETTE zwischen die Kopfzeilen einfügen\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect         maximale Anzahl erlaubter »Redirects« pro "
+"Seite.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=BENUTZER  BENUTZER als Proxy-Benutzername setzen\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-passwd=PASS    PASS als Proxy-Passwort setzen\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr ""
-"       --referer=URL          die Kopfzeile `Referer: URL' der HTTP-Anforderung\n"
+"       --referer=URL          die Kopfzeile `Referer: URL' der HTTP-"
+"Anforderung\n"
 "                                hinzufügen\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
-msgstr "       --save-headers         den HTTP-Vorspann (header lines) in Datei sichern\n"
+msgstr ""
+"       --save-headers         den HTTP-Vorspann (header lines) in Datei "
+"sichern\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT     als AGENT anstelle of Wget/VERSION identifizieren\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT     als AGENT anstelle of Wget/VERSION "
+"identifizieren\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
 msgstr ""
-"       --no-http-keep-alive   »HTTP keep-alive« (ununterbrochene Verbindungen)\n"
+"       --no-http-keep-alive   »HTTP keep-alive« (ununterbrochene "
+"Verbindungen)\n"
 "                                deaktivieren\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies           Cookies nicht verwenden\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=DATEI   Cookies vor der Sitzung aus der DATEI laden\n"
+msgstr ""
+"       --load-cookies=DATEI   Cookies vor der Sitzung aus der DATEI laden\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=DATEI   Cookies nach der Sitzung in der DATEI speichern\n"
+msgstr ""
+"       --save-cookies=DATEI   Cookies nach der Sitzung in der DATEI "
+"speichern\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies Lade und speichere (nicht-permanente) Session-Cookies.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies Lade und speichere (nicht-permanente) Session-"
+"Cookies.\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
 msgstr ""
 "       --post-data=STRING     Verwende die POST-Methode, sende dabei die \n"
 "                                Zeichenkette STRING als Daten\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
 msgstr ""
 "       --post-file=DATEI      Verwende die POST-Methode, sende dabei den \n"
 "                                Inhalt aus DATEI\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL) Optionen:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
@@ -1192,192 +1302,248 @@ msgstr ""
 "       --secure-protocol=PR     Verwende als sicheres Protokoll eins aus\n"
 "                                »auto«, »SSLv2«, »SSLv3« oder »TLSv1«.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   Das Server-Zertifikat nicht validieren.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   Das Server-Zertifikat nicht validieren.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=DATEI      Datei mit dem Client-Zertifikat.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TYP   Typ des Client-Zertifikates, »PEM« oder »DER«.\n"
+msgstr ""
+"       --certificate-type=TYP   Typ des Client-Zertifikates, »PEM« oder "
+"»DER«.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=DATEI      Datei mit dem Private Key\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=TYP   Typ des Private Key, »PEM« oder »DER«\n"
+msgstr ""
+"       --private-key-type=TYP   Typ des Private Key, »PEM« oder »DER«\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=DATEI   Datei mit der CA-Sammlung\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=VERZEICHNIS  Verzeichnis mit der Hash-Liste der CAs\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=VERZEICHNIS  Verzeichnis mit der Hash-Liste der CAs\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
 msgstr ""
-"       --random-file=DATEI      Datei mit Zufallsdaten zur Initialisierung des\n"
+"       --random-file=DATEI      Datei mit Zufallsdaten zur Initialisierung "
+"des\n"
 "                                SSL Pseudo-Zufallszahlen-Generators\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=DATEI         Dateiname des EGD-Sockets mit Zufallszahlen\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=DATEI         Dateiname des EGD-Sockets mit Zufallszahlen\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP-Optionen:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
-msgstr "       --ftp-user=BENUTZER       Verwende BENUTZER als ftp-Benutzername\n"
+msgstr ""
+"       --ftp-user=BENUTZER       Verwende BENUTZER als ftp-Benutzername\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=PASSWORT Verwende PASSWORT als ftp-Passwort\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing    ».listing«-Dateien nicht entfernen\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
 msgstr "       --no-glob               Schalte ftp Dateinamens-Globbing aus\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr "       --no-passive-ftp        Verwende nur »aktiven« Transfer-Modus\n"
 
 # Check --retr-symlinks
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
-"       --retr-symlinks        falls auftretend, verlinkte Dateien holen (keine\n"
+"       --retr-symlinks        falls auftretend, verlinkte Dateien holen "
+"(keine\n"
 "                                Verzeichnisse)\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr "       --preserve-permissions  Erhalte die Dateirechte des Servers\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Rekursives Holen:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
-msgstr "  -r,  --recursive         rekursiver Download -- mit Umsicht verwenden!\n"
+msgstr ""
+"  -r,  --recursive         rekursiver Download -- mit Umsicht verwenden!\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
 msgstr ""
 "  -l,  --level=Zahl        maximale Rekursionstiefe (»inf« oder »0« steht\n"
 "                             für ohne Begrenzung)\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr "       --delete-after      geholte Dateien nach dem Download löschen\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links     nicht-relative Links in relative umwandeln\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links     nicht-relative Links in relative umwandeln\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr ""
-"  -K,  --backup-converted      vor dem Umwandeln der Datei X, ein Backup als\n"
+"  -K,  --backup-converted      vor dem Umwandeln der Datei X, ein Backup "
+"als\n"
 "                                 X.orig anlagen.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror                Kurzform, die »-r -N -l inf -nr --no-remove-listing« entspricht.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror                Kurzform, die »-r -N -l inf -nr --no-remove-"
+"listing« entspricht.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
 "  -p,  --page-requisites       alle Bilder usw. holen, die für die Anzeige\n"
 "                                 der HTML-Seite notwendig sind\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments       Strikte Handhabung (SGML) von HTML-Kommentaren\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments       Strikte Handhabung (SGML) von HTML-"
+"Kommentaren\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Rekursiv erlauben/zurückweisen:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr ""
 "  -A,  --accept=LISTE               komma-unterteilte Liste der erlaubten\n"
 "                                      Dateiendungen\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr ""
 "  -R,  --reject=LISTE               komma-unterteilte Liste der\n"
 "                                      zurückzuweisenden Erweiterungen\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
 "  -D,  --domains=LISTE              komma-unterteilte Liste der erlaubten\n"
 "                                      Domains\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
 "       --exclude-domains=LISTE      komma-unterteilte Liste der\n"
 "                                      zurückzuweisenden Domains\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
 msgstr ""
 "       --follow-ftp                 FTP-Verweisen von HTML-Dokumenten aus\n"
 "                                      folgen\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr ""
-"       --follow-tags=LISTE          komma-unterteilte Liste der zu folgenden\n"
+"       --follow-tags=LISTE          komma-unterteilte Liste der zu "
+"folgenden\n"
 "                                      HTML-Tags\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
 "       --ignore-tags=LISTE          komma-unterteilte Liste der zu\n"
 "                                      missachtenden HTML-Tags\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr ""
-"  -H,  --span-hosts                 wenn »--recursive«, auch zu fremden Hosts\n"
+"  -H,  --span-hosts                 wenn »--recursive«, auch zu fremden "
+"Hosts\n"
 "                                      gehen\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                   nur relativen Verweisen folgen\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
-msgstr "  -I,  --include-directories=LISTE  Liste der erlaubten Verzeichnisse\n"
+msgstr ""
+"  -I,  --include-directories=LISTE  Liste der erlaubten Verzeichnisse\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
-msgstr "  -X,  --exclude-directories=LISTE  Liste der auszuschließenden Verzeichnisse\n"
+msgstr ""
+"  -X,  --exclude-directories=LISTE  Liste der auszuschließenden "
+"Verzeichnisse\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
 "  -np, --no-parent                  nicht in das übergeordnete Verzeichnis\n"
 "                                      wechseln\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr ""
 "Fehlerberichte und Verbesserungsvorschläge bitte an <bug-wget@gnu.org>\n"
@@ -1385,29 +1551,34 @@ msgstr ""
 "\n"
 "Für die deutsche Übersetzung ist die Mailingliste <de@li.org> zuständig.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, ein nicht-interaktives Netz-Werkzeug zum Download von Dateien.\n"
+msgstr ""
+"GNU Wget %s, ein nicht-interaktives Netz-Werkzeug zum Download von Dateien.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Dieses Programm wird in der Hoffnung verteilt, dass es nützlich ist.\n"
-"Es gibt KEINERLEI Garantie, nicht einmal für die TAUGLICHKEIT oder die\n"
-"VERWENDBARKEIT ZU EINEM ANGEGEBENEN ZWECK.  In den Quellen befindet sich die\n"
-"Lizenz- und Kopierbedingung; die Einzelheiten sind in der Datei COPYING\n"
-"(GNU General Public License) beschrieben.\n"
-
-#: src/main.c:665
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Dies ist Freie Software; Sie dürfen diese ändern und weitergeben.\n"
+"Es wird keine Garantie gegeben, soweit das Gesetz es zuläßt.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1415,198 +1586,240 @@ msgstr ""
 "\n"
 "Ursprünglich geschrieben von Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Derzeit gepflegt von Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "»%s --help« gibt weitere Informationen.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: ungültige Option -- »-n%c«\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "»Ausführliche« und »keine Meldungen« ist gleichzeitig unmöglich.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "»Zeitstempel« und »Überschreibung alter Dateien« ist gleichzeitig unmöglich.\n"
+msgstr ""
+"»Zeitstempel« und »Überschreibung alter Dateien« ist gleichzeitig "
+"unmöglich.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
-msgstr "Die Optionen »--inet4-only« und »--inet6-only« sind gemeinsam nicht erlaubt\n"
+msgstr ""
+"Die Optionen »--inet4-only« und »--inet6-only« sind gemeinsam nicht erlaubt\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+"Wenn -O angegeben ist, dann darf -r, -p oder -N nicht verwendet werden.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+"Die Optionen »-k« und »-o« sind gemeinsam nicht erlaubt, wenn mehrere URLs "
+"angegeben sind.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL fehlt\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Keine URLs in %s gefunden.\n"
 
-#: src/main.c:972
+# XXX
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "BEENDET --%s--\n"
-"Geholt: %s Bytes in %d Dateien\n"
+"Geholt: %d Dateien, %s in %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Download-Kontingent (%s Bytes) ERSCHÖPFT!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Download-Kontingent von %s ERSCHÖPFT!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Im Hintergrund geht's weiter.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Im Hintergrund geht's weiter, die Prozeßnummer ist %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Ausgabe wird nach »%s« geschrieben.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Kein benutzbar \"socket driver\" auffindbar.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: Warnung: »%s«-Wortteil erscheint vor einem Maschinennamen\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: unbekannter Wortteil »%s«\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Syntax: %s NETRC [HOSTNAME]\n"
 
 # stat
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: kann nicht finden %s: %s\n"
 
 # XXX
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
-msgstr "WARNUNG: Der Zufallszahlengenerator wird mit einem schwachen Wert initialisiert.\n"
+msgstr ""
+"WARNUNG: Der Zufallszahlengenerator wird mit einem schwachen Wert "
+"initialisiert.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "Der Zufallszahlengenerator konnte nicht initialisiert werden, denken Sie über --random-file nach.\n"
+msgstr ""
+"Der Zufallszahlengenerator konnte nicht initialisiert werden, denken Sie "
+"über --random-file nach.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "FEHLER"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "WARNUNG"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: Kein Zertifikat angegeben von %s.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: Fehler beim Prüfen des Zertifikates für %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+"%s: Kann das Zertifikat von »%s« nicht prüfen, ausgestellt von »%s«:.\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+"  Die Authorität des Ausstellers des Zertifikates kann lokal nicht geprüft "
+"werden.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Ein selbst-signiertes Zertifikat gefunden.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Das ausgestellte Zertifikat ist noch nicht gültig.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Das ausgestellte Zertifikat ist nicht mehr gültig.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: Der Common Name »%s« des Zertifikates entspricht nicht dem angeforderten Hostname »%s«.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: Der Common Name »%s« des Zertifikates entspricht nicht dem angeforderten "
+"Hostname »%s«.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Verwenden Sie »--no-check-certificate«, um zu dem Server »%s« eine nicht gesicherte Verbindung aufzubauen.\n"
+msgstr ""
+"Verwenden Sie »--no-check-certificate«, um zu dem Server »%s« eine nicht "
+"gesicherte Verbindung aufzubauen.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ überspringe %dK ]"
+"%*s[ überspringe %sK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Ungültiger Stil für den Fortschrittsindikator »%s«; keine Änderung.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  ETA %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   in "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "Kann die Frequenz der Echtzeit-Uhr nicht bestimmen: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Entferne »%s«, da dies zurückgewiesen werden soll.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Kann »%s« nicht öffnen: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Lade »robots.txt«; bitte Fehler ignorieren.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Fehler beim Parsen der Proxy-URL »%s«: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Fehler in der Proxy-URL »%s«: Es muss eine HTTP-URL sein.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d: Die Anzahl der Verweise ist zu groß.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1614,7 +1827,7 @@ msgstr ""
 "Aufgegeben.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1622,389 +1835,87 @@ msgstr ""
 "Erneuter Versuch.\n"
 "\n"
 
-#: src/url.c:626
+# Besser als: Alle Verweise ok?
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Keine ungültigen Verweise gefunden.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Ein %d ungültiger Verweis gefunden.\n"
+"\n"
+msgstr[1] ""
+"%d ungültige Verweise gefunden.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Kein Fehler"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Nicht unterstütztes Schema"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Ungültiger Hostname"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Ungültige Port-Nummer"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Ungültiger Benutzername"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Unvollständige numerische IPv6-Adresse"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6-Adressen werden nicht unterstützt"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Ungültige numerische IPv6-Adresse"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Im Hintergrund geht's weiter, die Prozeßnummer ist %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Entfernen des symbolischen Verweises »%s« fehlgeschlagen: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: Fehler beim Allozieren von %ld Bytes; Speicher erschöpft.\n"
 
-#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-#~ msgstr "Kann »%s« nicht in eine Bind-Adresse umwandeln.  Verwende den Standard »ANY«.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "REST failed; will not truncate `%s'.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "REST schlug fehl; »%s« wird nicht abgeschnitten.\n"
-
-#~ msgid " [%s to go]"
-#~ msgstr " [noch %s]"
-
-#~ msgid "Host not found"
-#~ msgstr "Host nicht gefunden"
-
-#~ msgid "Failed to set up an SSL context\n"
-#~ msgstr "Aufbau einer SSL-Verbindung ist fehlgeschlagen\n"
-
-#~ msgid "Failed to load certificates from %s\n"
-#~ msgstr "Fehler beim Laden der Zertifikate von %s\n"
-
-#~ msgid "Trying without the specified certificate\n"
-#~ msgstr "Versuch ohne die angegebenen Zertifikate\n"
-
-#~ msgid "Failed to get certificate key from %s\n"
-#~ msgstr "Fehlversuch den Zertifikat-Schlüssel von %s zu erhalten.\n"
-
-#~ msgid "End of file while parsing headers.\n"
-#~ msgstr "Dateiende beim Auswerten des Vorspanns (headers).\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Continued download failed on this file, which conflicts with `-c'.\n"
-#~ "Refusing to truncate existing file `%s'.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Die Fortführung des Downloads ist fehlgeschlagen; dies ist ein\n"
-#~ "Widerspruch zur Option »-c«.\n"
-#~ "Die vorhandene Datei »%s« wird nicht abgeschnitten.\n"
-#~ "\n"
-
-#~ msgid " (%s to go)"
-#~ msgstr " (%s übrig)"
-
-#~ msgid "File `%s' already there, will not retrieve.\n"
-#~ msgstr "Datei »%s« ist schon vorhanden, kein erneuter Download.\n"
-
-#~ msgid ""
-#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
-#~ "\n"
-#~ msgstr ""
-#~ "%s (%s) - »%s« gespeichert [%ld/%ld])\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Startup:\n"
-#~ "  -V,  --version           display the version of Wget and exit.\n"
-#~ "  -h,  --help              print this help.\n"
-#~ "  -b,  --background        go to background after startup.\n"
-#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Beim Start:\n"
-#~ "  -V,  --version          Programmversion anzeigen\n"
-#~ "  -h,  --help             diese Hilfe anzeigen\n"
-#~ "  -b,  --background       nach dem Starten in den Hintergrund gehen\n"
-#~ "  -e,  --execute=BEFEHL   einen ».wgetrc«-artigen Befehl ausführen\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Logging and input file:\n"
-#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
-#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
-#~ "  -d,  --debug                print debug output.\n"
-#~ "  -q,  --quiet                quiet (no output).\n"
-#~ "  -v,  --verbose              be verbose (this is the default).\n"
-#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
-#~ "  -F,  --force-html           treat input file as HTML.\n"
-#~ "  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Log-Datei schreiben und Eingabe-Datei:\n"
-#~ "  -o,  --output-file=DATEI    Protokoll-Meldungen in DATEI schreiben\n"
-#~ "  -a,  --append-output=DATEI  Meldungen der DATEI anhängen\n"
-#~ "  -d,  --debug                Debug-Ausgabe anzeigen\n"
-#~ "  -q,  --quiet                keine Ausgabe von Meldungen\n"
-#~ "  -v,  --verbose              ausführliche Meldungen (Vorgabe)\n"
-#~ "  -nv, --non-verbose          Meldungen weniger ausführlich, aber nicht »--quiet«\n"
-#~ "  -i,  --input-file=DATEI     in DATEI gelistete URLs holen\n"
-#~ "  -F,  --force-html           Eingabe-Datei als HTML behandeln\n"
-#~ "  -B,  --base=URL             URL relativen Links in »-F -i DATEI« voranstellen\n"
-
-#~ msgid ""
-#~ "Download:\n"
-#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-#~ "       --retry-connrefused      retry even if connection is refused.\n"
-#~ "  -O   --output-document=FILE   write documents to FILE.\n"
-#~ "  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-#~ "  -c,  --continue               resume getting a partially-downloaded file.\n"
-#~ "       --progress=TYPE          select progress gauge type.\n"
-#~ "  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-#~ "  -S,  --server-response        print server response.\n"
-#~ "       --spider                 don't download anything.\n"
-#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
-#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-#~ "       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
-#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
-#~ "       --dns-cache=off          disable caching DNS lookups.\n"
-#~ "       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Download:\n"
-#~ "  -t,  --tries=ZAHL             Anzahl der Wiederholversuche auf ZAHL setzen\n"
-#~ "                                  (0 steht für unbegrenzt)\n"
-#~ "  -O   --output-document=DATEI  Dokumente in DATEI schreiben\n"
-#~ "  -nc, --no-clobber             bestehende Dateien nicht überschreiben oder \n"
-#~ "                                  ».#« Suffix verwenden\n"
-#~ "  -c,  --continue               Fortführung des Downloads einer bereits zum\n"
-#~ "                                  Teil geholten Datei\n"
-#~ "       --progress=STYLE         Anzeige für den Download auf STYLE setzen\n"
-#~ "  -N,  --timestamping           Nur Dateien holen, die neuer als die lokalen\n"
-#~ "                                  Dateien sind\n"
-#~ "  -S,  --server-response        Antwort des Servers anzeigen\n"
-#~ "       --spider                 kein Download (don't download anything)\n"
-#~ "  -T,  --timeout=SEKUNDEN       alle Timeouts auf SEKUNDEN setzen\n"
-#~ "       --dns-timeout=SEKUNDEN   den Timeout der DNS-Abfrage auf SEKUNDEN setzen\n"
-#~ "       --connect-timeout=SEKUNDEN   den Connect-Timeout auf SEKUNDEN setzen\n"
-#~ "       --read-timeout=SEKUNDEN  den Lese-Timeout auf SEKUNDEN setzen\n"
-#~ "  -w,  --wait=SEKUNDEN          SEKUNDEN zwischen den Downloads warten\n"
-#~ "       --waitretry=SEKUNDEN     1...SEKUNDEN zwischen den erneuten Versuchen\n"
-#~ "                                  warten\n"
-#~ "       --random-wait            Zwischen 0 und 2*WAIT Sekunden zwischen\n"
-#~ "                                  Versuchen warten\n"
-#~ "  -Y,  --proxy=on/off           Proxy ein (»on«) oder aus (»off«) stellen\n"
-#~ "  -Q,  --quota=ZAHL             Kontingent für den Download auf ZAHL setzen\n"
-#~ "       --bind-address=ADRESSE   An die ADRESSE (Hostname oder IP) des lokalen\n"
-#~ "                                  Rechners binden\n"
-#~ "       --limit-rate=RATE        Datenrate beim Download auf RATE begrenzen\n"
-#~ "       --dns-cache=off          Cachen von DNS-Abfragen ausschalten\n"
-#~ "       --restrict-file-names=OS Verwendbare Zeichen in Dateinamen auf \n"
-#~ "                                  diejenigen einschränken, die das \n"
-#~ "                                  Betreibssystem erlaubt\n"
-
-#~ msgid ""
-#~ "Directories:\n"
-#~ "  -nd, --no-directories            don't create directories.\n"
-#~ "  -x,  --force-directories         force creation of directories.\n"
-#~ "  -nH, --no-host-directories       don't create host directories.\n"
-#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Verzeichnisse:\n"
-#~ "  -nd  --no-directories            keine Verzeichnisse anlegen\n"
-#~ "  -x,  --force-directories         Anlegen von Verzeichnissen erzwingen\n"
-#~ "  -nH, --no-host-directories       keine Host-Verzeichnisse anlegen\n"
-#~ "  -P,  --directory-prefix=PREFIX   Dateien unter dem Verzeichnis PREFIX/...\n"
-#~ "                                     speichern\n"
-#~ "       --cut-dirs=ZAHL             ZAHL der Verzeichnisebenen der Gegenseite\n"
-#~ "                                     überspringen\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "HTTP options:\n"
-#~ "       --http-user=USER      set http user to USER.\n"
-#~ "       --http-passwd=PASS    set http password to PASS.\n"
-#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-#~ "  -E,  --html-extension      save all text/html documents with .html extension.\n"
-#~ "       --ignore-length       ignore `Content-Length' header field.\n"
-#~ "       --header=STRING       insert STRING among the headers.\n"
-#~ "       --proxy-user=USER     set USER as proxy username.\n"
-#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
-#~ "       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
-#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-#~ "       --cookies=off         don't use cookies.\n"
-#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
-#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
-#~ "       --post-data=STRING    use the POST method; send STRING as the data.\n"
-#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "HTTP-Optionen:\n"
-#~ "       --http-user=BENUTZER   http-Benutzer auf BENUTZER setzen\n"
-#~ "       --http-passwd=PASS     http-Passwort auf PASS setzen\n"
-#~ "  -C,  --cache=on/off         server-gepufferte Daten erlauben/verbieten\n"
-#~ "                                (server-cached data) (normalerweise erlaubt)\n"
-#~ "  -E,  --html-extension       alle text/html-Dokumente mit dem Suffix .html\n"
-#~ "                                speichern\n"
-#~ "       --ignore-length        das »Content-Length«-Kopffeld ignorieren\n"
-#~ "       --header=ZEICHENKETTE  ZEICHENKETTE zwischen die Kopfzeilen einfügen\n"
-#~ "       --proxy-user=BENUTZER  BENUTZER als Proxy-Benutzername setzen\n"
-#~ "       --proxy-passwd=PASS    PASS als Proxy-Passwort setzen\n"
-#~ "       --referer=URL          die Kopfzeile `Referer: URL' der HTTP-Anforderung\n"
-#~ "                                hinzufügen\n"
-#~ "  -s,  --save-headers         den HTTP-Vorspann (header lines) in Datei sichern\n"
-#~ "  -U,  --user-agent=AGENT     als AGENT anstelle of Wget/VERSION identifizieren\n"
-#~ "       --no-http-keep-alive   »HTTP keep-alive« (ununterbrochene Verbindungen)\n"
-#~ "                                deaktivieren\n"
-#~ "       --cookies=off          Cookies nicht verwenden\n"
-#~ "       --load-cookies=DATEI   Cookies vor der Sitzung aus der DATEI laden\n"
-#~ "       --save-cookies=DATEI   Cookies nach der Sitzung in der DATEI speichern\n"
-#~ "       --post-data=STRING     Verwende die POST-Methode, sende dabei die \n"
-#~ "                                Zeichenkette STRING als Daten\n"
-#~ "       --post-file=DATEI      Verwende die POST-Methode, sende dabei den \n"
-#~ "                                Inhalt aus DATEI\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "HTTPS (SSL) options:\n"
-#~ "       --sslcertfile=FILE     optional client certificate.\n"
-#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-#~ "       --egd-file=FILE        file name of the EGD socket.\n"
-#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-#~ "       --sslcafile=FILE       file with bundle of CA's\n"
-#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-#~ "\n"
-#~ msgstr ""
-#~ "HTTPS (SSL) Optionen:\n"
-#~ "       --sslcertfile=FILE     optionales Client-Zertifikat.\n"
-#~ "       --sslcertkey=KEYFILE   optionale Schlüsseldatei für dieses Zertifikat.\n"
-#~ "       --egd-file=FILE        file name of the EGD socket.\n"
-#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-#~ "       --sslcafile=FILE       file with bundle of CA's\n"
-#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-#~ "\n"
-
-# Check --retr-symlinks
-#~ msgid ""
-#~ "FTP options:\n"
-#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
-#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
-#~ "       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-#~ "\n"
-#~ msgstr ""
-#~ "FTP-Optionen:\n"
-#~ "  -nr, --dont-remove-listing  ».listing«-Dateien nicht entfernen\n"
-#~ "  -g,  --glob=on/off          Dateinamen-»Globbing« ein- (»on«) oder ausstellen\n"
-#~ "                                (»off«)\n"
-#~ "       --passive-ftp          den \"passiven\" Übertragungsmodus verwenden\n"
-#~ "       --retr-symlinks        falls auftretend, verlinkte Dateien holen (keine\n"
-#~ "                                Verzeichnisse)\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Recursive retrieval:\n"
-#~ "  -r,  --recursive          recursive download.\n"
-#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-#~ "       --delete-after       delete files locally after downloading them.\n"
-#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
-#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-#~ "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Rekursives Holen:\n"
-#~ "  -r,  --recursive             rekursiver Download -- mit Umsicht verwenden!\n"
-#~ "  -l,  --level=Zahl            maximale Rekursionstiefe (»inf« oder »0« steht\n"
-#~ "                                 für ohne Begrenzung)\n"
-#~ "       --delete-after          geholte Dateien nach dem Download löschen\n"
-#~ "  -k,  --convert-links         nicht-relative Links in relative umwandeln\n"
-#~ "  -K,  --backup-converted      vor dem Umwandeln der Datei X, ein Backup als\n"
-#~ "                                 X.orig anlagen.\n"
-#~ "  -m,  --mirror                Kurzform, die »-r -N -l inf -nr« entspricht.\n"
-#~ "  -p,  --page-requisites       alle Bilder usw. holen, die für die Anzeige\n"
-#~ "                                 der HTML-Seite notwendig sind\n"
-#~ "       --strict-comments       Strikte Handhabung (SGML) von HTML-Kommentaren\n"
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                  Proxy verwenden\n"
 
 #~ msgid ""
-#~ "Recursive accept/reject:\n"
-#~ "  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-#~ "  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-#~ "  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-#~ "       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-#~ "       --follow-ftp                 follow FTP links from HTML documents.\n"
-#~ "       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-#~ "  -L,  --relative                   follow relative links only.\n"
-#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
-#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-#~ "  -np, --no-parent                  don't ascend to the parent directory.\n"
-#~ "\n"
+#~ "       --no-content-disposition  don't honor Content-Disposition header.\n"
 #~ msgstr ""
-#~ "Rekursiv erlauben/zurückweisen:\n"
-#~ "  -A,  --accept=LISTE               komma-unterteilte Liste der erlaubten\n"
-#~ "                                      Dateiendungen\n"
-#~ "  -R,  --reject=LISTE               komma-unterteilte Liste der\n"
-#~ "                                      zurückzuweisenden Erweiterungen\n"
-#~ "  -D,  --domains=LISTE              komma-unterteilte Liste der erlaubten\n"
-#~ "                                      Domains\n"
-#~ "       --exclude-domains=LISTE      komma-unterteilte Liste der\n"
-#~ "                                      zurückzuweisenden Domains\n"
-#~ "       --follow-ftp                 FTP-Verweisen von HTML-Dokumenten aus\n"
-#~ "                                      folgen\n"
-#~ "       --follow-tags=LISTE          komma-unterteilte Liste der zu folgenden\n"
-#~ "                                      HTML-Tags\n"
-#~ "  -G,  --ignore-tags=LISTE          komma-unterteilte Liste der zu\n"
-#~ "                                      missachtenden HTML-Tags\n"
-#~ "  -H,  --span-hosts                 wenn »--recursive«, auch zu fremden Hosts\n"
-#~ "                                      gehen\n"
-#~ "  -L,  --relative                   nur relativen Verweisen folgen\n"
-#~ "  -I,  --include-directories=LISTE  Liste der erlaubten Verzeichnisse\n"
-#~ "  -X,  --exclude-directories=LISTE  Liste der auszuschließenden Verzeichnisse\n"
-#~ "  -np, --no-parent                  nicht in das übergeordnete Verzeichnis\n"
-#~ "                                      wechseln\n"
-#~ "\n"
-
-#~ msgid "%s: debug support not compiled in.\n"
-#~ msgstr "%s: Debug-Unterstützung nicht einkompiliert.\n"
-
-#~ msgid "Starting WinHelp %s\n"
-#~ msgstr "WinHelp %s wird gestartet\n"
-
-#~ msgid "Empty host"
-#~ msgstr "Hostname ist leer"
-
-#~ msgid "%s: %s: Not enough memory.\n"
-#~ msgstr "%s: %s: Nicht genügend Speicher.\n"
+#~ "       --no-content-disposition den »Content-Disposition« nicht "
+#~ "beachten.\n"
index 56c787d0bcfab8d8efb68523971c32e781189033..85cd8cbfa4de0f7ecd4d7130bb057668d53485ca 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2004-12-15 19:46+0000\n"
 "Last-Translator: Simos Xenitellis <simos74@gmx.net>\n"
 "Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -14,28 +14,93 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr ""
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: η επιλογή `%s' είναι αόριστη\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Σύνδεση με %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: η επιλογή `--%s' δεν επιδέχεται όρισμα\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: η επιλογή `%c%s' δεν επιδέχεται όρισμα\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: μη αναγνωρίσημη επιλογή `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: μη αποδεκτή επιλογή -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, fuzzy, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: μη αποδεκτή επιλογή -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: η επιλογή απαιτεί μια παράμετρο -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, fuzzy, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: η επιλογή `%s' είναι αόριστη\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, fuzzy, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: η επιλογή `--%s' δεν επιδέχεται όρισμα\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Σύνδεση με %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Σύνδεση με %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "συνδέθηκε.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "απέτυχε: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Αποτυχία διαγραφής του `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Μετατράπηκαν %d αρχεία σε %.2f δευτερόλεπτα.\n"
 
 #: src/convert.c:197
@@ -57,172 +122,187 @@ msgstr "Αδυναμία μετατροπής συνδέσμων στο %s: %s\n
 msgid "Unable to delete `%s': %s\n"
 msgstr "Αποτυχία διαγραφής του `%s': %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Αδύνατη η λήψη αντιγράγου ασφαλείας του %s ως %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Σφάλμα στο Set-Cookie, πεδίο `%s'"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, fuzzy, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Συντακτικό σφάλμα στο Set-Cookie: πρόωρο τέλος αλφαριθμητικού.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Αδύνατο το άνοιγμα του αρχείου cookies `%s': %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Σφάλμα στην εγγραφή στο `%s': %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Σφάλμα στο κλείσιμο του `%s': %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Μη υποστηριζόμενος τύπος καταλόγου, δοκιμάζω να τον διαβάσω σαν Unix κατάλογο.\n"
+msgstr ""
+"Μη υποστηριζόμενος τύπος καταλόγου, δοκιμάζω να τον διαβάσω σαν Unix "
+"κατάλογο.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Κατάλογος του /%s στο %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "ώρα άγνωστη        "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Αρχείο      "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Κατάλογος   "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Σύνδεση     "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Όχι απόλυτα σίγουρος   "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s byte)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Μήκος: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (ανεπίσημο)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Αυθεντικοποίηση ως %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Σφάλμα στην απάντηση του διακομιστή, κλείνει η σύνδεση ελέγχου.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Σφάλμα στο μήνυμα αποδοχής του διακομιστή.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Αποτυχία στην εγγραφή δεδομένων, κλείνει η σύνδεση ελέγχου.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Ο διακομιστής απαγορεύει τη σύνδεση.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Σφάλμα στην αυθεντικοποίηση.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Επιτυχής σύνδεση!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Σφάλμα διακομιστή, δεν μπορώ να συμπεράνω τον τύπο του συστήματος.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "έγινε.    "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "έγινε.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Άγνωστος τύπος `%c', διακοπή της σύνδεσης.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "έγινε.  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD δεν απαιτήται.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
 "\n"
 msgstr "Δεν υπάρχει τέτοιος κατάλογος `%s'.\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD δεν απαιτείται.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Δεν είναι δυνατή να ξεκινήσει μεταφορά τύπου PASV.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Δεν είναι δυνατή η μετάφραση της απάντησης PASV.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "αδύνατη η σύνδεση στο %s:%hu: %s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Σφάλμα στη σύνδεση (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Μη έγκυρη ΘΥΡΑ.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"Αποτυχία της REST· δε θα επανακτηθεί το `%s'.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -230,7 +310,7 @@ msgstr ""
 "\n"
 "Αποτυχία στην εντολή REST, εκκίνηση από την αρχή.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -239,7 +319,7 @@ msgstr ""
 "Δεν υπάρχει αρχείο `%s'.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -248,109 +328,98 @@ msgstr ""
 "Δεν υπάρχει αρχείο ή κατάλογος `%s'.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Μήκος: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s για πέρας]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (ανεπίσημο)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, κλείσιμο σύνδεσης ελέγχου.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Σύνδεση δεδομένων: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Η σύνδεση ελέγχου έκλεισε.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Η μεταφορά δεδομένων διακόπηκε ανώμαλα.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Το αρχείο `%s' υπάρχει ήδη, δεν επανακτάται.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(προσπάθεια:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' αποθηκεύτηκε [%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Διαγραφή του %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Χρήση του `%s' για προσωρινό αρχείο περιεχομένων καταλόγου.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Διαγραφή του `%s'.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Το επίπεδο αναδρομής %d ξεπέρασε το μέγιστο επίπεδο αναδρομής %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr ""
-"Το αρχείο στο διακομιστή δεν είναι νεώτερο του τοπικού `%s' -- δε γίνεται ανάκτηση.\n"
+"Το αρχείο στο διακομιστή δεν είναι νεώτερο του τοπικού `%s' -- δε γίνεται "
+"ανάκτηση.\n"
 "\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr ""
-"Το αρχείο στο διακομιστή είναι νεώτερο του τοπικού `%s' -- γίνεται ανάκτηση.\n"
+"Το αρχείο στο διακομιστή είναι νεώτερο του τοπικού `%s' -- γίνεται "
+"ανάκτηση.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr "Τα μεγέθη δεν είναι ίσα (τοπικό %ld) -- γίνεται ανάκτηση.\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Μη έγκυρο όνομα συμβολικού συνδέσμου, παρακάμπτεται.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -359,236 +428,189 @@ msgstr ""
 "Υπάρχει ήδη ο ορθός σύνδεσμος %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Δημιουργία συνδέσμου %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Δεν υποστηρίζονται σύνδεσμοι, παράκαμψη συνδέσμου `%s'.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Παράκαμψη καταλόγου `%s'.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: άγνωστο/μη υποστηριζόμενο είδος αρχείου.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: εσφαλμένη ημερομηνία αρχείου.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Δεν θα ανακτηθούν κατάλογοι διότι το βάθος είναι %d (μέγιστο %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Δεν επεκτεινόμαστε στο `%s' διότι είναι εξαιρούμενο/μη-συμπεριλαμβανόμενο\n"
+msgstr ""
+"Δεν επεκτεινόμαστε στο `%s' διότι είναι εξαιρούμενο/μη-συμπεριλαμβανόμενο\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Απόρριψη του `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Σφάλμα στην εγγραφή στο `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Δεν βρέθηκαν ταιριάσματα στη μορφή `%s'.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Γράφτηκε αρχείο καταλόγου σε HTML στο `%s' [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Γράφτηκε αρχείο καταλόγου σε HTML στο `%s'.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Αδύνατη η αρχικοποίηση της PRNG της OpenSSL· απενεργοποίηση του SSL.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: η επιλογή `%s' είναι αόριστη\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: η επιλογή `--%s' δεν επιδέχεται όρισμα\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: η επιλογή `%c%s' δεν επιδέχεται όρισμα\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: μη αναγνωρίσημη επιλογή `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: μη αποδεκτή επιλογή -- %c\n"
-
-#: src/getopt.c:785
-#, fuzzy, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: μη αποδεκτή επιλογή -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: η επιλογή απαιτεί μια παράμετρο -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Άγνωστο σφάλμα"
 
-#: src/getopt.c:862
-#, fuzzy, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: η επιλογή `%s' είναι αόριστη\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, fuzzy, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: η επιλογή `--%s' δεν επιδέχεται όρισμα\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Άγνωστο σφάλμα"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Εύρεση του %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "απέτυχε: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 #, fuzzy
 msgid "failed: timed out.\n"
 msgstr "απέτυχε: %s.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Ο διακομιστής δε βρέθηκε"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Άγνωστο σφάλμα"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Αδύνατη η ανάλυση μη ολοκληρωμένου συνδέσμου %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Αποτυχία δημιουργίας περιβάλλοντος SSL\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Μη έγκυρη ρύθμιση `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Αποτυχία φόρτωσης πιστοποιητικών από %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Προσπάθεια χωρίς το καθορισμένο πιστοποιητικό\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Σφάλμα στην εγγραφή της αίτησης HTTP: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Αποτυχία λήψης κλειδιού πιστοποιητικού από %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Αδύνατη η σύσταση σύνδεσης SSL.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Χρήση ξανά της σύνδεσης στο %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Σφάλμα στην εγγραφή της αίτησης HTTP: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "Η αίτηση για %s στάλθηκε, αναμονή απάντησης... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Τέλος αρχείου ενώ γινόταν επεξεργασία των κεφαλίδων.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Δεν ελήφθησαν δεδομένα"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Σφάλμα ανάγνωσης (%s) στις κεφαλίδες.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Δεν ελήφθησαν δεδομένα"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Το αρχείο `%s' υπάρχει ήδη, δεν επανακτάται.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Άγνωστο σχήμα αυθεντικοποίησης.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Η αυθεντικοποίηση απέτυχε.\n"
 
-#: src/http.c:1130
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Εσφαλμένη γραμμή κατάστασης"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(χωρίς περιγραφή)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Η αυθεντικοποίηση απέτυχε.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Άγνωστο σχήμα αυθεντικοποίησης.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Τοποθεσία: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "μη ορισμένο"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [ακολουθεί]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -597,195 +619,215 @@ msgstr ""
 "\n"
 "    Το αρχείο έχει ήδη ανακτηθεί πλήρως· τίποτα να κάνω.\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Η συνέχιση της ανάκτησης απέτυχε για αυτό το αρχείο, που συγκρούεται με το `-c'.\n"
-"Άρνηση εγγραφής πάνω στο υπάρχο αρχείο `%s'.\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Μήκος: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s μέχρι πέρας)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "αγνοείται"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Παράκαμψη καταλόγου `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "Προειδοποίηση: μεταχαρακτήρες (wildcards) δεν υποστηρίζονται στο HTTP.\n"
+msgstr ""
+"Προειδοποίηση: μεταχαρακτήρες (wildcards) δεν υποστηρίζονται στο HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Το αρχείο `%s' είναι ήδη εδώ, δε θα ανακτηθεί.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Αδυναμία στην εγγραφή στο `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Αδύνατη η σύσταση σύνδεσης SSL.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ΣΦΑΛΜΑ: Μετάσταση (%d) χωρίς τοποθεσία.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ΣΦΑΛΜΑ %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Κεφαλίδα Last-modified δεν υπάρχει -- χρονικές αναφορές απενεργοποιήθηκαν.\n"
+msgstr ""
+"Κεφαλίδα Last-modified δεν υπάρχει -- χρονικές αναφορές απενεργοποιήθηκαν.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Κεφαλίδα Last-modified δεν είναι έγκυρη -- χρονικές αναφορές αγνοούνται.\n"
+msgstr ""
+"Κεφαλίδα Last-modified δεν είναι έγκυρη -- χρονικές αναφορές αγνοούνται.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Το αρχείο του διακομιστή δεν είναι νεώτερο από το τοπικό αρχείο `%s' -- δε γίνεται ανάκτηση.\n"
+"Το αρχείο του διακομιστή δεν είναι νεώτερο από το τοπικό αρχείο `%s' -- δε "
+"γίνεται ανάκτηση.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Τα μεγέθη δεν είναι ίσα (τοπικό %ld) -- γίνεται ανάκτηση ξανά.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Απομακρυσμένο αρχείο είναι νεότερο, έναρξη ανάκτησης.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' αποθηκεύτηκε [%ld/%ld]\n"
+"Το αρχείο στο διακομιστή είναι νεώτερο του τοπικού `%s' -- γίνεται "
+"ανάκτηση.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Η σύνδεση διακόπηκε στο byte %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Το αρχείο στο διακομιστή δεν είναι νεώτερο του τοπικού `%s' -- δε γίνεται "
+"ανάκτηση.\n"
+"\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2663
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"Remote file exists but recursion is disabled -- not retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' αποθηκεύτηκε [%ld/%ld])\n"
+"Το αρχείο στο διακομιστή δεν είναι νεώτερο του τοπικού `%s' -- δε γίνεται "
+"ανάκτηση.\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Η σύνδεση διακόπηκε στο byte %ld/%ld. "
+#: src/http.c:2715
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' αποθηκεύτηκε [%ld/%ld]\n"
+"\n"
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Η σύνδεση διακόπηκε στο byte %ld. "
+
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Σφάλμα ανάγνωσης στο byte %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Σφάλμα ανάγνωσης στο byte %ld/%ld (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr ""
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Αδυναμία ανάγνωσης %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Σφάλμα στο %s στη γραμμή %d.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Σφάλμα στο %s στη γραμμή %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: ΣΦΑΛΜΑ: Άγνωστη εντολή `%s', τιμή `%s'.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Προειδοποίηση: Το wgetrc του συστήματος και του χρήστη δείχνουν στο ίδιο αρχείο `%s'.\n"
+msgstr ""
+"%s: Προειδοποίηση: Το wgetrc του συστήματος και του χρήστη δείχνουν στο ίδιο "
+"αρχείο `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, fuzzy, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Μη έγκυρη ρύθμιση `%s'.\n"
 
-#: src/init.c:630
+#: src/init.c:722
 #, fuzzy, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Παρακαλώ ορίστε on ή off.\n"
 
-#: src/init.c:673
-#, fuzzy, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Παρακαλώ καθορίστε πάντα(always), ενεργό(on), ανενεργό(off) ή ποτέ(never).\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, fuzzy, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Μη έγκυρη ρύθμιση `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, fuzzy, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Μη έγκυρος τύπος προόδου `%s'.\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, fuzzy, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Μη έγκυρη ρύθμιση `%s'.\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, fuzzy, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Μη έγκυρη ρύθμιση `%s'.\n"
+
+#: src/init.c:1105
 #, fuzzy, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Μη έγκυρη ρύθμιση `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Μη έγκυρος τύπος προόδου `%s'.\n"
 
-#: src/init.c:1157
-#, fuzzy, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Μη έγκυρη ρύθμιση `%s'.\n"
-
-#: src/init.c:1198
+#: src/init.c:1230
 #, fuzzy, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Μη έγκυρη ρύθμιση `%s'.\n"
 
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -794,302 +836,596 @@ msgstr ""
 "\n"
 "%s λήφθηκε, ανακατεύθυνση εξόδου στο `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Δεν ελήφθησαν δεδομένα"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; απενεργοποίηση λήψης καταγραφών.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, ένα μη-διαλογικό δικτυακό πρόγραμμα ανάκτησης αρχείων.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
 "\n"
-"Οι υποχρεωτικοί παράμετροι στα λεκτικά ορίσματα είναι υποχρεωτικοί και για τα σύντομα ορίσματα.\n"
+"Οι υποχρεωτικοί παράμετροι στα λεκτικά ορίσματα είναι υποχρεωτικοί και για "
+"τα σύντομα ορίσματα.\n"
 "\n"
 
-#: src/main.c:144
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Έναρξη:\n"
-"  -V,  --version           εμφάνιση της έκδοσης του Wget και έξοδος.\n"
-"  -h,  --help              εμφάνιση της βοήθειας αυτής.\n"
-"  -b,  --background        αποστολή στο παρασκήνιο μετά την έναρξη.\n"
-"  -e,  --execute=ΕΝΤΟΛΗ    εκτέλεση μιας εντολής μορφής `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-#, fuzzy
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr ""
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr ""
+
+#: src/main.c:407
 msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"Καταγραφή·και·αρχείο·εισόδου:\n"
-"  -o,  --output-file=ΑΡΧΕΙΟ   καταγραφή·μηνυμάτων·στο·ΑΡΧΕΙΟ.\n"
-"  -a,  --append-output=ΑΡΧΕΙΟ προσθήκη·μηνυμάτων·στο·ΑΡΧΕΙΟ.\n"
-"  -d,  --debug                εμφάνιση·πληροφοριών·εκσφαλμάτωσης.\n"
-"  -q,  --quiet                σιωπηλά·(χωρίς·έξοδο).\n"
-"  -v,  --verbose              περιφραστικά·(εξ'·ορισμού·ρύθμιση).\n"
-"  -nv, --non-verbose          απενεργοποίηση·περιφραστικότητας,·χωρίς·να·είναι·και·σιωπηλό.\n"
-"  -i,  --input-file=ΑΡΧΕΙΟ    ανάγνωση·URL·από·το·ΑΡΧΕΙΟ.\n"
-"  -F,  --force-html           μεταχείριση·αρχείου·εισόδου·ως·αρχείο·HTML.\n"
-"  -B,  --base=URL             προσθέτει·το·URL·στους·σχετικούς·συνδέσμους·στο·-F·-i·αρχείο.\n"
-"       --sslcertfile=ΑΡΧΕΙΟ   προαιρετικό·πιστοποιητικό·πελάτη.\n"
-"       --sslcertkey=ΑΡΧΕΙΟ    προαιρετικό αρχείο κλειδιού για αυτό το πιστοποιητικό.\n"
-"       --egd-file=ΑΡΧΕΙΟ      όνομα αρχείου για τον υποδοχέα EGD.\n"
-"\n"
 
-#: src/main.c:163
-#, fuzzy
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
 msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
 msgstr ""
-"Μεταφόρτωση:\n"
-"       --bind-address=ΔΙΕΥΘΥΝΣΗ σύνδεση στη ΔΙΕΥΘΥΝΣΗ (όνομα συστήματος ή IP) στο τοπικό σύστημα.\n"
-"  -t,  --tries=ΑΡΙΘΜΟΣ          ορισμός του αριθμού των προσπαθειών σε ΑΡΙΘΜΟΣ (0 για χωρίς όριο).\n"
-"  -O   --output-document=ΑΡΧΕΙΟ εγγραφή εγγράφων στο ΑΡΧΕΙΟ.\n"
-"  -nc, --no-clobber             να μην αλλαχτούν τα ονόματα υπαρχόντων αρχείων ή να δοθούν καταλήξεις .#.\n"
-"  -c,  --continue               συνέχιση ανάκτησης υπάρχοντος αρχείου.\n"
-"       --progress=ΜΟΡΦΗ         επιλογή της μορφής εμφάνισης της προόδου ανάκτησης.\n"
-"  -N,  --timestamping           αποφυγή ανάκτησης αρχείων παλαιότερων των τοπικών.\n"
-"  -S,  --server-response        εμφάνιση αποκρίσεων του διακομιστή.\n"
-"       --spider                 αποφυγή ανάκτησης οποιουδήποτε αρχείου.\n"
-"  -T,  --timeout=ΔΕΥΤΕΡΟΛΕΠΤΑ   ορισμός χρονικού ορίου ανάκτησης σε ΔΕΥΤΕΡΟΛΕΠΤΑ.\n"
-"  -w,  --wait=ΔΕΥΤΕΡΟΛΕΠΤΑ      αναμονή ΔΕΥΤΕΡΟΛΕΠΤΑ μεταξύ ανακτήσεων.\n"
-"       --waitretry=ΔΕΥΤΕΡΟΛΕΠΤΑ αναμονή 1...ΔΕΥΤΕΡΟΛΕΠΤΑ μεταξύ προσπαθειών ανάκτησης.\n"
-"       --random-wait            αναμονή από 0...2*ΚΑΘΥΣΤΕΡΗΣΗ δευτερόλεπτα μεταξύ ανακτήσεων.\n"
-"  -Y,  --proxy=on/off           ρύθμιση χρήσης διαμεσολαβητή σε ενεργό (on) ή ανενεργό (off).\n"
-"  -Q,  --quota=ΑΡΙΘΜΟΣ          ορισμός ορίου συνολικού μεγέθους αρχείων προς ανάκτηση σε ΑΡΙΘΜΟ.\n"
-"       --limit-rate=ΡΥΘΜΟΣ      περιορισμός του ρυθμού ανάκτησης σε ΡΥΘΜΟΣ.\n"
-"\n"
 
-#: src/main.c:188
-#, fuzzy
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
 msgstr ""
-"Κατάλογοι:\n"
-"  -nd  --no-directories            αποφυγή δημιουργίας καταλόγων.\n"
-"  -x,  --force-directories         υποχρεωτική δημιουργία καταλόγων.\n"
-"  -nH, --no-host-directories       αποφυγή δημιουργίας host directories.\n"
-"  -P,  --directory-prefix=ΠΡΟΘΕΜΑ  αποθήκευση αρχείων στο ΠΡΟΘΕΜΑ/...\n"
-"       --cut-dirs=ΑΡΙΘΜΟΣ          αγνόηση ΑΡΙΘΜΟΣ στοιχείων απομακρυσμένων καταλόγων\n"
-"\n"
 
-#: src/main.c:196
-#, fuzzy
+#: src/main.c:422
 msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr ""
-"Επιλογές HTTP:\n"
-"       --http-user=ΧΡΗΣΤΗΣ   ορισμός χρήστη http σε ΧΡΗΣΤΗ.\n"
-"       --http-passwd=ΚΩΔΙΚΟΣ ορισμός κωδικού χρήστη http σε ΚΩΔΙΚΟΣ.\n"
-"  -C,  --cache=on/off        αποτροπή/χρήση δεδομένων του διαμεσολαβητή (κανονικά επιτρέπεται).\n"
-"  -E,  --html-extension      αποθήκευση όλων των εγγράφων text/html με κατάληξη .html.\n"
-"       --ignore-length       αγνόηση του πεδίου `Content-Length' της κεφαλίδας.\n"
-"       --header=ΑΛΦΑΡΙΘΜΗΤΙΚΟ  εισαγωγή του ΑΛΦΑΡΙΘΜΗΤΙΚΟ στην κεφαλίδα.\n"
-"       --proxy-user=ΧΡΗΣΤΗΣ  ορισμός του ΧΡΗΣΤΗΣ για χρήστη του διαμεσολαβητή.\n"
-"       --proxy-passwd=ΚΩΔΙΚΟΣ  ορισμός του ΚΩΔΙΚΟΣ για κωδικός στο διαμεσολαβητή.\n"
-"       --referer=URL         χρήση κεφαλίδας `Referer: URL' στην αίτηση HTTP.\n"
-"  -s,  --save-headers        αποθήκευση των HTTP κεφαλίδων σε αρχείο.\n"
-"  -U,  --user-agent=ΠΡΑΚΤΟΡΑΣ χρήση του ΠΡΑΚΤΟΡΑΣ αντί του Wget/ΕΚΔΟΣΗ.\n"
-"       --no-http-keep-alive  απενεργοποίηση του HTTP keep-alive (συνδέσεις διαρκείας).\n"
-"       --cookies=off         να μη γίνει χρήση των cookies.\n"
-"       --load-cookies=ΑΡΧΕΙΟ φόρτωση cookies από το ΑΡΧΕΙΟ πριν τη συνεδρία.\n"
-"       --save-cookies=ΑΡΧΕΙΟ αποθήκευση των cookies στο ΑΡΧΕΙΟ μετά τη συνεδρία.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr ""
 
-#: src/main.c:230
+#: src/main.c:426
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr ""
-"Επιλογές FTP:\n"
-"  -nr, --dont-remove-listing να μη διαγραφούν τα αρχεία `.listing'.\n"
-"  -g,  --glob=on/off         (απ)ενεργοποίηση ταιριάσματος ονομάτων αρχείων.\n"
-"       --passive-ftp         χρήση κατάστασης μεταφοράς \"passive\" για το FTP.\n"
-"       --retr-symlinks       κατά την αναδρομική ανάκτηση, λήψη αναφερόμενων αρχείων (όχι κατάλογοι).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
 #, fuzzy
+msgid "Directories:\n"
+msgstr "Κατάλογος   "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Αναδρομική ανάκτηση:\n"
-"  -r,  --recursive             αναδρομική ανάκτηση -- χρήση με σύνεση!\n"
-"  -l,  --level=ΑΡΙΘΜΟΣ         μέγιστο βάθος αναδρομής (`inf' ή 0 για απεριόριστο).\n"
-"       --delete-after          διαγραφή αρχείων τοπικά μετά τη μεταφόρτωσή τους.\n"
-"  -k,  --convert-links         μετατροπή μη-σχετικών συνδέσμων σε σχετικούς.\n"
-"  -K,  --backup-converted      πριν τη μετατροπή του αρχείου Χ, διατήρηση αντιγράφου ασφαλείας X.orig.\n"
-"  -m,  --mirror                σύντομη επιλογή, ισοδύναμη με -r -N -l inf -nr.\n"
-"  -p,  --page-requisites       λήψη όλων των εικόνων, κλπ. που απαιτούνται για την εμφάνιση σελίδας HTML.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
-"Αναδρομική αποδοχή/απόρριψη:\n"
-"  -A,  --accept=ΛΙΣΤΑ               λίστα διαχωριζόμενη με κόμμα από αποδεκτές καταλήξεις.\n"
-"  -R,  --reject=ΛΙΣΤΑ               λίστα διαχωριζόμενη με κόμμα από μη-αποδεκτές καταλήξεις.\n"
-"  -D,  --domains=ΛΙΣΤΑ              λίστα διαχωριζόμενη με κόμμα από αποδεκτά επιθήματα.\n"
-"       --exclude-domains=ΛΙΣΤΑ      λίστα διαχωριζόμενη με κόμμα από μη-αποδεκτά επιθήματα.\n"
-"       --follow-ftp                 ακολούθηση συνδέσμων FTP από έγγραφα HTML.\n"
-"       --follow-tags=ΛΙΣΤΑ          λίστα διαχωριζόμενη με κόμμα με συνδέσμους που έχουν ακολουθηθεί.\n"
-"  -G,  --ignore-tags=ΛΙΣΤΑ          λίστα διαχωριζόμενη με κόμμα με συνδέσμους που έχουν αγνοηθεί.\n"
-"  -H,  --span-hosts                 επίσκεψη και ξένων διακομιστών κατά την αναδρομή.\n"
-"  -L,  --relative                   ακολούθηση μόνο σχετικών URL.\n"
-"  -I,  --include-directories=ΛΙΣΤΑ  λίστα επιτρεπτών καταλόγων.\n"
-"  -X,  --exclude-directories=ΛΙΣΤΑ  λίστα μη-επιτρεπτών καταλόγων.\n"
-"  -np, --no-parent                  απενεργοποίηση πρόσβασης και στο γονικό κατάλογο.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Στείλτε αναφορές σφαλμάτων και προτάσεις στο <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: η υποστήριξη εκσφαλμάτωσης δεν έχει συμπεριληφθεί στη μεταγλώττιση.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, ένα μη-διαλογικό δικτυακό πρόγραμμα ανάκτησης αρχείων.\n"
 
-#: src/main.c:517
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
 #, fuzzy
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
-msgstr "Πνευματικά Δικαιώματα (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr ""
+"Πνευματικά Δικαιώματα (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software "
+"Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Αυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα είναι χρήσιμο,\n"
-"αλλά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΫΗΣΗ· χωρίς ούτε έμμεση εγγύηση\n"
-"ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΕΝΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ.\n"
-"Αναφερθείτε στη Γενική Δημόσια Άδεια GNU για περισσότερες λεπτομέρειες.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 #, fuzzy
 msgid ""
 "\n"
@@ -1098,134 +1434,231 @@ msgstr ""
 "\n"
 "Γράφτηκε αρχικά από τον Hrvoje Niksic <hniksic@arsdigita.com>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: μη αποδεκτή επιλογή -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Δοκιμάστε `%s --help' για περισσότερες επιλογές ρυθμίσεων.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: μη αποδεκτή επιλογή -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Δεν μπορώ να είμαι επεξηγηματικός και ταυτόχρονα σιωπηλός.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Δεν μπορώ να χρησιμοποιώ χρονικές αναφορές και ταυτόχρονα να μην υποκαθιστώ τα αρχεία βάση των αναφορών.\n"
+msgstr ""
+"Δεν μπορώ να χρησιμοποιώ χρονικές αναφορές και ταυτόχρονα να μην υποκαθιστώ "
+"τα αρχεία βάση των αναφορών.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: παραλείφθηκε το URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Δεν βρέθηκαν URL στο %s.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "ΤΕΡΜΑΤΙΣΜΟΣ  --%s--\n"
 "Μεταφορτώθηκαν: %s byte σε %d αρχεία\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Το όριο χώρου στο δίσκο για αρχεία από μεταφορτώσεις (%s bytes) έχει ΞΕΠΕΡΑΣΤΕΪ!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr ""
+"Το όριο χώρου στο δίσκο για αρχεία από μεταφορτώσεις (%s bytes) έχει "
+"ΞΕΠΕΡΑΣΤΕΪ!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Εκτέλεση στο παρασκήνιο.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr ""
+"Συνέχιση στο παρασκήνιο, ταυτότητα διεργασίας (pid) %d.\n"
+"\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Η έξοδος θα γραφτεί στο `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Εκκίνηση του WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Αδυναμία εύρεσης έγκυρου οδηγού δικτύου.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: προειδοποίηση: το τμήμα \"%s\" εμφανίζεται πριν από τα ονόματα των μηχανημάτων\n"
+msgstr ""
+"%s: %s:%d: προειδοποίηση: το τμήμα \"%s\" εμφανίζεται πριν από τα ονόματα "
+"των μηχανημάτων\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: άγνωστος τελεσταίος \"%s\"\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Χρήση: %s NETRC [ΟΝΟΜΑ ΜΗΧΑΝΗΜΑΤΟΣ]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: αδυναμία πρόσβασης στο %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Αδύνατη η αρχικοποίηση της PRNG της OpenSSL· απενεργοποίηση του SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
 #, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ παράκαμψη %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Μη έγκυρη ρύθμιση στυλ τελείας `%s'· παραμένει χωρίς αλλαγή.\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Διαγραφή του %s αφού θα έπρεπε να απορριφθεί.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Αδυναμία μετατροπής συνδέσμων στο %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
-msgstr "Ανάγνωση του robots.txt; παρακαλώ αγνοείστε τυχόν μηνύματα σφαλμάτων.\n"
+msgstr ""
+"Ανάγνωση του robots.txt; παρακαλώ αγνοείστε τυχόν μηνύματα σφαλμάτων.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Σφάλμα στην ανάλυση του URL του διαμεσολαβητή %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Σφάλμα στο URL διαμεσολαβητή %s: Πρέπει να είναι HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "Υπέρβαση %d επανακατευθύνσεων.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1233,7 +1666,7 @@ msgstr ""
 "Εγκαταλείπω.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1241,64 +1674,456 @@ msgstr ""
 "Προσπάθεια ξανά.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 #, fuzzy
 msgid "No error"
 msgstr "Άγνωστο σφάλμα"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr ""
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr ""
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Μη έγκυρο όνομα εξυπηρετητή"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr ""
 
-#: src/url.c:629
+#: src/url.c:628
 #, fuzzy
 msgid "Invalid user name"
 msgstr "Μη έγκυρο όνομα εξυπηρετητή"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr ""
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr ""
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr ""
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Δεν υπάρχει αρκετή μνήμη.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr ""
 "Συνέχιση στο παρασκήνιο, ταυτότητα διεργασίας (pid) %d.\n"
 "\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Αποτυχία διαγραφής συμβολικού συνδέσμου `%s': %s\n"
 
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Σφάλμα στο Set-Cookie, πεδίο `%s'"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Αποτυχία της REST· δε θα επανακτηθεί το `%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s για πέρας]"
+
+#~ msgid "Host not found"
+#~ msgstr "Ο διακομιστής δε βρέθηκε"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Αποτυχία δημιουργίας περιβάλλοντος SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Αποτυχία φόρτωσης πιστοποιητικών από %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Προσπάθεια χωρίς το καθορισμένο πιστοποιητικό\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Αποτυχία λήψης κλειδιού πιστοποιητικού από %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Τέλος αρχείου ενώ γινόταν επεξεργασία των κεφαλίδων.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Η συνέχιση της ανάκτησης απέτυχε για αυτό το αρχείο, που συγκρούεται με "
+#~ "το `-c'.\n"
+#~ "Άρνηση εγγραφής πάνω στο υπάρχο αρχείο `%s'.\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s μέχρι πέρας)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Το αρχείο `%s' είναι ήδη εδώ, δε θα ανακτηθεί.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' αποθηκεύτηκε [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Η σύνδεση διακόπηκε στο byte %ld/%ld. "
+
+#, fuzzy
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: Παρακαλώ καθορίστε πάντα(always), ενεργό(on), ανενεργό(off) ή ποτέ"
+#~ "(never).\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Έναρξη:\n"
+#~ "  -V,  --version           εμφάνιση της έκδοσης του Wget και έξοδος.\n"
+#~ "  -h,  --help              εμφάνιση της βοήθειας αυτής.\n"
+#~ "  -b,  --background        αποστολή στο παρασκήνιο μετά την έναρξη.\n"
+#~ "  -e,  --execute=ΕΝΤΟΛΗ    εκτέλεση μιας εντολής μορφής `.wgetrc'.\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Καταγραφή·και·αρχείο·εισόδου:\n"
+#~ "  -o,  --output-file=ΑΡΧΕΙΟ   καταγραφή·μηνυμάτων·στο·ΑΡΧΕΙΟ.\n"
+#~ "  -a,  --append-output=ΑΡΧΕΙΟ προσθήκη·μηνυμάτων·στο·ΑΡΧΕΙΟ.\n"
+#~ "  -d,  --debug                εμφάνιση·πληροφοριών·εκσφαλμάτωσης.\n"
+#~ "  -q,  --quiet                σιωπηλά·(χωρίς·έξοδο).\n"
+#~ "  -v,  --verbose              περιφραστικά·(εξ'·ορισμού·ρύθμιση).\n"
+#~ "  -nv, --non-verbose          απενεργοποίηση·περιφραστικότητας,"
+#~ "·χωρίς·να·είναι·και·σιωπηλό.\n"
+#~ "  -i,  --input-file=ΑΡΧΕΙΟ    ανάγνωση·URL·από·το·ΑΡΧΕΙΟ.\n"
+#~ "  -F,  --force-html           "
+#~ "μεταχείριση·αρχείου·εισόδου·ως·αρχείο·HTML.\n"
+#~ "  -B,  --base=URL             "
+#~ "προσθέτει·το·URL·στους·σχετικούς·συνδέσμους·στο·-F·-i·αρχείο.\n"
+#~ "       --sslcertfile=ΑΡΧΕΙΟ   προαιρετικό·πιστοποιητικό·πελάτη.\n"
+#~ "       --sslcertkey=ΑΡΧΕΙΟ    προαιρετικό αρχείο κλειδιού για αυτό το "
+#~ "πιστοποιητικό.\n"
+#~ "       --egd-file=ΑΡΧΕΙΟ      όνομα αρχείου για τον υποδοχέα EGD.\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Μεταφόρτωση:\n"
+#~ "       --bind-address=ΔΙΕΥΘΥΝΣΗ σύνδεση στη ΔΙΕΥΘΥΝΣΗ (όνομα συστήματος ή "
+#~ "IP) στο τοπικό σύστημα.\n"
+#~ "  -t,  --tries=ΑΡΙΘΜΟΣ          ορισμός του αριθμού των προσπαθειών σε "
+#~ "ΑΡΙΘΜΟΣ (0 για χωρίς όριο).\n"
+#~ "  -O   --output-document=ΑΡΧΕΙΟ εγγραφή εγγράφων στο ΑΡΧΕΙΟ.\n"
+#~ "  -nc, --no-clobber             να μην αλλαχτούν τα ονόματα υπαρχόντων "
+#~ "αρχείων ή να δοθούν καταλήξεις .#.\n"
+#~ "  -c,  --continue               συνέχιση ανάκτησης υπάρχοντος αρχείου.\n"
+#~ "       --progress=ΜΟΡΦΗ         επιλογή της μορφής εμφάνισης της προόδου "
+#~ "ανάκτησης.\n"
+#~ "  -N,  --timestamping           αποφυγή ανάκτησης αρχείων παλαιότερων των "
+#~ "τοπικών.\n"
+#~ "  -S,  --server-response        εμφάνιση αποκρίσεων του διακομιστή.\n"
+#~ "       --spider                 αποφυγή ανάκτησης οποιουδήποτε αρχείου.\n"
+#~ "  -T,  --timeout=ΔΕΥΤΕΡΟΛΕΠΤΑ   ορισμός χρονικού ορίου ανάκτησης σε "
+#~ "ΔΕΥΤΕΡΟΛΕΠΤΑ.\n"
+#~ "  -w,  --wait=ΔΕΥΤΕΡΟΛΕΠΤΑ      αναμονή ΔΕΥΤΕΡΟΛΕΠΤΑ μεταξύ ανακτήσεων.\n"
+#~ "       --waitretry=ΔΕΥΤΕΡΟΛΕΠΤΑ αναμονή 1...ΔΕΥΤΕΡΟΛΕΠΤΑ μεταξύ "
+#~ "προσπαθειών ανάκτησης.\n"
+#~ "       --random-wait            αναμονή από 0...2*ΚΑΘΥΣΤΕΡΗΣΗ "
+#~ "δευτερόλεπτα μεταξύ ανακτήσεων.\n"
+#~ "  -Y,  --proxy=on/off           ρύθμιση χρήσης διαμεσολαβητή σε ενεργό "
+#~ "(on) ή ανενεργό (off).\n"
+#~ "  -Q,  --quota=ΑΡΙΘΜΟΣ          ορισμός ορίου συνολικού μεγέθους αρχείων "
+#~ "προς ανάκτηση σε ΑΡΙΘΜΟ.\n"
+#~ "       --limit-rate=ΡΥΘΜΟΣ      περιορισμός του ρυθμού ανάκτησης σε "
+#~ "ΡΥΘΜΟΣ.\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Κατάλογοι:\n"
+#~ "  -nd  --no-directories            αποφυγή δημιουργίας καταλόγων.\n"
+#~ "  -x,  --force-directories         υποχρεωτική δημιουργία καταλόγων.\n"
+#~ "  -nH, --no-host-directories       αποφυγή δημιουργίας host directories.\n"
+#~ "  -P,  --directory-prefix=ΠΡΟΘΕΜΑ  αποθήκευση αρχείων στο ΠΡΟΘΕΜΑ/...\n"
+#~ "       --cut-dirs=ΑΡΙΘΜΟΣ          αγνόηση ΑΡΙΘΜΟΣ στοιχείων "
+#~ "απομακρυσμένων καταλόγων\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Επιλογές HTTP:\n"
+#~ "       --http-user=ΧΡΗΣΤΗΣ   ορισμός χρήστη http σε ΧΡΗΣΤΗ.\n"
+#~ "       --http-passwd=ΚΩΔΙΚΟΣ ορισμός κωδικού χρήστη http σε ΚΩΔΙΚΟΣ.\n"
+#~ "  -C,  --cache=on/off        αποτροπή/χρήση δεδομένων του διαμεσολαβητή "
+#~ "(κανονικά επιτρέπεται).\n"
+#~ "  -E,  --html-extension      αποθήκευση όλων των εγγράφων text/html με "
+#~ "κατάληξη .html.\n"
+#~ "       --ignore-length       αγνόηση του πεδίου `Content-Length' της "
+#~ "κεφαλίδας.\n"
+#~ "       --header=ΑΛΦΑΡΙΘΜΗΤΙΚΟ  εισαγωγή του ΑΛΦΑΡΙΘΜΗΤΙΚΟ στην κεφαλίδα.\n"
+#~ "       --proxy-user=ΧΡΗΣΤΗΣ  ορισμός του ΧΡΗΣΤΗΣ για χρήστη του "
+#~ "διαμεσολαβητή.\n"
+#~ "       --proxy-passwd=ΚΩΔΙΚΟΣ  ορισμός του ΚΩΔΙΚΟΣ για κωδικός στο "
+#~ "διαμεσολαβητή.\n"
+#~ "       --referer=URL         χρήση κεφαλίδας `Referer: URL' στην αίτηση "
+#~ "HTTP.\n"
+#~ "  -s,  --save-headers        αποθήκευση των HTTP κεφαλίδων σε αρχείο.\n"
+#~ "  -U,  --user-agent=ΠΡΑΚΤΟΡΑΣ χρήση του ΠΡΑΚΤΟΡΑΣ αντί του Wget/ΕΚΔΟΣΗ.\n"
+#~ "       --no-http-keep-alive  απενεργοποίηση του HTTP keep-alive "
+#~ "(συνδέσεις διαρκείας).\n"
+#~ "       --cookies=off         να μη γίνει χρήση των cookies.\n"
+#~ "       --load-cookies=ΑΡΧΕΙΟ φόρτωση cookies από το ΑΡΧΕΙΟ πριν τη "
+#~ "συνεδρία.\n"
+#~ "       --save-cookies=ΑΡΧΕΙΟ αποθήκευση των cookies στο ΑΡΧΕΙΟ μετά τη "
+#~ "συνεδρία.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Επιλογές FTP:\n"
+#~ "  -nr, --dont-remove-listing να μη διαγραφούν τα αρχεία `.listing'.\n"
+#~ "  -g,  --glob=on/off         (απ)ενεργοποίηση ταιριάσματος ονομάτων "
+#~ "αρχείων.\n"
+#~ "       --passive-ftp         χρήση κατάστασης μεταφοράς \"passive\" για "
+#~ "το FTP.\n"
+#~ "       --retr-symlinks       κατά την αναδρομική ανάκτηση, λήψη "
+#~ "αναφερόμενων αρχείων (όχι κατάλογοι).\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Αναδρομική ανάκτηση:\n"
+#~ "  -r,  --recursive             αναδρομική ανάκτηση -- χρήση με σύνεση!\n"
+#~ "  -l,  --level=ΑΡΙΘΜΟΣ         μέγιστο βάθος αναδρομής (`inf' ή 0 για "
+#~ "απεριόριστο).\n"
+#~ "       --delete-after          διαγραφή αρχείων τοπικά μετά τη "
+#~ "μεταφόρτωσή τους.\n"
+#~ "  -k,  --convert-links         μετατροπή μη-σχετικών συνδέσμων σε "
+#~ "σχετικούς.\n"
+#~ "  -K,  --backup-converted      πριν τη μετατροπή του αρχείου Χ, διατήρηση "
+#~ "αντιγράφου ασφαλείας X.orig.\n"
+#~ "  -m,  --mirror                σύντομη επιλογή, ισοδύναμη με -r -N -l inf "
+#~ "-nr.\n"
+#~ "  -p,  --page-requisites       λήψη όλων των εικόνων, κλπ. που "
+#~ "απαιτούνται για την εμφάνιση σελίδας HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Αναδρομική αποδοχή/απόρριψη:\n"
+#~ "  -A,  --accept=ΛΙΣΤΑ               λίστα διαχωριζόμενη με κόμμα από "
+#~ "αποδεκτές καταλήξεις.\n"
+#~ "  -R,  --reject=ΛΙΣΤΑ               λίστα διαχωριζόμενη με κόμμα από μη-"
+#~ "αποδεκτές καταλήξεις.\n"
+#~ "  -D,  --domains=ΛΙΣΤΑ              λίστα διαχωριζόμενη με κόμμα από "
+#~ "αποδεκτά επιθήματα.\n"
+#~ "       --exclude-domains=ΛΙΣΤΑ      λίστα διαχωριζόμενη με κόμμα από μη-"
+#~ "αποδεκτά επιθήματα.\n"
+#~ "       --follow-ftp                 ακολούθηση συνδέσμων FTP από έγγραφα "
+#~ "HTML.\n"
+#~ "       --follow-tags=ΛΙΣΤΑ          λίστα διαχωριζόμενη με κόμμα με "
+#~ "συνδέσμους που έχουν ακολουθηθεί.\n"
+#~ "  -G,  --ignore-tags=ΛΙΣΤΑ          λίστα διαχωριζόμενη με κόμμα με "
+#~ "συνδέσμους που έχουν αγνοηθεί.\n"
+#~ "  -H,  --span-hosts                 επίσκεψη και ξένων διακομιστών κατά "
+#~ "την αναδρομή.\n"
+#~ "  -L,  --relative                   ακολούθηση μόνο σχετικών URL.\n"
+#~ "  -I,  --include-directories=ΛΙΣΤΑ  λίστα επιτρεπτών καταλόγων.\n"
+#~ "  -X,  --exclude-directories=ΛΙΣΤΑ  λίστα μη-επιτρεπτών καταλόγων.\n"
+#~ "  -np, --no-parent                  απενεργοποίηση πρόσβασης και στο "
+#~ "γονικό κατάλογο.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr ""
+#~ "%s: η υποστήριξη εκσφαλμάτωσης δεν έχει συμπεριληφθεί στη μεταγλώττιση.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Αυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα είναι χρήσιμο,\n"
+#~ "αλλά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΫΗΣΗ· χωρίς ούτε έμμεση εγγύηση\n"
+#~ "ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΕΝΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ.\n"
+#~ "Αναφερθείτε στη Γενική Δημόσια Άδεια GNU για περισσότερες λεπτομέρειες.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Εκκίνηση του WinHelp %s\n"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Δεν υπάρχει αρκετή μνήμη.\n"
+
 #~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
 #~ msgstr "Συνακτικό σφάλμα στο Set-Cookie στο χαρακτήρα `%c'.\n"
 
-#~ msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-#~ msgstr "%s: ΣΦΑΛΜΑ: Άγνωστη εντολή `%s', τιμή `%s'.\n"
-
 #~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
 #~ msgstr "%s: %s: Δεν είναι δυνατή η μετατροπή του `%s' σε διεύθυνση IP.\n"
 
@@ -1324,13 +2149,19 @@ msgstr "Αποτυχία διαγραφής συμβολικού συνδέσμ
 #~ msgstr "%s: Προειδοποίηση: η gethostname απέτυχε\n"
 
 #~ msgid "%s: Warning: cannot determine local IP address.\n"
-#~ msgstr "%s: Προειδοποίηση: δεν είναι δυνατή η ανάγνωση της τοπικής διεύθυνσης IP.\n"
+#~ msgstr ""
+#~ "%s: Προειδοποίηση: δεν είναι δυνατή η ανάγνωση της τοπικής διεύθυνσης "
+#~ "IP.\n"
 
 #~ msgid "%s: Warning: cannot reverse-lookup local IP address.\n"
-#~ msgstr "%s: Προειδοποίηση: δεν είναι δυνατή η ανάγνωση της τοπικής διεύθυνσης IP.\n"
+#~ msgstr ""
+#~ "%s: Προειδοποίηση: δεν είναι δυνατή η ανάγνωση της τοπικής διεύθυνσης "
+#~ "IP.\n"
 
 #~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
-#~ msgstr "%s: Προειδοποίηση: η ανάστροφη αναζήτηση της τοπικής διεύθυνσης δεν παρήγαγε το FDQN!\n"
+#~ msgstr ""
+#~ "%s: Προειδοποίηση: η ανάστροφη αναζήτηση της τοπικής διεύθυνσης δεν "
+#~ "παρήγαγε το FDQN!\n"
 
 #~ msgid "%s: Out of memory.\n"
 #~ msgstr "%s: Η μνήμη εξαντλήθηκε.\n"
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
new file mode 100644 (file)
index 0000000..fedb6a0
--- /dev/null
@@ -0,0 +1,25 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
diff --git a/po/en@boldquot.po b/po/en@boldquot.po
new file mode 100644 (file)
index 0000000..ba1e215
--- /dev/null
@@ -0,0 +1,1836 @@
+# English translations for GNU wget package.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the GNU wget package.
+# Automatically generated, 2008.
+#
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU wget 1.12-devel\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2008-02-06 18:23-0800\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: option ‘\e[1m%s\e[0m’ is ambiguous\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: option ‘\e[1m--%s\e[0m’ doesn’t allow an argument\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: option ‘\e[1m%c%s\e[0m’ doesn’t allow an argument\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: option ‘\e[1m%s\e[0m’ requires an argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: unrecognized option ‘\e[1m--%s\e[0m’\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: unrecognized option ‘\e[1m%c%s\e[0m’\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: illegal option -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: invalid option -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: option requires an argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: option ‘\e[1m-W %s\e[0m’ is ambiguous\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: option ‘\e[1m-W %s\e[0m’ doesn’t allow an argument\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr "%s: unable to resolve bind address ‘\e[1m%s\e[0m’; disabling bind.\n"
+
+#: src/connect.c:267
+#, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Connecting to %s|%s|:%d... "
+
+#: src/connect.c:270
+#, c-format
+msgid "Connecting to %s:%d... "
+msgstr "Connecting to %s:%d... "
+
+#: src/connect.c:330
+msgid "connected.\n"
+msgstr "connected.\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "failed: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: unable to resolve host address ‘\e[1m%s\e[0m’\n"
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Converted %d files in %s seconds.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Converting %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "nothing to do.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Cannot convert links in %s: %s\n"
+
+#: src/convert.c:233
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Unable to delete ‘\e[1m%s\e[0m’: %s\n"
+
+#: src/convert.c:442
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Cannot back up %s as %s: %s\n"
+
+#: src/cookies.c:443
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr "Syntax error in Set-Cookie: %s at position %d.\n"
+
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie coming from %s attempted to set domain to %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
+#, c-format
+msgid "Cannot open cookies file `%s': %s\n"
+msgstr "Cannot open cookies file ‘\e[1m%s\e[0m’: %s\n"
+
+#: src/cookies.c:1287
+#, c-format
+msgid "Error writing to `%s': %s\n"
+msgstr "Error writing to ‘\e[1m%s\e[0m’: %s\n"
+
+#: src/cookies.c:1290
+#, c-format
+msgid "Error closing `%s': %s\n"
+msgstr "Error closing ‘\e[1m%s\e[0m’: %s\n"
+
+#: src/ftp-ls.c:836
+msgid "Unsupported listing type, trying Unix listing parser.\n"
+msgstr "Unsupported listing type, trying Unix listing parser.\n"
+
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
+#, c-format
+msgid "Index of /%s on %s:%d"
+msgstr "Index of /%s on %s:%d"
+
+#: src/ftp-ls.c:907
+#, c-format
+msgid "time unknown       "
+msgstr "time unknown       "
+
+#: src/ftp-ls.c:911
+#, c-format
+msgid "File        "
+msgstr "File        "
+
+#: src/ftp-ls.c:914
+#, c-format
+msgid "Directory   "
+msgstr "Directory   "
+
+#: src/ftp-ls.c:917
+#, c-format
+msgid "Link        "
+msgstr "Link        "
+
+#: src/ftp-ls.c:920
+#, c-format
+msgid "Not sure    "
+msgstr "Not sure    "
+
+#: src/ftp-ls.c:938
+#, c-format
+msgid " (%s bytes)"
+msgstr " (%s bytes)"
+
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Length: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ", %s (%s) remaining"
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ", %s remaining"
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (unauthoritative)\n"
+
+#: src/ftp.c:303
+#, c-format
+msgid "Logging in as %s ... "
+msgstr "Logging in as %s ... "
+
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
+msgid "Error in server response, closing control connection.\n"
+msgstr "Error in server response, closing control connection.\n"
+
+#: src/ftp.c:323
+msgid "Error in server greeting.\n"
+msgstr "Error in server greeting.\n"
+
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
+msgid "Write failed, closing control connection.\n"
+msgstr "Write failed, closing control connection.\n"
+
+#: src/ftp.c:336
+msgid "The server refuses login.\n"
+msgstr "The server refuses login.\n"
+
+#: src/ftp.c:342
+msgid "Login incorrect.\n"
+msgstr "Login incorrect.\n"
+
+#: src/ftp.c:348
+msgid "Logged in!\n"
+msgstr "Logged in!\n"
+
+#: src/ftp.c:370
+msgid "Server error, can't determine system type.\n"
+msgstr "Server error, can’t determine system type.\n"
+
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
+msgid "done.    "
+msgstr "done.    "
+
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
+msgid "done.\n"
+msgstr "done.\n"
+
+#: src/ftp.c:458
+#, c-format
+msgid "Unknown type `%c', closing control connection.\n"
+msgstr "Unknown type ‘\e[1m%c\e[0m’, closing control connection.\n"
+
+#: src/ftp.c:470
+msgid "done.  "
+msgstr "done.  "
+
+#: src/ftp.c:476
+msgid "==> CWD not needed.\n"
+msgstr "==> CWD not needed.\n"
+
+#: src/ftp.c:569
+#, c-format
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"No such directory ‘\e[1m%s\e[0m’.\n"
+"\n"
+
+#: src/ftp.c:584
+msgid "==> CWD not required.\n"
+msgstr "==> CWD not required.\n"
+
+#: src/ftp.c:644
+msgid "Cannot initiate PASV transfer.\n"
+msgstr "Cannot initiate PASV transfer.\n"
+
+#: src/ftp.c:648
+msgid "Cannot parse PASV response.\n"
+msgstr "Cannot parse PASV response.\n"
+
+#: src/ftp.c:665
+#, c-format
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr "couldn’t connect to %s port %d: %s\n"
+
+#: src/ftp.c:713
+#, c-format
+msgid "Bind error (%s).\n"
+msgstr "Bind error (%s).\n"
+
+#: src/ftp.c:719
+msgid "Invalid PORT.\n"
+msgstr "Invalid PORT.\n"
+
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"REST failed, starting from scratch.\n"
+
+#: src/ftp.c:826
+#, c-format
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"No such file ‘\e[1m%s\e[0m’.\n"
+"\n"
+
+#: src/ftp.c:873
+#, c-format
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"No such file or directory ‘\e[1m%s\e[0m’.\n"
+"\n"
+
+#: src/ftp.c:935 src/http.c:2245
+#, c-format
+msgid "%s has sprung into existence.\n"
+msgstr "%s has sprung into existence.\n"
+
+#: src/ftp.c:987
+#, c-format
+msgid "%s: %s, closing control connection.\n"
+msgstr "%s: %s, closing control connection.\n"
+
+#: src/ftp.c:996
+#, c-format
+msgid "%s (%s) - Data connection: %s; "
+msgstr "%s (%s) - Data connection: %s; "
+
+#: src/ftp.c:1011
+msgid "Control connection closed.\n"
+msgstr "Control connection closed.\n"
+
+#: src/ftp.c:1029
+msgid "Data transfer aborted.\n"
+msgstr "Data transfer aborted.\n"
+
+#: src/ftp.c:1097
+#, c-format
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "File ‘\e[1m%s\e[0m’ already there; not retrieving.\n"
+
+#: src/ftp.c:1165 src/http.c:2423
+#, c-format
+msgid "(try:%2d)"
+msgstr "(try:%2d)"
+
+#: src/ftp.c:1235 src/http.c:2746
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - ‘\e[1m%s\e[0m’ saved [%s]\n"
+"\n"
+
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
+#, c-format
+msgid "Removing %s.\n"
+msgstr "Removing %s.\n"
+
+#: src/ftp.c:1319
+#, c-format
+msgid "Using `%s' as listing tmp file.\n"
+msgstr "Using ‘\e[1m%s\e[0m’ as listing tmp file.\n"
+
+#: src/ftp.c:1334
+#, c-format
+msgid "Removed `%s'.\n"
+msgstr "Removed ‘\e[1m%s\e[0m’.\n"
+
+#: src/ftp.c:1367
+#, c-format
+msgid "Recursion depth %d exceeded max. depth %d.\n"
+msgstr "Recursion depth %d exceeded max. depth %d.\n"
+
+#: src/ftp.c:1437
+#, c-format
+msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
+msgstr "Remote file no newer than local file ‘\e[1m%s\e[0m’ -- not retrieving.\n"
+
+#: src/ftp.c:1444
+#, c-format
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"Remote file is newer than local file ‘\e[1m%s\e[0m’ -- retrieving.\n"
+"\n"
+
+#: src/ftp.c:1451
+#, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+
+#: src/ftp.c:1469
+msgid "Invalid name of the symlink, skipping.\n"
+msgstr "Invalid name of the symlink, skipping.\n"
+
+#: src/ftp.c:1486
+#, c-format
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+
+#: src/ftp.c:1494
+#, c-format
+msgid "Creating symlink %s -> %s\n"
+msgstr "Creating symlink %s -> %s\n"
+
+#: src/ftp.c:1504
+#, c-format
+msgid "Symlinks not supported, skipping symlink `%s'.\n"
+msgstr "Symlinks not supported, skipping symlink ‘\e[1m%s\e[0m’.\n"
+
+#: src/ftp.c:1516
+#, c-format
+msgid "Skipping directory `%s'.\n"
+msgstr "Skipping directory ‘\e[1m%s\e[0m’.\n"
+
+#: src/ftp.c:1525
+#, c-format
+msgid "%s: unknown/unsupported file type.\n"
+msgstr "%s: unknown/unsupported file type.\n"
+
+#: src/ftp.c:1552
+#, c-format
+msgid "%s: corrupt time-stamp.\n"
+msgstr "%s: corrupt time-stamp.\n"
+
+#: src/ftp.c:1580
+#, c-format
+msgid "Will not retrieve dirs since depth is %d (max %d).\n"
+msgstr "Will not retrieve dirs since depth is %d (max %d).\n"
+
+#: src/ftp.c:1630
+#, c-format
+msgid "Not descending to `%s' as it is excluded/not-included.\n"
+msgstr "Not descending to ‘\e[1m%s\e[0m’ as it is excluded/not-included.\n"
+
+#: src/ftp.c:1696 src/ftp.c:1710
+#, c-format
+msgid "Rejecting `%s'.\n"
+msgstr "Rejecting ‘\e[1m%s\e[0m’.\n"
+
+#: src/ftp.c:1733
+#, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Error matching %s against %s: %s\n"
+
+#: src/ftp.c:1774
+#, c-format
+msgid "No matches on pattern `%s'.\n"
+msgstr "No matches on pattern ‘\e[1m%s\e[0m’.\n"
+
+#: src/ftp.c:1840
+#, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr "Wrote HTML-ized index to ‘\e[1m%s\e[0m’ [%s].\n"
+
+#: src/ftp.c:1845
+#, c-format
+msgid "Wrote HTML-ized index to `%s'.\n"
+msgstr "Wrote HTML-ized index to ‘\e[1m%s\e[0m’.\n"
+
+#: src/host.c:348
+msgid "Unknown host"
+msgstr "Unknown host"
+
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr "Temporary failure in name resolution"
+
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Unknown error"
+
+#: src/host.c:715
+#, c-format
+msgid "Resolving %s... "
+msgstr "Resolving %s... "
+
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr "failed: No IPv4/IPv6 addresses for host.\n"
+
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr "failed: timed out.\n"
+
+#: src/html-url.c:289
+#, c-format
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr "%s: Cannot resolve incomplete link %s.\n"
+
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Invalid URL %s: %s\n"
+
+#: src/http.c:368
+#, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Failed writing HTTP request: %s.\n"
+
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr "No headers, assuming HTTP/0.9"
+
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr "Disabling SSL due to encountered errors.\n"
+
+#: src/http.c:1570
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr "POST data file ‘\e[1m%s\e[0m’ missing: %s\n"
+
+#: src/http.c:1619
+#, c-format
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Reusing existing connection to %s:%d.\n"
+
+#: src/http.c:1687
+#, c-format
+msgid "Failed reading proxy response: %s\n"
+msgstr "Failed reading proxy response: %s\n"
+
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr "Proxy tunneling failed: %s"
+
+#: src/http.c:1752
+#, c-format
+msgid "%s request sent, awaiting response... "
+msgstr "%s request sent, awaiting response... "
+
+#: src/http.c:1763
+msgid "No data received.\n"
+msgstr "No data received.\n"
+
+#: src/http.c:1770
+#, c-format
+msgid "Read error (%s) in headers.\n"
+msgstr "Read error (%s) in headers.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"File ‘\e[1m%s\e[0m’ already there; not retrieving.\n"
+"\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Unknown authentication scheme.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Authorization failed.\n"
+
+#: src/http.c:2014
+msgid "Malformed status line"
+msgstr "Malformed status line"
+
+#: src/http.c:2016
+msgid "(no description)"
+msgstr "(no description)"
+
+#: src/http.c:2082
+#, c-format
+msgid "Location: %s%s\n"
+msgstr "Location: %s%s\n"
+
+#: src/http.c:2083 src/http.c:2193
+msgid "unspecified"
+msgstr "unspecified"
+
+#: src/http.c:2084
+msgid " [following]"
+msgstr " [following]"
+
+#: src/http.c:2140
+msgid ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+msgstr ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+
+#: src/http.c:2173
+msgid "Length: "
+msgstr "Length: "
+
+#: src/http.c:2193
+msgid "ignored"
+msgstr "ignored"
+
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Saving to: ‘\e[1m%s\e[0m’\n"
+
+#: src/http.c:2345
+msgid "Warning: wildcards not supported in HTTP.\n"
+msgstr "Warning: wildcards not supported in HTTP.\n"
+
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Spider mode enabled. Check if remote file exists.\n"
+
+#: src/http.c:2497
+#, c-format
+msgid "Cannot write to `%s' (%s).\n"
+msgstr "Cannot write to ‘\e[1m%s\e[0m’ (%s).\n"
+
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Unable to establish SSL connection.\n"
+
+#: src/http.c:2514
+#, c-format
+msgid "ERROR: Redirection (%d) without location.\n"
+msgstr "ERROR: Redirection (%d) without location.\n"
+
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Remote file does not exist -- broken link!!!\n"
+
+#: src/http.c:2565
+#, c-format
+msgid "%s ERROR %d: %s.\n"
+msgstr "%s ERROR %d: %s.\n"
+
+#: src/http.c:2581
+msgid "Last-modified header missing -- time-stamps turned off.\n"
+msgstr "Last-modified header missing -- time-stamps turned off.\n"
+
+#: src/http.c:2589
+msgid "Last-modified header invalid -- time-stamp ignored.\n"
+msgstr "Last-modified header invalid -- time-stamp ignored.\n"
+
+#: src/http.c:2619
+#, c-format
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"Server file no newer than local file ‘\e[1m%s\e[0m’ -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2627
+#, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "The sizes do not match (local %s) -- retrieving.\n"
+
+#: src/http.c:2634
+msgid "Remote file is newer, retrieving.\n"
+msgstr "Remote file is newer, retrieving.\n"
+
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2715
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - ‘\e[1m%s\e[0m’ saved [%s/%s]\n"
+"\n"
+
+#: src/http.c:2770
+#, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Connection closed at byte %s. "
+
+#: src/http.c:2785
+#, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) - Read error at byte %s (%s)."
+
+#: src/http.c:2794
+#, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) - Read error at byte %s/%s (%s). "
+
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr "%s: WGETRC points to %s, which doesn’t exist.\n"
+
+#: src/init.c:450 src/netrc.c:265
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
+msgstr "%s: Cannot read %s (%s).\n"
+
+#: src/init.c:468
+#, c-format
+msgid "%s: Error in %s at line %d.\n"
+msgstr "%s: Error in %s at line %d.\n"
+
+#: src/init.c:474
+#, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Syntax error in %s at line %d.\n"
+
+#: src/init.c:479
+#, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Unknown command ‘\e[1m%s\e[0m’ in %s at line %d.\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr "%s: Warning: Both system and user wgetrc point to ‘\e[1m%s\e[0m’.\n"
+
+#: src/init.c:677
+#, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Invalid --execute command ‘\e[1m%s\e[0m’\n"
+
+#: src/init.c:722
+#, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Invalid boolean ‘\e[1m%s\e[0m’; use ‘\e[1mon\e[0m’ or ‘\e[1moff\e[0m’.\n"
+
+#: src/init.c:739
+#, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Invalid number ‘\e[1m%s\e[0m’.\n"
+
+#: src/init.c:970 src/init.c:989
+#, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Invalid byte value ‘\e[1m%s\e[0m’\n"
+
+#: src/init.c:1014
+#, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: Invalid time period ‘\e[1m%s\e[0m’\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Invalid value ‘\e[1m%s\e[0m’.\n"
+
+#: src/init.c:1105
+#, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Invalid header ‘\e[1m%s\e[0m’.\n"
+
+#: src/init.c:1171
+#, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Invalid progress type ‘\e[1m%s\e[0m’.\n"
+
+#: src/init.c:1230
+#, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Invalid restriction ‘\e[1m%s\e[0m’, use [unix|windows],[lowercase|"
+"uppercase],[nocontrol].\n"
+
+#: src/log.c:784
+#, c-format
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+"\n"
+"%s received, redirecting output to ‘\e[1m%s\e[0m’.\n"
+
+#: src/log.c:794
+#, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr ""
+"\n"
+"%s received.\n"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr "%s: %s; disabling logging.\n"
+
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Usage: %s [OPTION]... [URL]...\n"
+
+#: src/main.c:369
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr "Startup:\n"
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr "  -V,  --version           display the version of Wget and exit.\n"
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr "  -h,  --help              print this help.\n"
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr "  -b,  --background        go to background after startup.\n"
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr "  -e,  --execute=COMMAND   execute a ‘\e[1m.wgetrc\e[0m’-style command.\n"
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr "Logging and input file:\n"
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr "  -o,  --output-file=FILE    log messages to FILE.\n"
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr "  -a,  --append-output=FILE  append messages to FILE.\n"
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr "  -d,  --debug               print lots of debugging information.\n"
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              print Watt-32 debug output.\n"
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr "  -q,  --quiet               quiet (no output).\n"
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr "  -v,  --verbose             be verbose (this is the default).\n"
+
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr "  -F,  --force-html          treat input file as HTML.\n"
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr "Download:\n"
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+"       --retry-connrefused       retry even if connection is refused.\n"
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr "  -O,  --output-document=FILE    write documents to FILE.\n"
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr "       --progress=TYPE           select progress gauge type.\n"
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+"  -N,  --timestamping            don’t re-retrieve files unless newer than\n"
+"                                 local.\n"
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr "  -S,  --server-response         print server response.\n"
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr "       --spider                  don’t download anything.\n"
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr "       --read-timeout=SECS       set the read timeout to SECS.\n"
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr "       --no-proxy                explicitly turn off proxy.\n"
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr "       --limit-rate=RATE         limit download rate to RATE.\n"
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr "       --no-dns-cache            disable caching DNS lookups.\n"
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr "       --user=USER               set both ftp and http user to USER.\n"
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+
+#: src/main.c:476
+msgid "Directories:\n"
+msgstr "Directories:\n"
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr "  -nd, --no-directories           don’t create directories.\n"
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr "  -x,  --force-directories        force creation of directories.\n"
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr "  -nH, --no-host-directories      don’t create host directories.\n"
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr "       --protocol-directories     use protocol name in directories.\n"
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr "HTTP options:\n"
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr "       --http-user=USER        set http user to USER.\n"
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr "       --http-password=PASS    set http password to PASS.\n"
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr "       --no-cache              disallow server-cached data.\n"
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        save HTML documents with ‘\e[1m.html\e[0m’ "
+"extension.\n"
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+"       --ignore-length         ignore ‘\e[1mContent-Length\e[0m’ header field.\n"
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr "       --header=STRING         insert STRING among the headers.\n"
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          maximum redirections allowed per page.\n"
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr "       --proxy-user=USER       set USER as proxy username.\n"
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr "       --proxy-password=PASS   set PASS as proxy password.\n"
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           include ‘\e[1mReferer: URL\e[0m’ header in HTTP "
+"request.\n"
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr "       --save-headers          save the HTTP headers to file.\n"
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr "       --no-cookies            don’t use cookies.\n"
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+"       --load-cookies=FILE     load cookies from FILE before session.\n"
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr "       --save-cookies=FILE     save cookies to FILE after session.\n"
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr "HTTPS (SSL/TLS) options:\n"
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   don’t validate the server’s certificate.\n"
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr "       --certificate=FILE       client certificate file.\n"
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr "       --private-key=FILE       private key file.\n"
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr "       --ca-certificate=FILE    file with the bundle of CA’s.\n"
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=DIR       directory where hash list of CA’s is "
+"stored.\n"
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr "FTP options:\n"
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr "       --ftp-user=USER         set ftp user to USER.\n"
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr "       --ftp-password=PASS     set ftp password to PASS.\n"
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr "       --no-remove-listing     don’t remove ‘\e[1m.listing\e[0m’ files.\n"
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr "       --no-glob               turn off FTP file name globbing.\n"
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+"       --no-passive-ftp        disable the “\e[1mpassive\e[0m” transfer mode.\n"
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr "       --preserve-permissions  preserve remote file permissions.\n"
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr "Recursive download:\n"
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr "  -r,  --recursive          specify recursive download.\n"
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       delete files locally after downloading them.\n"
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr "Recursive accept/reject:\n"
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr "  -L,  --relative                  follow relative links only.\n"
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr "  -I,  --include-directories=LIST  list of allowed directories.\n"
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 don’t ascend to the parent directory.\n"
+
+#: src/main.c:630
+msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+msgstr "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+
+#: src/main.c:635
+#, c-format
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, a non-interactive network retriever.\n"
+
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2008 Free Software Foundation, Inc.\n"
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Originally written by Hrvoje Nikšić <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
+#, c-format
+msgid "Try `%s --help' for more options.\n"
+msgstr "Try ‘\e[1m%s --help\e[0m’ for more options.\n"
+
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: illegal option -- ‘\e[1m-n%c\e[0m’\n"
+
+#: src/main.c:859
+#, c-format
+msgid "Can't be verbose and quiet at the same time.\n"
+msgstr "Can’t be verbose and quiet at the same time.\n"
+
+#: src/main.c:865
+#, c-format
+msgid "Can't timestamp and not clobber old files at the same time.\n"
+msgstr "Can’t timestamp and not clobber old files at the same time.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr "Cannot specify both --inet4-only and --inet6-only.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Cannot specify -r, -p or -N if -O is given.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Cannot specify both -k and -O if multiple URLs are given.\n"
+
+#: src/main.c:899
+#, c-format
+msgid "%s: missing URL\n"
+msgstr "%s: missing URL\n"
+
+#: src/main.c:1025
+#, c-format
+msgid "No URLs found in %s.\n"
+msgstr "No URLs found in %s.\n"
+
+#: src/main.c:1043
+#, c-format
+msgid ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+msgstr ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+
+#: src/main.c:1052
+#, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Download quota of %s EXCEEDED!\n"
+
+#: src/mswindows.c:99
+#, c-format
+msgid "Continuing in background.\n"
+msgstr "Continuing in background.\n"
+
+#: src/mswindows.c:292
+#, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Continuing in background, pid %lu.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
+#, c-format
+msgid "Output will be written to `%s'.\n"
+msgstr "Output will be written to ‘\e[1m%s\e[0m’.\n"
+
+#: src/mswindows.c:462 src/mswindows.c:469
+#, c-format
+msgid "%s: Couldn't find usable socket driver.\n"
+msgstr "%s: Couldn’t find usable socket driver.\n"
+
+#: src/netrc.c:373
+#, c-format
+msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
+msgstr "%s: %s:%d: warning: “\e[1m%s\e[0m” token appears before any machine name\n"
+
+#: src/netrc.c:404
+#, c-format
+msgid "%s: %s:%d: unknown token \"%s\"\n"
+msgstr "%s: %s:%d: unknown token “\e[1m%s\e[0m”\n"
+
+#: src/netrc.c:468
+#, c-format
+msgid "Usage: %s NETRC [HOSTNAME]\n"
+msgstr "Usage: %s NETRC [HOSTNAME]\n"
+
+#: src/netrc.c:478
+#, c-format
+msgid "%s: cannot stat %s: %s\n"
+msgstr "%s: cannot stat %s: %s\n"
+
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr "WARNING: using a weak random seed.\n"
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Could not seed PRNG; consider using --random-file.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr "ERROR"
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr "WARNING"
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr "%s: No certificate presented by %s.\n"
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: cannot verify %s’s certificate, issued by ‘\e[1m%s\e[0m’:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Unable to locally verify the issuer’s authority.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Self-signed certificate encountered.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Issued certificate not yet valid.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Issued certificate has expired.\n"
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: certificate common name ‘\e[1m%s\e[0m’ doesn’t match requested host name ‘\e[1m"
+"%s\e[0m’.\n"
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr "To connect to %s insecurely, use ‘\e[1m--no-check-certificate\e[0m’.\n"
+
+#: src/progress.c:242
+#, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ skipping %sK ]"
+
+#: src/progress.c:456
+#, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr "Invalid dot style specification ‘\e[1m%s\e[0m’; leaving unchanged.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  eta %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   in "
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Cannot get REALTIME clock frequency: %s\n"
+
+#: src/recur.c:379
+#, c-format
+msgid "Removing %s since it should be rejected.\n"
+msgstr "Removing %s since it should be rejected.\n"
+
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Cannot open %s: %s"
+
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "Loading robots.txt; please ignore errors.\n"
+
+#: src/retr.c:652
+#, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "Error parsing proxy URL %s: %s.\n"
+
+#: src/retr.c:660
+#, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Error in proxy URL %s: Must be HTTP.\n"
+
+#: src/retr.c:746
+#, c-format
+msgid "%d redirections exceeded.\n"
+msgstr "%d redirections exceeded.\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Giving up.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Retrying.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Found no broken links.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Found %d broken link.\n"
+"\n"
+msgstr[1] ""
+"Found %d broken links.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
+msgid "No error"
+msgstr "No error"
+
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr "Unsupported scheme"
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Invalid host name"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr "Bad port number"
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr "Invalid user name"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr "Unterminated IPv6 numeric address"
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr "IPv6 addresses not supported"
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr "Invalid IPv6 numeric address"
+
+#: src/utils.c:328
+#, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "Continuing in background, pid %d.\n"
+
+#: src/utils.c:376
+#, c-format
+msgid "Failed to unlink symlink `%s': %s\n"
+msgstr "Failed to unlink symlink ‘\e[1m%s\e[0m’: %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
diff --git a/po/en@quot.header b/po/en@quot.header
new file mode 100644 (file)
index 0000000..a9647fc
--- /dev/null
@@ -0,0 +1,22 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
diff --git a/po/en@quot.po b/po/en@quot.po
new file mode 100644 (file)
index 0000000..e44b93c
--- /dev/null
@@ -0,0 +1,1829 @@
+# English translations for GNU wget package.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the GNU wget package.
+# Automatically generated, 2008.
+#
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU wget 1.12-devel\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2008-02-06 18:23-0800\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: option ‘%s’ is ambiguous\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: option ‘--%s’ doesn’t allow an argument\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: option ‘%c%s’ doesn’t allow an argument\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: option ‘%s’ requires an argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: unrecognized option ‘--%s’\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: unrecognized option ‘%c%s’\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: illegal option -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: invalid option -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: option requires an argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: option ‘-W %s’ is ambiguous\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: option ‘-W %s’ doesn’t allow an argument\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr "%s: unable to resolve bind address ‘%s’; disabling bind.\n"
+
+#: src/connect.c:267
+#, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Connecting to %s|%s|:%d... "
+
+#: src/connect.c:270
+#, c-format
+msgid "Connecting to %s:%d... "
+msgstr "Connecting to %s:%d... "
+
+#: src/connect.c:330
+msgid "connected.\n"
+msgstr "connected.\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "failed: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: unable to resolve host address ‘%s’\n"
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Converted %d files in %s seconds.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Converting %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "nothing to do.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Cannot convert links in %s: %s\n"
+
+#: src/convert.c:233
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Unable to delete ‘%s’: %s\n"
+
+#: src/convert.c:442
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Cannot back up %s as %s: %s\n"
+
+#: src/cookies.c:443
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr "Syntax error in Set-Cookie: %s at position %d.\n"
+
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie coming from %s attempted to set domain to %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
+#, c-format
+msgid "Cannot open cookies file `%s': %s\n"
+msgstr "Cannot open cookies file ‘%s’: %s\n"
+
+#: src/cookies.c:1287
+#, c-format
+msgid "Error writing to `%s': %s\n"
+msgstr "Error writing to ‘%s’: %s\n"
+
+#: src/cookies.c:1290
+#, c-format
+msgid "Error closing `%s': %s\n"
+msgstr "Error closing ‘%s’: %s\n"
+
+#: src/ftp-ls.c:836
+msgid "Unsupported listing type, trying Unix listing parser.\n"
+msgstr "Unsupported listing type, trying Unix listing parser.\n"
+
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
+#, c-format
+msgid "Index of /%s on %s:%d"
+msgstr "Index of /%s on %s:%d"
+
+#: src/ftp-ls.c:907
+#, c-format
+msgid "time unknown       "
+msgstr "time unknown       "
+
+#: src/ftp-ls.c:911
+#, c-format
+msgid "File        "
+msgstr "File        "
+
+#: src/ftp-ls.c:914
+#, c-format
+msgid "Directory   "
+msgstr "Directory   "
+
+#: src/ftp-ls.c:917
+#, c-format
+msgid "Link        "
+msgstr "Link        "
+
+#: src/ftp-ls.c:920
+#, c-format
+msgid "Not sure    "
+msgstr "Not sure    "
+
+#: src/ftp-ls.c:938
+#, c-format
+msgid " (%s bytes)"
+msgstr " (%s bytes)"
+
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Length: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ", %s (%s) remaining"
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ", %s remaining"
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (unauthoritative)\n"
+
+#: src/ftp.c:303
+#, c-format
+msgid "Logging in as %s ... "
+msgstr "Logging in as %s ... "
+
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
+msgid "Error in server response, closing control connection.\n"
+msgstr "Error in server response, closing control connection.\n"
+
+#: src/ftp.c:323
+msgid "Error in server greeting.\n"
+msgstr "Error in server greeting.\n"
+
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
+msgid "Write failed, closing control connection.\n"
+msgstr "Write failed, closing control connection.\n"
+
+#: src/ftp.c:336
+msgid "The server refuses login.\n"
+msgstr "The server refuses login.\n"
+
+#: src/ftp.c:342
+msgid "Login incorrect.\n"
+msgstr "Login incorrect.\n"
+
+#: src/ftp.c:348
+msgid "Logged in!\n"
+msgstr "Logged in!\n"
+
+#: src/ftp.c:370
+msgid "Server error, can't determine system type.\n"
+msgstr "Server error, can’t determine system type.\n"
+
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
+msgid "done.    "
+msgstr "done.    "
+
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
+msgid "done.\n"
+msgstr "done.\n"
+
+#: src/ftp.c:458
+#, c-format
+msgid "Unknown type `%c', closing control connection.\n"
+msgstr "Unknown type ‘%c’, closing control connection.\n"
+
+#: src/ftp.c:470
+msgid "done.  "
+msgstr "done.  "
+
+#: src/ftp.c:476
+msgid "==> CWD not needed.\n"
+msgstr "==> CWD not needed.\n"
+
+#: src/ftp.c:569
+#, c-format
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"No such directory ‘%s’.\n"
+"\n"
+
+#: src/ftp.c:584
+msgid "==> CWD not required.\n"
+msgstr "==> CWD not required.\n"
+
+#: src/ftp.c:644
+msgid "Cannot initiate PASV transfer.\n"
+msgstr "Cannot initiate PASV transfer.\n"
+
+#: src/ftp.c:648
+msgid "Cannot parse PASV response.\n"
+msgstr "Cannot parse PASV response.\n"
+
+#: src/ftp.c:665
+#, c-format
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr "couldn’t connect to %s port %d: %s\n"
+
+#: src/ftp.c:713
+#, c-format
+msgid "Bind error (%s).\n"
+msgstr "Bind error (%s).\n"
+
+#: src/ftp.c:719
+msgid "Invalid PORT.\n"
+msgstr "Invalid PORT.\n"
+
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"REST failed, starting from scratch.\n"
+
+#: src/ftp.c:826
+#, c-format
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"No such file ‘%s’.\n"
+"\n"
+
+#: src/ftp.c:873
+#, c-format
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"No such file or directory ‘%s’.\n"
+"\n"
+
+#: src/ftp.c:935 src/http.c:2245
+#, c-format
+msgid "%s has sprung into existence.\n"
+msgstr "%s has sprung into existence.\n"
+
+#: src/ftp.c:987
+#, c-format
+msgid "%s: %s, closing control connection.\n"
+msgstr "%s: %s, closing control connection.\n"
+
+#: src/ftp.c:996
+#, c-format
+msgid "%s (%s) - Data connection: %s; "
+msgstr "%s (%s) - Data connection: %s; "
+
+#: src/ftp.c:1011
+msgid "Control connection closed.\n"
+msgstr "Control connection closed.\n"
+
+#: src/ftp.c:1029
+msgid "Data transfer aborted.\n"
+msgstr "Data transfer aborted.\n"
+
+#: src/ftp.c:1097
+#, c-format
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "File ‘%s’ already there; not retrieving.\n"
+
+#: src/ftp.c:1165 src/http.c:2423
+#, c-format
+msgid "(try:%2d)"
+msgstr "(try:%2d)"
+
+#: src/ftp.c:1235 src/http.c:2746
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - ‘%s’ saved [%s]\n"
+"\n"
+
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
+#, c-format
+msgid "Removing %s.\n"
+msgstr "Removing %s.\n"
+
+#: src/ftp.c:1319
+#, c-format
+msgid "Using `%s' as listing tmp file.\n"
+msgstr "Using ‘%s’ as listing tmp file.\n"
+
+#: src/ftp.c:1334
+#, c-format
+msgid "Removed `%s'.\n"
+msgstr "Removed ‘%s’.\n"
+
+#: src/ftp.c:1367
+#, c-format
+msgid "Recursion depth %d exceeded max. depth %d.\n"
+msgstr "Recursion depth %d exceeded max. depth %d.\n"
+
+#: src/ftp.c:1437
+#, c-format
+msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
+msgstr "Remote file no newer than local file ‘%s’ -- not retrieving.\n"
+
+#: src/ftp.c:1444
+#, c-format
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"Remote file is newer than local file ‘%s’ -- retrieving.\n"
+"\n"
+
+#: src/ftp.c:1451
+#, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+
+#: src/ftp.c:1469
+msgid "Invalid name of the symlink, skipping.\n"
+msgstr "Invalid name of the symlink, skipping.\n"
+
+#: src/ftp.c:1486
+#, c-format
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+
+#: src/ftp.c:1494
+#, c-format
+msgid "Creating symlink %s -> %s\n"
+msgstr "Creating symlink %s -> %s\n"
+
+#: src/ftp.c:1504
+#, c-format
+msgid "Symlinks not supported, skipping symlink `%s'.\n"
+msgstr "Symlinks not supported, skipping symlink ‘%s’.\n"
+
+#: src/ftp.c:1516
+#, c-format
+msgid "Skipping directory `%s'.\n"
+msgstr "Skipping directory ‘%s’.\n"
+
+#: src/ftp.c:1525
+#, c-format
+msgid "%s: unknown/unsupported file type.\n"
+msgstr "%s: unknown/unsupported file type.\n"
+
+#: src/ftp.c:1552
+#, c-format
+msgid "%s: corrupt time-stamp.\n"
+msgstr "%s: corrupt time-stamp.\n"
+
+#: src/ftp.c:1580
+#, c-format
+msgid "Will not retrieve dirs since depth is %d (max %d).\n"
+msgstr "Will not retrieve dirs since depth is %d (max %d).\n"
+
+#: src/ftp.c:1630
+#, c-format
+msgid "Not descending to `%s' as it is excluded/not-included.\n"
+msgstr "Not descending to ‘%s’ as it is excluded/not-included.\n"
+
+#: src/ftp.c:1696 src/ftp.c:1710
+#, c-format
+msgid "Rejecting `%s'.\n"
+msgstr "Rejecting ‘%s’.\n"
+
+#: src/ftp.c:1733
+#, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Error matching %s against %s: %s\n"
+
+#: src/ftp.c:1774
+#, c-format
+msgid "No matches on pattern `%s'.\n"
+msgstr "No matches on pattern ‘%s’.\n"
+
+#: src/ftp.c:1840
+#, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr "Wrote HTML-ized index to ‘%s’ [%s].\n"
+
+#: src/ftp.c:1845
+#, c-format
+msgid "Wrote HTML-ized index to `%s'.\n"
+msgstr "Wrote HTML-ized index to ‘%s’.\n"
+
+#: src/host.c:348
+msgid "Unknown host"
+msgstr "Unknown host"
+
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr "Temporary failure in name resolution"
+
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Unknown error"
+
+#: src/host.c:715
+#, c-format
+msgid "Resolving %s... "
+msgstr "Resolving %s... "
+
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr "failed: No IPv4/IPv6 addresses for host.\n"
+
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr "failed: timed out.\n"
+
+#: src/html-url.c:289
+#, c-format
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr "%s: Cannot resolve incomplete link %s.\n"
+
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Invalid URL %s: %s\n"
+
+#: src/http.c:368
+#, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Failed writing HTTP request: %s.\n"
+
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr "No headers, assuming HTTP/0.9"
+
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr "Disabling SSL due to encountered errors.\n"
+
+#: src/http.c:1570
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr "POST data file ‘%s’ missing: %s\n"
+
+#: src/http.c:1619
+#, c-format
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Reusing existing connection to %s:%d.\n"
+
+#: src/http.c:1687
+#, c-format
+msgid "Failed reading proxy response: %s\n"
+msgstr "Failed reading proxy response: %s\n"
+
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr "Proxy tunneling failed: %s"
+
+#: src/http.c:1752
+#, c-format
+msgid "%s request sent, awaiting response... "
+msgstr "%s request sent, awaiting response... "
+
+#: src/http.c:1763
+msgid "No data received.\n"
+msgstr "No data received.\n"
+
+#: src/http.c:1770
+#, c-format
+msgid "Read error (%s) in headers.\n"
+msgstr "Read error (%s) in headers.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"File ‘%s’ already there; not retrieving.\n"
+"\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Unknown authentication scheme.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Authorization failed.\n"
+
+#: src/http.c:2014
+msgid "Malformed status line"
+msgstr "Malformed status line"
+
+#: src/http.c:2016
+msgid "(no description)"
+msgstr "(no description)"
+
+#: src/http.c:2082
+#, c-format
+msgid "Location: %s%s\n"
+msgstr "Location: %s%s\n"
+
+#: src/http.c:2083 src/http.c:2193
+msgid "unspecified"
+msgstr "unspecified"
+
+#: src/http.c:2084
+msgid " [following]"
+msgstr " [following]"
+
+#: src/http.c:2140
+msgid ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+msgstr ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+
+#: src/http.c:2173
+msgid "Length: "
+msgstr "Length: "
+
+#: src/http.c:2193
+msgid "ignored"
+msgstr "ignored"
+
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Saving to: ‘%s’\n"
+
+#: src/http.c:2345
+msgid "Warning: wildcards not supported in HTTP.\n"
+msgstr "Warning: wildcards not supported in HTTP.\n"
+
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Spider mode enabled. Check if remote file exists.\n"
+
+#: src/http.c:2497
+#, c-format
+msgid "Cannot write to `%s' (%s).\n"
+msgstr "Cannot write to ‘%s’ (%s).\n"
+
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Unable to establish SSL connection.\n"
+
+#: src/http.c:2514
+#, c-format
+msgid "ERROR: Redirection (%d) without location.\n"
+msgstr "ERROR: Redirection (%d) without location.\n"
+
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Remote file does not exist -- broken link!!!\n"
+
+#: src/http.c:2565
+#, c-format
+msgid "%s ERROR %d: %s.\n"
+msgstr "%s ERROR %d: %s.\n"
+
+#: src/http.c:2581
+msgid "Last-modified header missing -- time-stamps turned off.\n"
+msgstr "Last-modified header missing -- time-stamps turned off.\n"
+
+#: src/http.c:2589
+msgid "Last-modified header invalid -- time-stamp ignored.\n"
+msgstr "Last-modified header invalid -- time-stamp ignored.\n"
+
+#: src/http.c:2619
+#, c-format
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"Server file no newer than local file ‘%s’ -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2627
+#, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "The sizes do not match (local %s) -- retrieving.\n"
+
+#: src/http.c:2634
+msgid "Remote file is newer, retrieving.\n"
+msgstr "Remote file is newer, retrieving.\n"
+
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2715
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - ‘%s’ saved [%s/%s]\n"
+"\n"
+
+#: src/http.c:2770
+#, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Connection closed at byte %s. "
+
+#: src/http.c:2785
+#, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) - Read error at byte %s (%s)."
+
+#: src/http.c:2794
+#, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) - Read error at byte %s/%s (%s). "
+
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr "%s: WGETRC points to %s, which doesn’t exist.\n"
+
+#: src/init.c:450 src/netrc.c:265
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
+msgstr "%s: Cannot read %s (%s).\n"
+
+#: src/init.c:468
+#, c-format
+msgid "%s: Error in %s at line %d.\n"
+msgstr "%s: Error in %s at line %d.\n"
+
+#: src/init.c:474
+#, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Syntax error in %s at line %d.\n"
+
+#: src/init.c:479
+#, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Unknown command ‘%s’ in %s at line %d.\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr "%s: Warning: Both system and user wgetrc point to ‘%s’.\n"
+
+#: src/init.c:677
+#, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Invalid --execute command ‘%s’\n"
+
+#: src/init.c:722
+#, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Invalid boolean ‘%s’; use ‘on’ or ‘off’.\n"
+
+#: src/init.c:739
+#, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Invalid number ‘%s’.\n"
+
+#: src/init.c:970 src/init.c:989
+#, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Invalid byte value ‘%s’\n"
+
+#: src/init.c:1014
+#, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: Invalid time period ‘%s’\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Invalid value ‘%s’.\n"
+
+#: src/init.c:1105
+#, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Invalid header ‘%s’.\n"
+
+#: src/init.c:1171
+#, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Invalid progress type ‘%s’.\n"
+
+#: src/init.c:1230
+#, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Invalid restriction ‘%s’, use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+
+#: src/log.c:784
+#, c-format
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+"\n"
+"%s received, redirecting output to ‘%s’.\n"
+
+#: src/log.c:794
+#, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr ""
+"\n"
+"%s received.\n"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr "%s: %s; disabling logging.\n"
+
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Usage: %s [OPTION]... [URL]...\n"
+
+#: src/main.c:369
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr "Startup:\n"
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr "  -V,  --version           display the version of Wget and exit.\n"
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr "  -h,  --help              print this help.\n"
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr "  -b,  --background        go to background after startup.\n"
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr "  -e,  --execute=COMMAND   execute a ‘.wgetrc’-style command.\n"
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr "Logging and input file:\n"
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr "  -o,  --output-file=FILE    log messages to FILE.\n"
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr "  -a,  --append-output=FILE  append messages to FILE.\n"
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr "  -d,  --debug               print lots of debugging information.\n"
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              print Watt-32 debug output.\n"
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr "  -q,  --quiet               quiet (no output).\n"
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr "  -v,  --verbose             be verbose (this is the default).\n"
+
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr "  -F,  --force-html          treat input file as HTML.\n"
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr "Download:\n"
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+"       --retry-connrefused       retry even if connection is refused.\n"
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr "  -O,  --output-document=FILE    write documents to FILE.\n"
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr "       --progress=TYPE           select progress gauge type.\n"
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+"  -N,  --timestamping            don’t re-retrieve files unless newer than\n"
+"                                 local.\n"
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr "  -S,  --server-response         print server response.\n"
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr "       --spider                  don’t download anything.\n"
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr "       --read-timeout=SECS       set the read timeout to SECS.\n"
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr "       --no-proxy                explicitly turn off proxy.\n"
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr "       --limit-rate=RATE         limit download rate to RATE.\n"
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr "       --no-dns-cache            disable caching DNS lookups.\n"
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr "       --user=USER               set both ftp and http user to USER.\n"
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+
+#: src/main.c:476
+msgid "Directories:\n"
+msgstr "Directories:\n"
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr "  -nd, --no-directories           don’t create directories.\n"
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr "  -x,  --force-directories        force creation of directories.\n"
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr "  -nH, --no-host-directories      don’t create host directories.\n"
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr "       --protocol-directories     use protocol name in directories.\n"
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr "HTTP options:\n"
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr "       --http-user=USER        set http user to USER.\n"
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr "       --http-password=PASS    set http password to PASS.\n"
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr "       --no-cache              disallow server-cached data.\n"
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        save HTML documents with ‘.html’ extension.\n"
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr "       --ignore-length         ignore ‘Content-Length’ header field.\n"
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr "       --header=STRING         insert STRING among the headers.\n"
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          maximum redirections allowed per page.\n"
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr "       --proxy-user=USER       set USER as proxy username.\n"
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr "       --proxy-password=PASS   set PASS as proxy password.\n"
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           include ‘Referer: URL’ header in HTTP "
+"request.\n"
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr "       --save-headers          save the HTTP headers to file.\n"
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr "       --no-cookies            don’t use cookies.\n"
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+"       --load-cookies=FILE     load cookies from FILE before session.\n"
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr "       --save-cookies=FILE     save cookies to FILE after session.\n"
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr "HTTPS (SSL/TLS) options:\n"
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   don’t validate the server’s certificate.\n"
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr "       --certificate=FILE       client certificate file.\n"
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr "       --private-key=FILE       private key file.\n"
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr "       --ca-certificate=FILE    file with the bundle of CA’s.\n"
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=DIR       directory where hash list of CA’s is "
+"stored.\n"
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr "FTP options:\n"
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr "       --ftp-user=USER         set ftp user to USER.\n"
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr "       --ftp-password=PASS     set ftp password to PASS.\n"
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr "       --no-remove-listing     don’t remove ‘.listing’ files.\n"
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr "       --no-glob               turn off FTP file name globbing.\n"
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr "       --no-passive-ftp        disable the “passive” transfer mode.\n"
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr "       --preserve-permissions  preserve remote file permissions.\n"
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr "Recursive download:\n"
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr "  -r,  --recursive          specify recursive download.\n"
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       delete files locally after downloading them.\n"
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr "Recursive accept/reject:\n"
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr "  -L,  --relative                  follow relative links only.\n"
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr "  -I,  --include-directories=LIST  list of allowed directories.\n"
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 don’t ascend to the parent directory.\n"
+
+#: src/main.c:630
+msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+msgstr "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+
+#: src/main.c:635
+#, c-format
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, a non-interactive network retriever.\n"
+
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2008 Free Software Foundation, Inc.\n"
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Originally written by Hrvoje Nikšić <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
+#, c-format
+msgid "Try `%s --help' for more options.\n"
+msgstr "Try ‘%s --help’ for more options.\n"
+
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: illegal option -- ‘-n%c’\n"
+
+#: src/main.c:859
+#, c-format
+msgid "Can't be verbose and quiet at the same time.\n"
+msgstr "Can’t be verbose and quiet at the same time.\n"
+
+#: src/main.c:865
+#, c-format
+msgid "Can't timestamp and not clobber old files at the same time.\n"
+msgstr "Can’t timestamp and not clobber old files at the same time.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr "Cannot specify both --inet4-only and --inet6-only.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Cannot specify -r, -p or -N if -O is given.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Cannot specify both -k and -O if multiple URLs are given.\n"
+
+#: src/main.c:899
+#, c-format
+msgid "%s: missing URL\n"
+msgstr "%s: missing URL\n"
+
+#: src/main.c:1025
+#, c-format
+msgid "No URLs found in %s.\n"
+msgstr "No URLs found in %s.\n"
+
+#: src/main.c:1043
+#, c-format
+msgid ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+msgstr ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+
+#: src/main.c:1052
+#, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Download quota of %s EXCEEDED!\n"
+
+#: src/mswindows.c:99
+#, c-format
+msgid "Continuing in background.\n"
+msgstr "Continuing in background.\n"
+
+#: src/mswindows.c:292
+#, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Continuing in background, pid %lu.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
+#, c-format
+msgid "Output will be written to `%s'.\n"
+msgstr "Output will be written to ‘%s’.\n"
+
+#: src/mswindows.c:462 src/mswindows.c:469
+#, c-format
+msgid "%s: Couldn't find usable socket driver.\n"
+msgstr "%s: Couldn’t find usable socket driver.\n"
+
+#: src/netrc.c:373
+#, c-format
+msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
+msgstr "%s: %s:%d: warning: “%s” token appears before any machine name\n"
+
+#: src/netrc.c:404
+#, c-format
+msgid "%s: %s:%d: unknown token \"%s\"\n"
+msgstr "%s: %s:%d: unknown token “%s”\n"
+
+#: src/netrc.c:468
+#, c-format
+msgid "Usage: %s NETRC [HOSTNAME]\n"
+msgstr "Usage: %s NETRC [HOSTNAME]\n"
+
+#: src/netrc.c:478
+#, c-format
+msgid "%s: cannot stat %s: %s\n"
+msgstr "%s: cannot stat %s: %s\n"
+
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr "WARNING: using a weak random seed.\n"
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Could not seed PRNG; consider using --random-file.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr "ERROR"
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr "WARNING"
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr "%s: No certificate presented by %s.\n"
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: cannot verify %s’s certificate, issued by ‘%s’:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Unable to locally verify the issuer’s authority.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Self-signed certificate encountered.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Issued certificate not yet valid.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Issued certificate has expired.\n"
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: certificate common name ‘%s’ doesn’t match requested host name ‘%s’.\n"
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr "To connect to %s insecurely, use ‘--no-check-certificate’.\n"
+
+#: src/progress.c:242
+#, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ skipping %sK ]"
+
+#: src/progress.c:456
+#, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr "Invalid dot style specification ‘%s’; leaving unchanged.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  eta %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   in "
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Cannot get REALTIME clock frequency: %s\n"
+
+#: src/recur.c:379
+#, c-format
+msgid "Removing %s since it should be rejected.\n"
+msgstr "Removing %s since it should be rejected.\n"
+
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Cannot open %s: %s"
+
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "Loading robots.txt; please ignore errors.\n"
+
+#: src/retr.c:652
+#, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "Error parsing proxy URL %s: %s.\n"
+
+#: src/retr.c:660
+#, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Error in proxy URL %s: Must be HTTP.\n"
+
+#: src/retr.c:746
+#, c-format
+msgid "%d redirections exceeded.\n"
+msgstr "%d redirections exceeded.\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Giving up.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Retrying.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Found no broken links.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Found %d broken link.\n"
+"\n"
+msgstr[1] ""
+"Found %d broken links.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
+msgid "No error"
+msgstr "No error"
+
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr "Unsupported scheme"
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Invalid host name"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr "Bad port number"
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr "Invalid user name"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr "Unterminated IPv6 numeric address"
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr "IPv6 addresses not supported"
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr "Invalid IPv6 numeric address"
+
+#: src/utils.c:328
+#, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "Continuing in background, pid %d.\n"
+
+#: src/utils.c:376
+#, c-format
+msgid "Failed to unlink symlink `%s': %s\n"
+msgstr "Failed to unlink symlink ‘%s’: %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
index e5cee074d1e9faef59659baf6aa62698b43dbf77..e878e1db3567246141ea0f3e7f6698d6fae36173 100644 (file)
@@ -5,7 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2004-05-27 21:46-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
@@ -13,28 +14,93 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: option `%s' is ambiguous\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Connecting to %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: option `--%s' doesn't allow an argument\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: option `%c%s' doesn't allow an argument\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: option `%s' requires an argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: unrecognised option `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: unrecognised option `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: illegal option -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: invalid option -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: option requires an argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: option `-W %s' is ambiguous\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: option `-W %s' doesn't allow an argument\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Connecting to %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Connecting to %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "connected.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "failed: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Unable to delete `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Converted %d files in %.2f seconds.\n"
 
 #: src/convert.c:197
@@ -56,129 +122,152 @@ msgstr "Cannot convert links in %s: %s\n"
 msgid "Unable to delete `%s': %s\n"
 msgstr "Unable to delete `%s': %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Cannot back up %s as %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Error in Set-Cookie, field `%s'"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Syntax error in Set-Cookie: %s at position %d.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Cannot open cookies file `%s': %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Error writing to `%s': %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Error closing `%s': %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Unsupported listing type, trying Unix listing parser.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Index of /%s on %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "time unknown       "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "File        "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Directory   "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Link        "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Not sure    "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bytes)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Length: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (unauthoritative)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Logging in as %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Error in server response, closing control connection.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Error in server greeting.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Write failed, closing control connection.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "The server refuses login.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Login incorrect.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Logged in!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Server error, can't determine system type.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "done.    "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "done.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Unknown type `%c', closing control connection.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "done.  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD not needed.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -187,43 +276,33 @@ msgstr ""
 "No such directory `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD not required.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Cannot initiate PASV transfer.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Cannot parse PASV response.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "couldn't connect to %s:%hu: %s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bind error (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Invalid PORT.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -231,7 +310,7 @@ msgstr ""
 "\n"
 "REST failed, starting from scratch.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -240,7 +319,7 @@ msgstr ""
 "No such file `%s'.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -249,86 +328,74 @@ msgstr ""
 "No such file or directory `%s'.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Length: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s to go]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (unauthoritative)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, closing control connection.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Data connection: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Control connection closed.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Data transfer aborted.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "File `%s' already there, not retrieving.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(try:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' saved [%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Removing %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Using `%s' as listing tmp file.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Removed `%s'.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Recursion depth %d exceeded max. depth %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Remote file no newer than local file `%s' -- not retrieving.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -337,21 +404,20 @@ msgstr ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "The sizes do not match (local %ld) -- retrieving.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Invalid name of the symlink, skipping.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -360,235 +426,187 @@ msgstr ""
 "Already have correct symlink %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Creating symlink %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Symlinks not supported, skipping symlink `%s'.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Skipping directory `%s'.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: unknown/unsupported file type.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: corrupt time-stamp.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Will not retrieve dirs since depth is %d (max %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Not descending to `%s' as it is excluded/not-included.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Rejecting `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Error writing to `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "No matches on pattern `%s'.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Wrote HTML-ised index to `%s' [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Wrote HTML-ised index to `%s'.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Could not seed OpenSSL PRNG; disabling SSL.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: option `%s' is ambiguous\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: option `--%s' doesn't allow an argument\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: option `%c%s' doesn't allow an argument\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: option `%s' requires an argument\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: unrecognised option `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: unrecognised option `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: illegal option -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: invalid option -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: option requires an argument -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Unknown error"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: option `-W %s' is ambiguous\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: option `-W %s' doesn't allow an argument\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Unknown error"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Resolving %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "failed: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "failed: timed out.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Host not found"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Unknown error"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Cannot resolve incomplete link %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Failed to set up an SSL context\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Invalid value `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Failed to load certificates from %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Trying without the specified certificate\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Failed writing HTTP request: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Failed to get certificate key from %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Unable to establish SSL connection.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Reusing connection to %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Failed writing HTTP request: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s request sent, awaiting response... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "End of file while parsing headers.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "No data received"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Read error (%s) in headers.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "No data received"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "File `%s' already there, not retrieving.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Unknown authentication scheme.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Authorization failed.\n"
 
-#: src/http.c:1130
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Malformed status line"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(no description)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Authorization failed.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Unknown authentication scheme.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Location: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "unspecified"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [following]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -598,70 +616,59 @@ msgstr ""
 "    The file is already fully retrieved; nothing to do.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Length: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s to go)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignored"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Skipping directory `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Warning: wildcards not supported in HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "File `%s' already there, will not retrieve.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Cannot write to `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Unable to establish SSL connection.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ERROR: Redirection (%d) without location.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERROR %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Last-modified header missing -- time-stamps turned off.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Last-modified header invalid -- time-stamp ignored.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -670,124 +677,141 @@ msgstr ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "The sizes do not match (local %ld) -- retrieving.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Remote file is newer, retrieving.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Connection closed at byte %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Remote file no newer than local file `%s' -- not retrieving.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Remote file no newer than local file `%s' -- not retrieving.\n"
+
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Connection closed at byte %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Connection closed at byte %ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Read error at byte %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Read error at byte %ld/%ld (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC points to %s, which doesn't exist.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Cannot read %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Error in %s at line %d.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Error in %s at line %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Error in %s at line %d.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Invalid --execute command `%s'\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Invalid number `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Invalid byte value `%s'\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Invalid time period `%s'\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Invalid value `%s'.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Invalid header `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Invalid progress type `%s'.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Invalid value `%s'.\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -796,28 +820,26 @@ msgstr ""
 "\n"
 "%s received, redirecting output to `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "No data received"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; disabling logging.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Usage: %s [OPTION]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, a non-interactive network retriever.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -825,284 +847,566 @@ msgstr ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 
-#: src/main.c:144
-msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+#: src/main.c:371
+msgid "Startup:\n"
 msgstr ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:401
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:407
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-"       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
-"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Directory   "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
 msgstr ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
+msgid ""
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
+msgstr ""
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: debug support not compiled in.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, a non-interactive network retriever.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public Licence for more details.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1110,134 +1414,222 @@ msgstr ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: illegal option -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Try `%s --help' for more options.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: illegal option -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Can't be verbose and quiet at the same time.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Can't timestamp and not clobber old files at the same time.\n"
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: missing URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "No URLs found in %s.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "FINISHED --%s--\n"
 "Downloaded: %s bytes in %d files\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Download quota (%s bytes) EXCEEDED!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Continuing in background.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Continuing in background, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Output will be written to `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Starting WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Couldn't find usable socket driver.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: unknown token \"%s\"\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Usage: %s NETRC [HOSTNAME]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: cannot stat %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Could not seed OpenSSL PRNG; disabling SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
 msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ skipping %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Invalid dot style specification `%s'; leaving unchanged.\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Removing %s since it should be rejected.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Cannot convert links in %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Loading robots.txt; please ignore errors.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Error parsing proxy URL %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Error in proxy URL %s: Must be HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d redirections exceeded.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1245,7 +1637,7 @@ msgstr ""
 "Giving up.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1253,50 +1645,460 @@ msgstr ""
 "Retrying.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "No error"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Unsupported scheme"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Empty host"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Invalid user name"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Bad port number"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Invalid user name"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Unterminated IPv6 numeric address"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 addresses not supported"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Invalid IPv6 numeric address"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Not enough memory.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Continuing in background, pid %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Failed to unlink symlink `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Error in Set-Cookie, field `%s'"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s to go]"
+
+#~ msgid "Host not found"
+#~ msgstr "Host not found"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Failed to set up an SSL context\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Failed to load certificates from %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Trying without the specified certificate\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Failed to get certificate key from %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "End of file while parsing headers.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s to go)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "File `%s' already there, will not retrieve.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Connection closed at byte %ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: debug support not compiled in.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public Licence for more details.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Starting WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Empty host"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Not enough memory.\n"
diff --git a/po/en_US.po b/po/en_US.po
new file mode 100644 (file)
index 0000000..e44b93c
--- /dev/null
@@ -0,0 +1,1829 @@
+# English translations for GNU wget package.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the GNU wget package.
+# Automatically generated, 2008.
+#
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU wget 1.12-devel\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2008-02-06 18:23-0800\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: option ‘%s’ is ambiguous\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: option ‘--%s’ doesn’t allow an argument\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: option ‘%c%s’ doesn’t allow an argument\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: option ‘%s’ requires an argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: unrecognized option ‘--%s’\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: unrecognized option ‘%c%s’\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: illegal option -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: invalid option -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: option requires an argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: option ‘-W %s’ is ambiguous\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: option ‘-W %s’ doesn’t allow an argument\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr "%s: unable to resolve bind address ‘%s’; disabling bind.\n"
+
+#: src/connect.c:267
+#, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Connecting to %s|%s|:%d... "
+
+#: src/connect.c:270
+#, c-format
+msgid "Connecting to %s:%d... "
+msgstr "Connecting to %s:%d... "
+
+#: src/connect.c:330
+msgid "connected.\n"
+msgstr "connected.\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "failed: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: unable to resolve host address ‘%s’\n"
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Converted %d files in %s seconds.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Converting %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "nothing to do.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Cannot convert links in %s: %s\n"
+
+#: src/convert.c:233
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Unable to delete ‘%s’: %s\n"
+
+#: src/convert.c:442
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Cannot back up %s as %s: %s\n"
+
+#: src/cookies.c:443
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr "Syntax error in Set-Cookie: %s at position %d.\n"
+
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie coming from %s attempted to set domain to %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
+#, c-format
+msgid "Cannot open cookies file `%s': %s\n"
+msgstr "Cannot open cookies file ‘%s’: %s\n"
+
+#: src/cookies.c:1287
+#, c-format
+msgid "Error writing to `%s': %s\n"
+msgstr "Error writing to ‘%s’: %s\n"
+
+#: src/cookies.c:1290
+#, c-format
+msgid "Error closing `%s': %s\n"
+msgstr "Error closing ‘%s’: %s\n"
+
+#: src/ftp-ls.c:836
+msgid "Unsupported listing type, trying Unix listing parser.\n"
+msgstr "Unsupported listing type, trying Unix listing parser.\n"
+
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
+#, c-format
+msgid "Index of /%s on %s:%d"
+msgstr "Index of /%s on %s:%d"
+
+#: src/ftp-ls.c:907
+#, c-format
+msgid "time unknown       "
+msgstr "time unknown       "
+
+#: src/ftp-ls.c:911
+#, c-format
+msgid "File        "
+msgstr "File        "
+
+#: src/ftp-ls.c:914
+#, c-format
+msgid "Directory   "
+msgstr "Directory   "
+
+#: src/ftp-ls.c:917
+#, c-format
+msgid "Link        "
+msgstr "Link        "
+
+#: src/ftp-ls.c:920
+#, c-format
+msgid "Not sure    "
+msgstr "Not sure    "
+
+#: src/ftp-ls.c:938
+#, c-format
+msgid " (%s bytes)"
+msgstr " (%s bytes)"
+
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Length: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ", %s (%s) remaining"
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ", %s remaining"
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (unauthoritative)\n"
+
+#: src/ftp.c:303
+#, c-format
+msgid "Logging in as %s ... "
+msgstr "Logging in as %s ... "
+
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
+msgid "Error in server response, closing control connection.\n"
+msgstr "Error in server response, closing control connection.\n"
+
+#: src/ftp.c:323
+msgid "Error in server greeting.\n"
+msgstr "Error in server greeting.\n"
+
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
+msgid "Write failed, closing control connection.\n"
+msgstr "Write failed, closing control connection.\n"
+
+#: src/ftp.c:336
+msgid "The server refuses login.\n"
+msgstr "The server refuses login.\n"
+
+#: src/ftp.c:342
+msgid "Login incorrect.\n"
+msgstr "Login incorrect.\n"
+
+#: src/ftp.c:348
+msgid "Logged in!\n"
+msgstr "Logged in!\n"
+
+#: src/ftp.c:370
+msgid "Server error, can't determine system type.\n"
+msgstr "Server error, can’t determine system type.\n"
+
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
+msgid "done.    "
+msgstr "done.    "
+
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
+msgid "done.\n"
+msgstr "done.\n"
+
+#: src/ftp.c:458
+#, c-format
+msgid "Unknown type `%c', closing control connection.\n"
+msgstr "Unknown type ‘%c’, closing control connection.\n"
+
+#: src/ftp.c:470
+msgid "done.  "
+msgstr "done.  "
+
+#: src/ftp.c:476
+msgid "==> CWD not needed.\n"
+msgstr "==> CWD not needed.\n"
+
+#: src/ftp.c:569
+#, c-format
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"No such directory ‘%s’.\n"
+"\n"
+
+#: src/ftp.c:584
+msgid "==> CWD not required.\n"
+msgstr "==> CWD not required.\n"
+
+#: src/ftp.c:644
+msgid "Cannot initiate PASV transfer.\n"
+msgstr "Cannot initiate PASV transfer.\n"
+
+#: src/ftp.c:648
+msgid "Cannot parse PASV response.\n"
+msgstr "Cannot parse PASV response.\n"
+
+#: src/ftp.c:665
+#, c-format
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr "couldn’t connect to %s port %d: %s\n"
+
+#: src/ftp.c:713
+#, c-format
+msgid "Bind error (%s).\n"
+msgstr "Bind error (%s).\n"
+
+#: src/ftp.c:719
+msgid "Invalid PORT.\n"
+msgstr "Invalid PORT.\n"
+
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"REST failed, starting from scratch.\n"
+
+#: src/ftp.c:826
+#, c-format
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"No such file ‘%s’.\n"
+"\n"
+
+#: src/ftp.c:873
+#, c-format
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"No such file or directory ‘%s’.\n"
+"\n"
+
+#: src/ftp.c:935 src/http.c:2245
+#, c-format
+msgid "%s has sprung into existence.\n"
+msgstr "%s has sprung into existence.\n"
+
+#: src/ftp.c:987
+#, c-format
+msgid "%s: %s, closing control connection.\n"
+msgstr "%s: %s, closing control connection.\n"
+
+#: src/ftp.c:996
+#, c-format
+msgid "%s (%s) - Data connection: %s; "
+msgstr "%s (%s) - Data connection: %s; "
+
+#: src/ftp.c:1011
+msgid "Control connection closed.\n"
+msgstr "Control connection closed.\n"
+
+#: src/ftp.c:1029
+msgid "Data transfer aborted.\n"
+msgstr "Data transfer aborted.\n"
+
+#: src/ftp.c:1097
+#, c-format
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "File ‘%s’ already there; not retrieving.\n"
+
+#: src/ftp.c:1165 src/http.c:2423
+#, c-format
+msgid "(try:%2d)"
+msgstr "(try:%2d)"
+
+#: src/ftp.c:1235 src/http.c:2746
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - ‘%s’ saved [%s]\n"
+"\n"
+
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
+#, c-format
+msgid "Removing %s.\n"
+msgstr "Removing %s.\n"
+
+#: src/ftp.c:1319
+#, c-format
+msgid "Using `%s' as listing tmp file.\n"
+msgstr "Using ‘%s’ as listing tmp file.\n"
+
+#: src/ftp.c:1334
+#, c-format
+msgid "Removed `%s'.\n"
+msgstr "Removed ‘%s’.\n"
+
+#: src/ftp.c:1367
+#, c-format
+msgid "Recursion depth %d exceeded max. depth %d.\n"
+msgstr "Recursion depth %d exceeded max. depth %d.\n"
+
+#: src/ftp.c:1437
+#, c-format
+msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
+msgstr "Remote file no newer than local file ‘%s’ -- not retrieving.\n"
+
+#: src/ftp.c:1444
+#, c-format
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"Remote file is newer than local file ‘%s’ -- retrieving.\n"
+"\n"
+
+#: src/ftp.c:1451
+#, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+
+#: src/ftp.c:1469
+msgid "Invalid name of the symlink, skipping.\n"
+msgstr "Invalid name of the symlink, skipping.\n"
+
+#: src/ftp.c:1486
+#, c-format
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+
+#: src/ftp.c:1494
+#, c-format
+msgid "Creating symlink %s -> %s\n"
+msgstr "Creating symlink %s -> %s\n"
+
+#: src/ftp.c:1504
+#, c-format
+msgid "Symlinks not supported, skipping symlink `%s'.\n"
+msgstr "Symlinks not supported, skipping symlink ‘%s’.\n"
+
+#: src/ftp.c:1516
+#, c-format
+msgid "Skipping directory `%s'.\n"
+msgstr "Skipping directory ‘%s’.\n"
+
+#: src/ftp.c:1525
+#, c-format
+msgid "%s: unknown/unsupported file type.\n"
+msgstr "%s: unknown/unsupported file type.\n"
+
+#: src/ftp.c:1552
+#, c-format
+msgid "%s: corrupt time-stamp.\n"
+msgstr "%s: corrupt time-stamp.\n"
+
+#: src/ftp.c:1580
+#, c-format
+msgid "Will not retrieve dirs since depth is %d (max %d).\n"
+msgstr "Will not retrieve dirs since depth is %d (max %d).\n"
+
+#: src/ftp.c:1630
+#, c-format
+msgid "Not descending to `%s' as it is excluded/not-included.\n"
+msgstr "Not descending to ‘%s’ as it is excluded/not-included.\n"
+
+#: src/ftp.c:1696 src/ftp.c:1710
+#, c-format
+msgid "Rejecting `%s'.\n"
+msgstr "Rejecting ‘%s’.\n"
+
+#: src/ftp.c:1733
+#, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Error matching %s against %s: %s\n"
+
+#: src/ftp.c:1774
+#, c-format
+msgid "No matches on pattern `%s'.\n"
+msgstr "No matches on pattern ‘%s’.\n"
+
+#: src/ftp.c:1840
+#, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr "Wrote HTML-ized index to ‘%s’ [%s].\n"
+
+#: src/ftp.c:1845
+#, c-format
+msgid "Wrote HTML-ized index to `%s'.\n"
+msgstr "Wrote HTML-ized index to ‘%s’.\n"
+
+#: src/host.c:348
+msgid "Unknown host"
+msgstr "Unknown host"
+
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr "Temporary failure in name resolution"
+
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Unknown error"
+
+#: src/host.c:715
+#, c-format
+msgid "Resolving %s... "
+msgstr "Resolving %s... "
+
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr "failed: No IPv4/IPv6 addresses for host.\n"
+
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr "failed: timed out.\n"
+
+#: src/html-url.c:289
+#, c-format
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr "%s: Cannot resolve incomplete link %s.\n"
+
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Invalid URL %s: %s\n"
+
+#: src/http.c:368
+#, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Failed writing HTTP request: %s.\n"
+
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr "No headers, assuming HTTP/0.9"
+
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr "Disabling SSL due to encountered errors.\n"
+
+#: src/http.c:1570
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr "POST data file ‘%s’ missing: %s\n"
+
+#: src/http.c:1619
+#, c-format
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Reusing existing connection to %s:%d.\n"
+
+#: src/http.c:1687
+#, c-format
+msgid "Failed reading proxy response: %s\n"
+msgstr "Failed reading proxy response: %s\n"
+
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr "Proxy tunneling failed: %s"
+
+#: src/http.c:1752
+#, c-format
+msgid "%s request sent, awaiting response... "
+msgstr "%s request sent, awaiting response... "
+
+#: src/http.c:1763
+msgid "No data received.\n"
+msgstr "No data received.\n"
+
+#: src/http.c:1770
+#, c-format
+msgid "Read error (%s) in headers.\n"
+msgstr "Read error (%s) in headers.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"File ‘%s’ already there; not retrieving.\n"
+"\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Unknown authentication scheme.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Authorization failed.\n"
+
+#: src/http.c:2014
+msgid "Malformed status line"
+msgstr "Malformed status line"
+
+#: src/http.c:2016
+msgid "(no description)"
+msgstr "(no description)"
+
+#: src/http.c:2082
+#, c-format
+msgid "Location: %s%s\n"
+msgstr "Location: %s%s\n"
+
+#: src/http.c:2083 src/http.c:2193
+msgid "unspecified"
+msgstr "unspecified"
+
+#: src/http.c:2084
+msgid " [following]"
+msgstr " [following]"
+
+#: src/http.c:2140
+msgid ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+msgstr ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+
+#: src/http.c:2173
+msgid "Length: "
+msgstr "Length: "
+
+#: src/http.c:2193
+msgid "ignored"
+msgstr "ignored"
+
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Saving to: ‘%s’\n"
+
+#: src/http.c:2345
+msgid "Warning: wildcards not supported in HTTP.\n"
+msgstr "Warning: wildcards not supported in HTTP.\n"
+
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Spider mode enabled. Check if remote file exists.\n"
+
+#: src/http.c:2497
+#, c-format
+msgid "Cannot write to `%s' (%s).\n"
+msgstr "Cannot write to ‘%s’ (%s).\n"
+
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Unable to establish SSL connection.\n"
+
+#: src/http.c:2514
+#, c-format
+msgid "ERROR: Redirection (%d) without location.\n"
+msgstr "ERROR: Redirection (%d) without location.\n"
+
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Remote file does not exist -- broken link!!!\n"
+
+#: src/http.c:2565
+#, c-format
+msgid "%s ERROR %d: %s.\n"
+msgstr "%s ERROR %d: %s.\n"
+
+#: src/http.c:2581
+msgid "Last-modified header missing -- time-stamps turned off.\n"
+msgstr "Last-modified header missing -- time-stamps turned off.\n"
+
+#: src/http.c:2589
+msgid "Last-modified header invalid -- time-stamp ignored.\n"
+msgstr "Last-modified header invalid -- time-stamp ignored.\n"
+
+#: src/http.c:2619
+#, c-format
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"Server file no newer than local file ‘%s’ -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2627
+#, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "The sizes do not match (local %s) -- retrieving.\n"
+
+#: src/http.c:2634
+msgid "Remote file is newer, retrieving.\n"
+msgstr "Remote file is newer, retrieving.\n"
+
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+
+#: src/http.c:2715
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - ‘%s’ saved [%s/%s]\n"
+"\n"
+
+#: src/http.c:2770
+#, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Connection closed at byte %s. "
+
+#: src/http.c:2785
+#, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) - Read error at byte %s (%s)."
+
+#: src/http.c:2794
+#, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) - Read error at byte %s/%s (%s). "
+
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr "%s: WGETRC points to %s, which doesn’t exist.\n"
+
+#: src/init.c:450 src/netrc.c:265
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
+msgstr "%s: Cannot read %s (%s).\n"
+
+#: src/init.c:468
+#, c-format
+msgid "%s: Error in %s at line %d.\n"
+msgstr "%s: Error in %s at line %d.\n"
+
+#: src/init.c:474
+#, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Syntax error in %s at line %d.\n"
+
+#: src/init.c:479
+#, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Unknown command ‘%s’ in %s at line %d.\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr "%s: Warning: Both system and user wgetrc point to ‘%s’.\n"
+
+#: src/init.c:677
+#, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Invalid --execute command ‘%s’\n"
+
+#: src/init.c:722
+#, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Invalid boolean ‘%s’; use ‘on’ or ‘off’.\n"
+
+#: src/init.c:739
+#, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Invalid number ‘%s’.\n"
+
+#: src/init.c:970 src/init.c:989
+#, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Invalid byte value ‘%s’\n"
+
+#: src/init.c:1014
+#, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: Invalid time period ‘%s’\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Invalid value ‘%s’.\n"
+
+#: src/init.c:1105
+#, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Invalid header ‘%s’.\n"
+
+#: src/init.c:1171
+#, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Invalid progress type ‘%s’.\n"
+
+#: src/init.c:1230
+#, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Invalid restriction ‘%s’, use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+
+#: src/log.c:784
+#, c-format
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+"\n"
+"%s received, redirecting output to ‘%s’.\n"
+
+#: src/log.c:794
+#, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr ""
+"\n"
+"%s received.\n"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr "%s: %s; disabling logging.\n"
+
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Usage: %s [OPTION]... [URL]...\n"
+
+#: src/main.c:369
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr "Startup:\n"
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr "  -V,  --version           display the version of Wget and exit.\n"
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr "  -h,  --help              print this help.\n"
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr "  -b,  --background        go to background after startup.\n"
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr "  -e,  --execute=COMMAND   execute a ‘.wgetrc’-style command.\n"
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr "Logging and input file:\n"
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr "  -o,  --output-file=FILE    log messages to FILE.\n"
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr "  -a,  --append-output=FILE  append messages to FILE.\n"
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr "  -d,  --debug               print lots of debugging information.\n"
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              print Watt-32 debug output.\n"
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr "  -q,  --quiet               quiet (no output).\n"
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr "  -v,  --verbose             be verbose (this is the default).\n"
+
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr "  -F,  --force-html          treat input file as HTML.\n"
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr "Download:\n"
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+"       --retry-connrefused       retry even if connection is refused.\n"
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr "  -O,  --output-document=FILE    write documents to FILE.\n"
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr "       --progress=TYPE           select progress gauge type.\n"
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+"  -N,  --timestamping            don’t re-retrieve files unless newer than\n"
+"                                 local.\n"
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr "  -S,  --server-response         print server response.\n"
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr "       --spider                  don’t download anything.\n"
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr "       --read-timeout=SECS       set the read timeout to SECS.\n"
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr "       --no-proxy                explicitly turn off proxy.\n"
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr "       --limit-rate=RATE         limit download rate to RATE.\n"
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr "       --no-dns-cache            disable caching DNS lookups.\n"
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr "       --user=USER               set both ftp and http user to USER.\n"
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+
+#: src/main.c:476
+msgid "Directories:\n"
+msgstr "Directories:\n"
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr "  -nd, --no-directories           don’t create directories.\n"
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr "  -x,  --force-directories        force creation of directories.\n"
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr "  -nH, --no-host-directories      don’t create host directories.\n"
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr "       --protocol-directories     use protocol name in directories.\n"
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr "HTTP options:\n"
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr "       --http-user=USER        set http user to USER.\n"
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr "       --http-password=PASS    set http password to PASS.\n"
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr "       --no-cache              disallow server-cached data.\n"
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        save HTML documents with ‘.html’ extension.\n"
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr "       --ignore-length         ignore ‘Content-Length’ header field.\n"
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr "       --header=STRING         insert STRING among the headers.\n"
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          maximum redirections allowed per page.\n"
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr "       --proxy-user=USER       set USER as proxy username.\n"
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr "       --proxy-password=PASS   set PASS as proxy password.\n"
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           include ‘Referer: URL’ header in HTTP "
+"request.\n"
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr "       --save-headers          save the HTTP headers to file.\n"
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr "       --no-cookies            don’t use cookies.\n"
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+"       --load-cookies=FILE     load cookies from FILE before session.\n"
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr "       --save-cookies=FILE     save cookies to FILE after session.\n"
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr "HTTPS (SSL/TLS) options:\n"
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   don’t validate the server’s certificate.\n"
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr "       --certificate=FILE       client certificate file.\n"
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr "       --private-key=FILE       private key file.\n"
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr "       --ca-certificate=FILE    file with the bundle of CA’s.\n"
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=DIR       directory where hash list of CA’s is "
+"stored.\n"
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr "FTP options:\n"
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr "       --ftp-user=USER         set ftp user to USER.\n"
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr "       --ftp-password=PASS     set ftp password to PASS.\n"
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr "       --no-remove-listing     don’t remove ‘.listing’ files.\n"
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr "       --no-glob               turn off FTP file name globbing.\n"
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr "       --no-passive-ftp        disable the “passive” transfer mode.\n"
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr "       --preserve-permissions  preserve remote file permissions.\n"
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr "Recursive download:\n"
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr "  -r,  --recursive          specify recursive download.\n"
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       delete files locally after downloading them.\n"
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr "Recursive accept/reject:\n"
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr "  -L,  --relative                  follow relative links only.\n"
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr "  -I,  --include-directories=LIST  list of allowed directories.\n"
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 don’t ascend to the parent directory.\n"
+
+#: src/main.c:630
+msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+msgstr "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+
+#: src/main.c:635
+#, c-format
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, a non-interactive network retriever.\n"
+
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2008 Free Software Foundation, Inc.\n"
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Originally written by Hrvoje Nikšić <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
+#, c-format
+msgid "Try `%s --help' for more options.\n"
+msgstr "Try ‘%s --help’ for more options.\n"
+
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: illegal option -- ‘-n%c’\n"
+
+#: src/main.c:859
+#, c-format
+msgid "Can't be verbose and quiet at the same time.\n"
+msgstr "Can’t be verbose and quiet at the same time.\n"
+
+#: src/main.c:865
+#, c-format
+msgid "Can't timestamp and not clobber old files at the same time.\n"
+msgstr "Can’t timestamp and not clobber old files at the same time.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr "Cannot specify both --inet4-only and --inet6-only.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Cannot specify -r, -p or -N if -O is given.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Cannot specify both -k and -O if multiple URLs are given.\n"
+
+#: src/main.c:899
+#, c-format
+msgid "%s: missing URL\n"
+msgstr "%s: missing URL\n"
+
+#: src/main.c:1025
+#, c-format
+msgid "No URLs found in %s.\n"
+msgstr "No URLs found in %s.\n"
+
+#: src/main.c:1043
+#, c-format
+msgid ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+msgstr ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+
+#: src/main.c:1052
+#, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Download quota of %s EXCEEDED!\n"
+
+#: src/mswindows.c:99
+#, c-format
+msgid "Continuing in background.\n"
+msgstr "Continuing in background.\n"
+
+#: src/mswindows.c:292
+#, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Continuing in background, pid %lu.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
+#, c-format
+msgid "Output will be written to `%s'.\n"
+msgstr "Output will be written to ‘%s’.\n"
+
+#: src/mswindows.c:462 src/mswindows.c:469
+#, c-format
+msgid "%s: Couldn't find usable socket driver.\n"
+msgstr "%s: Couldn’t find usable socket driver.\n"
+
+#: src/netrc.c:373
+#, c-format
+msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
+msgstr "%s: %s:%d: warning: “%s” token appears before any machine name\n"
+
+#: src/netrc.c:404
+#, c-format
+msgid "%s: %s:%d: unknown token \"%s\"\n"
+msgstr "%s: %s:%d: unknown token “%s”\n"
+
+#: src/netrc.c:468
+#, c-format
+msgid "Usage: %s NETRC [HOSTNAME]\n"
+msgstr "Usage: %s NETRC [HOSTNAME]\n"
+
+#: src/netrc.c:478
+#, c-format
+msgid "%s: cannot stat %s: %s\n"
+msgstr "%s: cannot stat %s: %s\n"
+
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr "WARNING: using a weak random seed.\n"
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Could not seed PRNG; consider using --random-file.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr "ERROR"
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr "WARNING"
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr "%s: No certificate presented by %s.\n"
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: cannot verify %s’s certificate, issued by ‘%s’:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Unable to locally verify the issuer’s authority.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Self-signed certificate encountered.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Issued certificate not yet valid.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Issued certificate has expired.\n"
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: certificate common name ‘%s’ doesn’t match requested host name ‘%s’.\n"
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr "To connect to %s insecurely, use ‘--no-check-certificate’.\n"
+
+#: src/progress.c:242
+#, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ skipping %sK ]"
+
+#: src/progress.c:456
+#, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr "Invalid dot style specification ‘%s’; leaving unchanged.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  eta %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   in "
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Cannot get REALTIME clock frequency: %s\n"
+
+#: src/recur.c:379
+#, c-format
+msgid "Removing %s since it should be rejected.\n"
+msgstr "Removing %s since it should be rejected.\n"
+
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Cannot open %s: %s"
+
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "Loading robots.txt; please ignore errors.\n"
+
+#: src/retr.c:652
+#, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "Error parsing proxy URL %s: %s.\n"
+
+#: src/retr.c:660
+#, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Error in proxy URL %s: Must be HTTP.\n"
+
+#: src/retr.c:746
+#, c-format
+msgid "%d redirections exceeded.\n"
+msgstr "%d redirections exceeded.\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Giving up.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Retrying.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Found no broken links.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Found %d broken link.\n"
+"\n"
+msgstr[1] ""
+"Found %d broken links.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
+msgid "No error"
+msgstr "No error"
+
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr "Unsupported scheme"
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Invalid host name"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr "Bad port number"
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr "Invalid user name"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr "Unterminated IPv6 numeric address"
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr "IPv6 addresses not supported"
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr "Invalid IPv6 numeric address"
+
+#: src/utils.c:328
+#, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "Continuing in background, pid %d.\n"
+
+#: src/utils.c:376
+#, c-format
+msgid "Failed to unlink symlink `%s': %s\n"
+msgstr "Failed to unlink symlink ‘%s’: %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
index 3dd1f0a3f88c37de73f122cacc45ebf7dc906025..00cb95fc79ba31e8787cf1fa3947695898e062c0 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2005-11-06 22:12-0200\n"
 "Last-Translator: Luiz Portella <lfpor@lujz.org>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -15,207 +15,263 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: opcio `%s' estas plursenca\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s:  opcio `--%s' ne permesas argumenton\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: opcio `%c%s' ne permesas argumenton\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: opcio `%s' postulas argumenton\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: nekonata opcio `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: nekonata opcio `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: neleĝa opcio -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: nevalida opcio -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opcio postulas argumenton -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: opcio `-W %s' estas plursenca\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: opcio `-W %s' ne permesas argumenton\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr ""
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Konektante al %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Konektante al %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "konektita.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "fiasko: %s.\n"
 
-#: src/convert.c:176
-#, c-format
-msgid "Converted %d files in %.*f seconds.\n"
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Ne kapabla forviŝi `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Konvertitaj %d dosieroj dum %.*f sekundoj.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Konvertante %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "nenio por fari.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Ne eblas konverti ligilojn al %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Ne kapabla forviŝi `%s': %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Ne eblas kopii %s kiel %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Eraro en Set-Cookie, kampo `%s'"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Sintaksa eraro en Set-Cookie: %s ĉe pozicio %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, fuzzy, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "Kuketo venanta el %s provinte difini retadreson al %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Ne eblas malfermi kuketan dosieron `%s': %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Eraro dum registrado al `%s': %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Eraro fermante `%s': %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 #, fuzzy
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Ne eltenebla printaĵa tipo, provante Uniksan printaĵan sintaksan analizilon.\n"
+msgstr ""
+"Ne eltenebla printaĵa tipo, provante Uniksan printaĵan sintaksan "
+"analizilon.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Indekso de /%s en %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "horaro nekonata   "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Dosiero        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Dosierujo   "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Ligilo        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Sen certeco    "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bajtoj)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Grando: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) restanta"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s restanta"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (ne havante permeson)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Salutante kiel %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Eraro en la servila respondo, fermante stirkonekton.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Eraro en la saluto de servilo.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Skrib-fiasko, fermante stirkonekton.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "La servilo rifuzis la saluton.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Erara saluto.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Ensalutite!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Eraro de la servilo, ne eblas difini la tipon de sistemo.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "farite.    "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "farite.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tipo `%c' nekonata, fermante stirkonekton.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "farite.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD ne necesa.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -224,34 +280,33 @@ msgstr ""
 "Netrovita dosierujo `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD ne postulita.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Ne eblas komenci transporton PASV.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr ""
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "ne eblis konekti al %s pordo %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bind-eraro (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Pordo nevalida.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 #, fuzzy
 msgid ""
 "\n"
@@ -260,7 +315,7 @@ msgstr ""
 "\n"
 "REST fuŝis; .\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -269,7 +324,7 @@ msgstr ""
 "Netrovita dosiero `%s'.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -278,44 +333,40 @@ msgstr ""
 "Netrovita dosiero aŭ dosierujo `%s'.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr ""
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, fermante stirkonekton.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Konekto de datumoj: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Stirkonekto fermita.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Transporto de datumoj ĉesigita.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "La dosiero `%s' jam estas ĉi tie; ĝi ne estos elŝutita.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(provo:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -324,35 +375,32 @@ msgstr ""
 "%s (%s) - `%s' ricevite [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Forviŝante %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Uzante `%s' kiel dumtempan dosieron de printaĵo.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Forviŝite `%s'.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Nivelo de rekursio %d superas maksimuman nivelon %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Fora dosiero ne estas plej nova ol loka `%s' -- forgesante.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -361,19 +409,18 @@ msgstr ""
 "Fora dosiero estas plej nova ol loka `%s' -- elŝutante.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr "La grandoj neegalaj (loka %s) -- elŝutante.\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Nevalida nomo de simbola ligilo, pretersaltante.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -382,242 +429,190 @@ msgstr ""
 "Simbola ligilo jam estis ĝusta %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Kreante simbolan ligilon %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Simbolaj ligiloj ne elteneblaj, pretersaltante simbolan ligilon `%s'.\n"
+msgstr ""
+"Simbolaj ligiloj ne elteneblaj, pretersaltante simbolan ligilon `%s'.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Pretersaltante dosierujon `%s'.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: nekonata/neeltenebla dosier-tipo.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: horaro (time-stamp) erara.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Dosierujoj ne estos elŝutitaj dum nivelo de rekursio estas %d (maksimuma %d).\n"
+msgstr ""
+"Dosierujoj ne estos elŝutitaj dum nivelo de rekursio estas %d (maksimuma %"
+"d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr ""
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Rifuzante `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Eraro dum registrado al `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Nenio trovita kun la ŝablono `%s'.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Skribite HTML-igitan indekson al `%s' [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Skribite HTML-igitan indekson al `%s'.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcio `%s' estas plursenca\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s:  opcio `--%s' ne permesas argumenton\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcio `%c%s' ne permesas argumenton\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcio `%s' postulas argumenton\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nekonata opcio `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nekonata opcio `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: neleĝa opcio -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: nevalida opcio -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcio postulas argumenton -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opcio `-W %s' estas plursenca\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opcio `-W %s' ne permesas argumenton\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Nekonata retnodo"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Dumtempa malsukceso ĉe nom-eltrovo"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Nekonata eraro"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Provante %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "fiasko: Ne estas IPv4/IPv6 adreso por la retnodo.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "fiasko: limtempo finita.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, fuzzy, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Ne eblis eltrovi nekompletan ligilon %s.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: Nevalida URL %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Fiasko skribante HTTP-an peton: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Sen ĉapoj, supozante HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr ""
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr ""
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Reuzante estantan konekton al %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Fiasko legante prokuran (proxy) respondon: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr ""
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s peto sendita, atendante respondon... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Ne datumo ricevita.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Leg-eraro (%s) ĉe ĉapoj.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"La dosiero `%s' jam estas ĉi tie; ĝi ne estos elŝutita.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Nekonata aŭtentokontrola ŝablono.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Permesado fiaskis.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr ""
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(sen priskribo)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr ""
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nedifinita"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr "[sekvanta]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -627,61 +622,59 @@ msgstr ""
 "    La dosiero estas fakte tute elŝutita; nenio farenda.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Grando: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignorita"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Pretersaltante dosierujon `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr ""
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
 msgstr ""
-"La dosiero `%s' jam estas ĉi tie; ĝi ne estos elŝutita.\n"
-"\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Ne eblas skribi al `%s' (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Ne kapabla starigi SSL-konekton.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr ""
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERARO %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr ""
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr ""
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -690,16 +683,40 @@ msgstr ""
 "Servila dosiero ne estas plej nova ol loka `%s' -- forgesante.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "La grandoj neegalas (loka %s) -- elŝutante.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Fora dosiero estas plej nova, elŝutante.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Fora dosiero estas plej nova ol loka `%s' -- elŝutante.\n"
+"\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Fora dosiero ne estas plej nova ol loka `%s' -- forgesante.\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Fora dosiero ne estas plej nova ol loka `%s' -- forgesante.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -708,118 +725,106 @@ msgstr ""
 "%s (%s) - `%s' ricevite [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Konekto fermita ĉe la bajto %s. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Konekto fermita ĉe la bajto %s/%s. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Leg-eraro ĉe la bajto %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Leg-eraro ĉe la bajto %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr ""
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Ne eblas legi %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Eraro en %s ĉe linio %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Sintaksa eraro en %s ĉe linio %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Nekonata komando `%s' en %s ĉe linio %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr ""
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr ""
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr ""
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Nevalida numero `%s'.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Nevalida bajta valuto `%s'\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr ""
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Nevalida valuto `%s'.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Nevalida ĉapo `%s'.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr ""
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr ""
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
 "%s received, redirecting output to `%s'.\n"
 msgstr ""
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -828,496 +833,594 @@ msgstr ""
 "\n"
 "%s ricevite.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr ""
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr ""
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr ""
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           vidigas la version de Wget kaj eliras.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              printas ĉi helpilon.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        iras al fona reĝimo post starto.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr ""
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Salutante kaj enigante dosieron:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=DOSIERO    log mesaĝoj al DOSIERO.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr ""
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr ""
 
-#: src/main.c:411
+#: src/main.c:394
+#, fuzzy
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "  -h,  --help              printas ĉi helpilon.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr ""
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr ""
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=DOSIERO     elŝutu URL-ojn trovitajn en DOSIERO.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Elŝutite:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=NOMBRO            agordas nombron de reprovoj je NOMBRO (0 senlimaj).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NOMBRO            agordas nombron de reprovoj je NOMBRO (0 "
+"senlimaj).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       provas reen eĉ se la konekto estas rifuzita.\n"
+msgstr ""
+"       --retry-connrefused       provas reen eĉ se la konekto estas "
+"rifuzita.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr ""
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr ""
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr "  -c,  --continue                daŭri uzi dosieron parte elŝutita.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr ""
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
 msgstr ""
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         printas respondon de la servilo.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  ne elŝutas ion ajn.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SEKUNDOJ         agordas ĉiujn temp-limojn je SEKUNDOJ.\n"
+msgstr ""
+"  -T,  --timeout=SEKUNDOJ         agordas ĉiujn temp-limojn je SEKUNDOJ.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=Sekundoj        agordas la temp-limon por serĉo de DNS je Sekundoj.\n"
+msgstr ""
+"       --dns-timeout=Sekundoj        agordas la temp-limon por serĉo de DNS "
+"je Sekundoj.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=Sekundoj    agordas la temp-limon por konekto je Sekundoj.\n"
+msgstr ""
+"       --connect-timeout=Sekundoj    agordas la temp-limon por konekto je "
+"Sekundoj.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=Sekundoj       agordas la temp-limon por lego je Sekundoj.\n"
+msgstr ""
+"       --read-timeout=Sekundoj       agordas la temp-limon por lego je "
+"Sekundoj.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SEKUNDOJ            atendas SEKUNDOJn inter elŝutoj.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=SEKUNDOJ       atendas 1..SEKUNDOJn inter reprovoj de elŝutoj.\n"
-
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
+"       --waitretry=SEKUNDOJ       atendas 1..SEKUNDOJn inter reprovoj de "
+"elŝutoj.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr ""
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr ""
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
 msgstr ""
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
 msgstr ""
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr ""
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr ""
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
 msgstr ""
 
-#: src/main.c:476
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr ""
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr ""
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr ""
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr ""
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Dosierujoj:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr ""
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr ""
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr ""
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
 msgstr ""
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr ""
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
 msgstr ""
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr ""
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr ""
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr ""
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
 msgstr ""
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
 msgstr ""
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
 msgstr ""
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr ""
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr ""
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr ""
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr ""
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr ""
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
 msgstr ""
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
 msgstr ""
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr ""
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
 msgstr ""
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
 msgstr ""
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
 msgstr ""
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
 msgstr ""
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
 msgstr ""
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr ""
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr ""
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr ""
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
 msgstr ""
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr ""
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr ""
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr ""
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
 msgstr ""
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
 msgstr ""
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr ""
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr ""
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr ""
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr ""
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr ""
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
 msgstr ""
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr ""
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr ""
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr ""
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr ""
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
 msgstr ""
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr ""
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr ""
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr ""
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
 msgstr ""
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
 msgstr ""
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr ""
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr ""
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr ""
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
 msgstr ""
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr ""
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr ""
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr ""
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr ""
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr ""
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Retpoŝtu ciman raporton kaj sugestojn al <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr ""
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr ""
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
 
-#: src/main.c:665
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1325,197 +1428,222 @@ msgstr ""
 "\n"
 "Originale skribita de Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Provu `%s --help' por pliaj opcioj.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: neleĝa opcio -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Ne eblas esti babilema kaj silenta samtempe.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr ""
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Ne eblas difini kaj --inet4-only kaj --inet6-only.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, fuzzy, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Ne eblas difini kaj --inet4-only kaj --inet6-only.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: mankanta URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "URL-oj ne trovitaj en %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr ""
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr ""
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr ""
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr ""
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr ""
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr ""
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr ""
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr ""
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr ""
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr ""
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr ""
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "ERARO"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "ATENDANTE"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr ""
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
 msgstr ""
 
-#: src/openssl.c:485
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
 msgstr ""
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
 msgstr ""
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr ""
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr ""
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr ""
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Ne eblas malfermi %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr ""
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr ""
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr ""
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr ""
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
 msgstr ""
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1523,54 +1651,81 @@ msgstr ""
 "Reprovante.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Sen eraro"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Neeltenebla ŝablono"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Nevalida retnoda nomo"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Malĝusta pordnumero"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Nevalida uzantnomo"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Nedifinita IPv6 numera adreso"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 adreso ne eltenebla"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Nevalida IPv6 numera adreso"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Daŭrigante en fona reĝimo, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr ""
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr ""
 
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Eraro en Set-Cookie, kampo `%s'"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Konekto fermita ĉe la bajto %s/%s. "
+
 #~ msgid "Failed writing to proxy: %s.\n"
 #~ msgstr "Eraro dum registrado al proxy: %s.\n"
 
index e4d6a275530eb46478b091cb8856e423ef1e518b..1ecf002a798011a7f44557dad1eecb34f2e4691a 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -18,7 +18,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.8.1\n"
-"POT-Creation-Date: 2001-12-17 16:30+0100\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2001-12-29 19:00GMT+0200\n"
 "Last-Translator: Salvador Gimeno Zanón <salgiza@jazzfree.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -27,95 +28,224 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 0.9.5\n"
 
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: la opción `%s' es ambigua\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: la opción `--%s' no admite ningún argumento\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: la opción `%s' requiere un argumento\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opción no reconocida `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opción no reconocida `%c%s\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opción ilegal -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, fuzzy, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opción ilegal -- %c\n"
+
+# nota jjrs: argumento o parametro?
+# mmm... argumento? ;-P -Salva
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: la opción requiere un argumento -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, fuzzy, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: la opción `%s' es ambigua\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, fuzzy, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: la opción `--%s' no admite ningún argumento\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
 # Me temo que nadie se "conecta a" sino que se "conecta con", ... ¿no te
 # suena mejor? - cll
 # sip - Salva
-#: src/connect.c:94
-#, c-format
-msgid "Connecting to %s[%s]:%hu... "
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
 msgstr "Conectando con %s[%s]:%hu... "
 
 # Me temo que nadie se "conecta a" sino que se "conecta con", ... ¿no te
 # suena mejor? - cll
 # sip - Salva
 #
-#: src/connect.c:97
-#, c-format
-msgid "Connecting to %s:%hu... "
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Conectando con %s:%hu... "
 
-#: src/connect.c:131
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "conectado.\n"
 
-#: src/cookies.c:595
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "falló: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "No se ha borrar `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "%d ficheros convertidos en %.2f segundos.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Convirtiendo %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "no hay nada que hacer.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "No se han podido convertir los enlaces en %s: %s\n"
+
+#: src/convert.c:233
 #, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Error al asignar cookie, en el campo `%s'"
+msgid "Unable to delete `%s': %s\n"
+msgstr "No se ha borrar `%s': %s\n"
 
-#: src/cookies.c:619
+#: src/convert.c:442
 #, c-format
-msgid "Syntax error in Set-Cookie at character `%c'.\n"
-msgstr "Error de sintaxis al asignar cookie, en el carácter `%c'.\n"
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "No se pudo hacer una copia de seguridad de %s como %s: %s\n"
 
-#: src/cookies.c:627
-msgid "Syntax error in Set-Cookie: premature end of string.\n"
+#: src/cookies.c:443
+#, fuzzy, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Error de sintaxis al asignar cookie: fin de cadena inesperado.\n"
 
-#: src/cookies.c:1329
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "No se pudo abrir el fichero de cookies `%s': %s\n"
 
-#: src/cookies.c:1341
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Error escribiendo a `%s': %s\n"
 
-#: src/cookies.c:1345
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Error cerrando `%s': %s\n"
 
-#: src/ftp-ls.c:802
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Tipo de listado no soportado, se intentará con el parseador de listados de Unix.\n"
+msgstr ""
+"Tipo de listado no soportado, se intentará con el parseador de listados de "
+"Unix.\n"
 
-#: src/ftp-ls.c:847 src/ftp-ls.c:849
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Índice de /%s en %s:%d"
 
-#: src/ftp-ls.c:871
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "hora desconocida   "
 
-#: src/ftp-ls.c:875
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Fichero     "
 
-#: src/ftp-ls.c:878
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Directorio  "
 
-#: src/ftp-ls.c:881
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Enlace      "
 
 # creo que se refiere al tipo (fichero/directorio/enlace)
-#: src/ftp-ls.c:884
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Ni idea     "
 
-#: src/ftp-ls.c:902
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bytes)"
 
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Longitud: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+# nota jjrs: Se agrega este mensaje cuando el wget no ha obtenido
+#   directamente el tamaño del archivo a transferir y esta usando la
+#   longitud que reporta el inicio de la transferencia.
+#
+# ¡Dabuti! Si no lo llegas a decir, ... ¡Lo estaba flipando! :) Pero
+# vamos, siendo como dices, a mí me suena perfectísimamente - cll
+#
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (probablemente)\n"
+
 # mmmm... no estoy seguro de esto...
 # ¿Así no es mejor? (nl)
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:179
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Identificándose como %s ... "
@@ -126,9 +256,9 @@ msgstr "Identific
 # a nuestra costumbre - cll
 # einch! que tengo familiares güiris ;-) , pero tienes razón -Salva
 #
-#: src/ftp.c:188 src/ftp.c:241 src/ftp.c:272 src/ftp.c:326 src/ftp.c:419
-#: src/ftp.c:470 src/ftp.c:500 src/ftp.c:564 src/ftp.c:628 src/ftp.c:689
-#: src/ftp.c:737
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Error en la respuesta del servidor, cerrando la conexión de control.\n"
 
@@ -137,7 +267,7 @@ msgstr "Error en la respuesta del servidor, cerrando la conexi
 # bien - Salva
 # No está bien, es confuso. Recepción suena a recibir... (nl)
 #
-#: src/ftp.c:196
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Error en el saludo del servidor.\n"
 
@@ -150,8 +280,8 @@ msgstr "Error en el saludo del servidor.\n"
 #
 # Además, he añadido el artículo a `conexión' - cll
 #
-#: src/ftp.c:204 src/ftp.c:335 src/ftp.c:428 src/ftp.c:509 src/ftp.c:574
-#: src/ftp.c:638 src/ftp.c:699 src/ftp.c:747
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Fallo de escritura, cerrando la conexión de control.\n"
 
@@ -175,7 +305,7 @@ msgstr "Fallo de escritura, cerrando la conexi
 # equivalente, en todos los mensajes del fichero. Espero que te parezca
 # oportuno - cll
 #
-#: src/ftp.c:211
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "El servidor ha rechazado el acceso.\n"
 
@@ -183,7 +313,7 @@ msgstr "El servidor ha rechazado el acceso.\n"
 # usuario, ¿verdad? - cll
 # sí -Salva
 #
-#: src/ftp.c:218
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Nombre de usuario incorrecto.\n"
 
@@ -191,59 +321,61 @@ msgstr "Nombre de usuario incorrecto.\n"
 # gracias! :) -Salva
 #
 # Preferiría algo como "Conectado" o algo así. sv
-#: src/ftp.c:225
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "¡Dentro!\n"
 
-#: src/ftp.c:250
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Error del servidor, no se pudo determinar el tipo de sistema.\n"
 
-#: src/ftp.c:260 src/ftp.c:549 src/ftp.c:612 src/ftp.c:669
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "hecho.   "
 
-#: src/ftp.c:314 src/ftp.c:449 src/ftp.c:484 src/ftp.c:720 src/ftp.c:768
-#: src/host.c:283
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "hecho.\n"
 
 # He añadido el artículo a `conexión' - cll
 #
-#: src/ftp.c:343
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tipo desconocido `%c', cerrando la conexión de control.\n"
 
-#: src/ftp.c:356
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "hecho.  "
 
-#: src/ftp.c:362
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> no se necesita CWD.\n"
 
-#: src/ftp.c:435
+#: src/ftp.c:569
 #, c-format
-msgid "No such directory `%s'.\n\n"
-msgstr "No existe el directorio `%s'.\n\n"
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"No existe el directorio `%s'.\n"
+"\n"
 
-#. do not CWD
-#: src/ftp.c:453
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> no se requiere CWD.\n"
 
-#: src/ftp.c:516
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "No se pudo iniciar la trasferencia PASV.\n"
 
-#: src/ftp.c:520
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "No se pudo analizar la respuesta PASV.\n"
 
-#: src/ftp.c:541
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "no se pudo conectar con %s:%hu: %s\n"
 
 # Duda: no estoy muy seguro, pero ... ¿y `error de enlace' o algo
@@ -256,103 +388,98 @@ msgstr "no se pudo conectar con %s:%hu: %s\n"
 # Es la función bind(2), que asigna una dirección a un socket.
 # Me parece que decir lo de la función es mejor. (nl)
 #
-#: src/ftp.c:591
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Error en la llamada `bind' (%s).\n"
 
 # Ya no está "prohibido" usar esta palabra. sv
-#: src/ftp.c:598
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PUERTO inválido.\n"
 
-#: src/ftp.c:651
-#, c-format
-msgid "\nREST failed; will not truncate `%s'.\n"
-msgstr "\nEl comando REST no funcionó, no se truncará `%s'.\n"
-
-#: src/ftp.c:658
-msgid "\nREST failed, starting from scratch.\n"
-msgstr "\nEl comando REST no funcionó, se empezará desde el principio\n"
-
-#: src/ftp.c:707
-#, c-format
-msgid "No such file `%s'.\n\n"
-msgstr "No existe el fichero `%s'.\n\n"
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"El comando REST no funcionó, se empezará desde el principio\n"
 
-#: src/ftp.c:755
+#: src/ftp.c:826
 #, c-format
-msgid "No such file or directory `%s'.\n\n"
-msgstr "No existe el fichero o directorio `%s'.\n\n"
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"No existe el fichero `%s'.\n"
+"\n"
 
-#: src/ftp.c:839 src/ftp.c:847
+#: src/ftp.c:873
 #, c-format
-msgid "Length: %s"
-msgstr "Longitud: %s"
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"No existe el fichero o directorio `%s'.\n"
+"\n"
 
-#: src/ftp.c:841 src/ftp.c:849
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s para acabar]"
-
-# nota jjrs: Se agrega este mensaje cuando el wget no ha obtenido
-#   directamente el tamaño del archivo a transferir y esta usando la
-#   longitud que reporta el inicio de la transferencia.
-#
-# ¡Dabuti! Si no lo llegas a decir, ... ¡Lo estaba flipando! :) Pero
-# vamos, siendo como dices, a mí me suena perfectísimamente - cll
-#
-#: src/ftp.c:851
-msgid " (unauthoritative)\n"
-msgstr " (probablemente)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
 # He añadido el artículo a `conexión' - cll
 #
-#: src/ftp.c:877
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, cerrando la conexión de control.\n"
 
-#: src/ftp.c:885
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Conexión de datos: %s; "
 
-#: src/ftp.c:902
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Conexión de control cerrada.\n"
 
-#: src/ftp.c:920
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Trasferencia de datos abortada.\n"
 
 # `no recuperando' no me suena muy español, te propongo la alternativa
 # más "humanizada", `no se recupera' - cll
 #
-#: src/ftp.c:984
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "El fichero `%s' ya está ahí, no se recupera.\n"
 
 # nota jjrs: no sería mejor intento?
 # pues sí - Salva
 # decididamente si - cll
-#: src/ftp.c:1054 src/http.c:1527
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(intento:%2d)"
 
-#: src/ftp.c:1118 src/http.c:1786
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld]\n\n"
-msgstr "%s (%s) - `%s' guardado [%ld]\n\n"
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' guardado [%ld]\n"
+"\n"
 
-#: src/ftp.c:1160 src/main.c:819 src/recur.c:349 src/retr.c:587
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Eliminando %s.\n"
 
-#: src/ftp.c:1202
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Usando `%s' como fichero temporal de listado.\n"
@@ -362,95 +489,111 @@ msgstr "Usando `%s' como fichero temporal de listado.\n"
 # español sirven para hacer referencia a una acción. Esto es, deben ir
 # después del sustantivo - cll
 #
-#: src/ftp.c:1217
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "`%s' eliminado.\n"
 
-#: src/ftp.c:1252
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "La profundidad de recursión %d excede la máxima de %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1317
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "El fichero remoto no es más moderno que el fichero local `%s' -- no se descargará.\n"
+msgstr ""
+"El fichero remoto no es más moderno que el fichero local `%s' -- no se "
+"descargará.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1324
+#: src/ftp.c:1444
 #, c-format
-msgid "Remote file is newer than local file `%s' -- retrieving.\n\n"
-msgstr "El fichero remoto es más moderno que el fichero local `%s' -- descargando.\n\n"
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"El fichero remoto es más moderno que el fichero local `%s' -- descargando.\n"
+"\n"
 
-#. Sizes do not match
-#: src/ftp.c:1331
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n\n"
-msgstr "Los tamaños no concuerdan (%ld local) -- recuperando.\n\n"
+#: src/ftp.c:1451
+#, fuzzy, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"Los tamaños no concuerdan (%ld local) -- recuperando.\n"
+"\n"
 
 # Simplemente me suena mejor `omitir' que `saltar'. Ademàs, las acciones
 # expresadas en gerundio, ..., prefiero una forma impersonal como `se
 # omite' - cll
 #
-#: src/ftp.c:1348
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "El nombre del enlace simbólico no es válido, se omite.\n"
 
-#: src/ftp.c:1365
+#: src/ftp.c:1486
 #, c-format
-msgid "Already have correct symlink %s -> %s\n\n"
-msgstr "Ya se tiene el enlace simbólico correcto %s -> %s\n\n"
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Ya se tiene el enlace simbólico correcto %s -> %s\n"
+"\n"
 
-#: src/ftp.c:1373
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Creando enlace simbólico %s -> %s\n"
 
 # Lo dicho de los gerundios por formas impersonales - cll
 #
-#: src/ftp.c:1384
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "No se admiten enlaces simbólicos, se omite el enlace simbólico `%s'.\n"
 
-#: src/ftp.c:1396
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Omitiendo el directorio `%s'.\n"
 
-#: src/ftp.c:1405
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tipo de fichero desconocido/no soportado.\n"
 
 # sigo las indicaciones del texto "pifias" para time-stamp.
-#: src/ftp.c:1432
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: marca de tiempo corrupta.\n"
 
-#: src/ftp.c:1457
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "No se recuperarán directorios puesto que la profundidad es %d (máx %d).\n"
+msgstr ""
+"No se recuperarán directorios puesto que la profundidad es %d (máx %d).\n"
 
 # Los gerundios me parecen poco apropiados para construir predicados
 # normales y corrientes como intentas en este mensaje. En su lugar, te
 # propongo la forma alternativa `se desciende' - cll
 #
-#: src/ftp.c:1507
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "No se desciende hasta `%s' por estar excluido/no incluido.\n"
 
-#: src/ftp.c:1561
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Rechazando `%s'.\n"
 
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Error escribiendo a `%s': %s\n"
+
 # alguna idea mejor?
 # nota jjrs: En el PO para el grep 2.1 pattern está traducido como
 #   patrón por <melero@iprolink.ch> y <sanvila@unex.es>
@@ -462,747 +605,1037 @@ msgstr "Rechazando `%s'.\n"
 # Algo no es *parecido* a un patrón. Algo *cumple* con un patrón. (nl)
 # Bien, pero aceptaré la matización cd C.S. Suarez de 'se ajusta a...' -Salva
 #
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1608
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "No hay nada que se ajuste al patrón `%s'.\n"
 
-#: src/ftp.c:1673
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Se escribió un índice en HTML a `%s' [%ld].\n"
 
-#: src/ftp.c:1678
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Se escribió un índice en HTML a `%s'.\n"
 
-#: src/gen_sslfunc.c:109
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "No se pudo alimentar el PRNG de OpenSSL; deshabilitando SSL.\n"
-
-#: src/getopt.c:454
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: la opción `%s' es ambigua\n"
-
-#: src/getopt.c:478
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: la opción `--%s' no admite ningún argumento\n"
-
-#: src/getopt.c:483
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
-
-#: src/getopt.c:498
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: la opción `%s' requiere un argumento\n"
-
-#. --option
-#: src/getopt.c:528
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opción no reconocida `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:532
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opción no reconocida `%c%s\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Error desconocido"
 
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:563
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opción ilegal -- %c\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-# nota jjrs: argumento o parametro?
-# mmm... argumento? ;-P -Salva
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:602
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: la opción requiere un argumento -- %c\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Error desconocido"
 
-#: src/host.c:271
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Resolviendo %s... "
 
-#: src/host.c:278
-#, c-format
-msgid "failed: %s.\n"
-msgstr "falló: %s.\n"
-
-# ¡Con la Iglesia y el Ejército hemos ido a topar! :)
-#
-# Lo de `host' puede dar lugar a una auténtica discusión, ... Te ruego
-# por favor que, si no estás de acuerdo conmigo, te dirijas a la lista
-# para discutirlo allí públicamente, ... Es importante que todos los
-# miembros de Spanish GNU Translation Team actuemos de la misma manera
-# y, en este caso, el convenio es emplear el término `anfitrión' para
-# `host'. De hecho, yo lo he hecho en la traducción del CLisp y empieza
-# a ser habitual verlo en el software comercial traducido al español, y
-# si no, echa un ojo a los juegos de LucasArts, ... - cll
-#
-#: src/host.c:348
-msgid "Host not found"
-msgstr "No se ha encontrado el anfitrión"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:350
-msgid "Unknown error"
-msgstr "Error desconocido"
+#: src/host.c:785
+#, fuzzy
+msgid "failed: timed out.\n"
+msgstr "falló: %s.\n"
 
-#: src/html-url.c:336
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: no se pudo resolver el enlace incompleto %s.\n"
 
-#. this is fatal
-#: src/http.c:573
-msgid "Failed to set up an SSL context\n"
-msgstr "No se pudo configurar un contexto SSL\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: especificación inválida `%s'\n"
 
-#: src/http.c:579
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "No se pudo descargar los certificados desde %s\n"
-
-#: src/http.c:583 src/http.c:591
-msgid "Trying without the specified certificate\n"
-msgstr "Intentándolo sin el certificado especificado\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Fallo escribiendo petición HTTP: %s.\n"
 
-#: src/http.c:587
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "No se pudo obtener la clave certificadora desde %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:657 src/http.c:1620
-msgid "Unable to establish SSL connection.\n"
-msgstr "No se pudo establecer la conexión SSL.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:666
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Reutilizando la conexión con %s:%hu.\n"
 
-#: src/http.c:868
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Fallo escribiendo petición HTTP: %s.\n"
 
-#: src/http.c:873
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "Petición %s enviada, esperando respuesta... "
 
-#: src/http.c:917
-msgid "End of file while parsing headers.\n"
-msgstr "Fin de fichero mientras se analizaban las cabeceras.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "No se han recibido datos"
 
-#: src/http.c:927
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Error de lectura (%s) en las cabeceras.\n"
 
-#: src/http.c:962
-msgid "No data received"
-msgstr "No se han recibido datos"
+# `no recuperando' no me suena muy español, te propongo la alternativa
+# más "humanizada", `no se recupera' - cll
+#
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "El fichero `%s' ya está ahí, no se recupera.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Método de autentificación desconocido.\n"
+
+# En vez de `falló la autorización' me parece más apropiado
+# `Autorización denegada' - cll
+#
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Autorización denegada.\n"
 
 # Piiiiii: escuchemos a los super-tacañones :)
 #
 # Como no existe el verbo "malformar" en español, el participio
 # `malformado' es incorrecto. El único término parecido a éste que
 # existe en español es `malformación'. - cll
-#: src/http.c:964
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Línea de estado mal formada"
 
-#: src/http.c:969
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(sin descripción)"
 
-# En vez de `falló la autorización' me parece más apropiado
-# `Autorización denegada' - cll
-#
-#: src/http.c:1101
-msgid "Authorization failed.\n"
-msgstr "Autorización denegada.\n"
-
-#: src/http.c:1108
-msgid "Unknown authentication scheme.\n"
-msgstr "Método de autentificación desconocido.\n"
-
-#: src/http.c:1148
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Localización: %s%s\n"
 
-#: src/http.c:1149 src/http.c:1282
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "no especificado"
 
 # Duda: Hmmm, ... ¿`siguiendo' o `siguiente'? - cll
 # siguiendo - Salva
 #
-#: src/http.c:1150
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [siguiendo]"
 
-#: src/http.c:1213
-msgid "\n    The file is already fully retrieved; nothing to do.\n\n"
-msgstr "\n    El fichero ya ha sido totalmente recuperado, no hay nada que hacer.\n\n"
-
-#: src/http.c:1229
-#, c-format
+#: src/http.c:2140
 msgid ""
 "\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
+"    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-"No se pudo continuar la descarga de este fichero, lo que choca con `-c'.\n"
-"Se rechaza truncar el fichero existente `%s'.\n"
+"    El fichero ya ha sido totalmente recuperado, no hay nada que hacer.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1272
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Longitud: "
 
-#: src/http.c:1277
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s para acabar)"
-
-#: src/http.c:1282
+#: src/http.c:2193
 msgid "ignored"
 msgstr "descartado"
 
-#: src/http.c:1413
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Omitiendo el directorio `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Atención: no se admiten comodines en HTTP.\n"
 
-# Has traducido `retrieve' como `recuperar' todo el rato, ... ¿por qué
-# lo cambias ahora?. Te lo pongo de nuevo como `recuperar' - cll
-# jjr no solo revisó, sino que además tradujo bastante cacho del po,
-# seguramente se debe a eso - Salva
-#
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1443
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "El fichero '%s' ya existe, no se recuperará.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1611
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "No se puede escribir a `%s' (%s).\n"
 
-#: src/http.c:1630
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "No se pudo establecer la conexión SSL.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ERROR: redirección (%d) sin localización.\n"
 
-#: src/http.c:1662
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERROR %d: %s.\n"
 
 # así se entiende mejor -Salva
-#: src/http.c:1675
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Falta la fecha de la última modificación -- marcas de tiempo apagadas.\n"
+msgstr ""
+"Falta la fecha de la última modificación -- marcas de tiempo apagadas.\n"
 
-#: src/http.c:1683
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "La fecha de última modificación es inválida -- marca de tiempo descartada.\n"
+msgstr ""
+"La fecha de última modificación es inválida -- marca de tiempo descartada.\n"
 
-#: src/http.c:1706
+#: src/http.c:2619
 #, c-format
-msgid "Server file no newer than local file `%s' -- not retrieving.\n\n"
-msgstr "El fichero del servidor no es más moderno que el fichero local `%s' -- no se descargará.\n\n"
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"El fichero del servidor no es más moderno que el fichero local `%s' -- no se "
+"descargará.\n"
+"\n"
 
-#: src/http.c:1714
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Los tamaños no concuerdan (%ld local), recuperando.\n"
 
-#: src/http.c:1718
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "El fichero remoto es nuevo, recuperando.\n"
 
-#: src/http.c:1759
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld]\n\n"
-msgstr "%s (%s) - `%s' guardado [%ld/%ld]\n\n"
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"El fichero remoto es más moderno que el fichero local `%s' -- descargando.\n"
+"\n"
 
-#: src/http.c:1809
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Conexión cerrada en el byte %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"El fichero remoto no es más moderno que el fichero local `%s' -- no se "
+"descargará.\n"
 
-#: src/http.c:1818
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld])\n\n"
-msgstr "%s (%s) - `%s' guardado [%ld/%ld])\n\n"
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"El fichero remoto no es más moderno que el fichero local `%s' -- no se "
+"descargará.\n"
 
-#: src/http.c:1839
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Conexión cerrada en el byte %ld/%ld. "
+#: src/http.c:2715
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' guardado [%ld/%ld]\n"
+"\n"
 
-#: src/http.c:1851
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Conexión cerrada en el byte %ld. "
+
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Error de lectura en el byte %ld (%s)."
 
-#: src/http.c:1860
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Error de lectura en el byte %ld/%ld (%s)."
 
-#: src/init.c:355 src/netrc.c:265
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr ""
+
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: No se pudo leer %s (%s).\n"
 
-#: src/init.c:373 src/init.c:379
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Error en %s en la línea %d.\n"
 
-#: src/init.c:411
-#, c-format
-msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Atención: tanto el fichero wgetrc de usuario como el del sistema apuntan a `%s'.\n"
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Error en %s en la línea %d.\n"
 
-#: src/init.c:503
-#, c-format
-msgid "%s: BUG: unknown command `%s', value `%s'.\n"
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Error: orden desconocida `%s', valor `%s'.\n"
 
-# ¿No debiera ser la `dirección IP local'? - cll
-# uups - Salva
-#: src/init.c:537
+#: src/init.c:524
 #, c-format
-msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
-msgstr "%s: %s: no se pudo convertir `%s' en una dirección IP.\n"
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr ""
+"%s: Atención: tanto el fichero wgetrc de usuario como el del sistema apuntan "
+"a `%s'.\n"
+
+#: src/init.c:677
+#, fuzzy, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: especificación inválida `%s'\n"
 
 # Te cambio la `o' antes de `off' por `u' - cll
 #
-#: src/init.c:570
-#, c-format
-msgid "%s: %s: Please specify on or off.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: por favor, especifique on u off.\n"
 
-# Te cambio la `o' antes de `off' por `u' - cll
-#: src/init.c:614
-#, c-format
-msgid "%s: %s: Please specify always, on, off, or never.\n"
-msgstr "%s: %s: por favor especifique siempre, on, off, o nunca.\n"
+#: src/init.c:739
+#, fuzzy, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: especificación inválida `%s'.\n"
 
-#: src/init.c:633 src/init.c:900 src/init.c:981
-#, c-format
-msgid "%s: %s: Invalid specification `%s'.\n"
+#: src/init.c:970 src/init.c:989
+#, fuzzy, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: tipo de progreso no válido `%s'.\n"
+
+#: src/init.c:1014
+#, fuzzy, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: especificación inválida `%s'.\n"
 
-#: src/init.c:789 src/init.c:811 src/init.c:833 src/init.c:859
-#, c-format
-msgid "%s: Invalid specification `%s'\n"
-msgstr "%s: especificación inválida `%s'\n"
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, fuzzy, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: especificación inválida `%s'.\n"
 
-#: src/init.c:949
+#: src/init.c:1105
+#, fuzzy, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: especificación inválida `%s'.\n"
+
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: tipo de progreso no válido `%s'.\n"
 
-#: src/log.c:641
+#: src/init.c:1230
+#, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+
+#: src/log.c:784
 #, c-format
-msgid "\n%s received, redirecting output to `%s'.\n"
-msgstr "\n%s recibido, redirigiendo la salida a `%s'.\n"
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+"\n"
+"%s recibido, redirigiendo la salida a `%s'.\n"
+
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "No se han recibido datos"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:648
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; deshabilitando el registro.\n"
 
-#: src/main.c:116
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Modo de empleo: %s [OPCIÓN]... [URL]...\n"
 
-#: src/main.c:124
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, un recuperador por red no interactivo.\n"
-
 # Duda: ¿por qué has insertado manualmente un `\n'? ¿es realmente
 # necesario? Probablemente sí, pero yo normalmente traduzco todo en la
 # misma línea, ... - cll
 # Hombre, así debería quedar bastante mejor (además creo que no es la única vez
 # que lo he hecho), espero que no de problemas. - Salva
 #
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:129
-msgid "\nMandatory arguments to long options are mandatory for short options too.\n\n"
+#: src/main.c:369
+#, fuzzy
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
 msgstr ""
 "\n"
-"Los argumentos obligatorios para las opciones largas son también obligatorios\n"
+"Los argumentos obligatorios para las opciones largas son también "
+"obligatorios\n"
 "para las opciones cortas.\n"
 "\n"
 
-# Primero, simplemente pongo `wget' con `W'. Es una pijada :) pero es
-# por hacerlo como en el mensaje original, ...rc' contendrá una
-# orden y, sin embargo, cualquier usuario imaginará que, al ser un
-# fichero con un nombre acabado en `rc', será un fichero de
-# recursos. Esto es, no sólo servirá para ejecutar varias órdenes al
-# inicio de Wget, sino que además, probablemente servirá para configurar
-# su ejecución. Por todo ello, ¿qué tal te suena `ejecuta el fichero de
-# órdenes .wgetrc'?. De momento, yo te lo pongo así, ... - cll
-# bien - Salva
-#
-# --execute ejecuta una orden `del estilo de las incluidas en .wgetrc'
-# (nl)
-#
-#: src/main.c:133
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Inicio:\n"
-"  -V,  --version           muestra la versión de wget y termina.\n"
-"  -h,  --help              muestra esta ayuda.\n"
-"  -b,  --background        pasa a segundo plano al iniciar.\n"
-"  -e,  --execute=ORDEN     ejecuta una orden como las de `.wgetrc'.\n"
-"\n"
 
-# tengo que dejar los porros! (pero que conste que se entiende)
-# me refiero por supuesto a la traducción de verbose y quiet - Salva,
-# déjala tal cual, ... solo que lo de ¡¡CALLADITO!! :) :) Me parece
-# exagerado, ... como bien dices, ¡¡¡seguro que estabas fumado!!! :) :)
-# (ni se entiende, ni leches, seguro que estabas literalmente fumado ;)
-#: src/main.c:140
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"Fichero de entrada y registro:\n"
-"  -o,  --output-file=FICHERO   registra los mensajes en FICHERO.\n"
-"  -a,  --append-output=FICHERO añade los mensajes a FICHERO.\n"
-"  -d,  --debug                 imprime la salida de depurado.\n"
-"  -q,  --quiet                 modo silencioso (no muestra ninguna salida).\n"
-"  -v,  --verbose               modo informativo (predeterminado).\n"
-"  -nv, --non-verbose           muestra el mínimo necesario de información.\n"
-"  -i,  --input-file=FICHERO    descarga las URLs que haya en FICHERO.\n"
-"  -F,  --force-html            trata el fichero de entrada como HTML.\n"
-"  -B,  --base=URL              añade URL delante de los enlaces relativos\n"
-"                               en el fichero -F -i.\n"
-"       --sslcertfile=FICHERO   certificado opcional del cliente.\n"
-"       --sslcertkey=FICHERO    llave opcional para este certificado.\n"
-"       --egd-file=FICHERO     fichero del socket EGD.\n"
-"\n"
 
-# `pone' me parece demasiado coloquial. Prefiero la traducción textual
-# `establece''?. Te lo dejo como `recuperando'.ue me parece importante, porque harás seguro que la
-# salida no sea cómodamente legible para el usuario. Te la desdoblo en
-# dos líneas.
-#: src/main.c:155
-msgid ""
-"Download:\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"Descarga:\n"
-"       --bind-address=DIRECCIÓN   realiza un bind a la DIRECCIÓN (máquina o IP)\n"
-"                                  en la máquina local.\n"
-"  -t,  --tries=NÚMERO             establece en NÚMERO el número de reintentos\n"
-"                                  (0 no pone límite).\n"
-"  -O,  --output-document=FICHERO  escribe los documentos en FICHERO.\n"
-"  -nc, --no-clobber               no sobreescribir ficheros existentes. o \n"
-"                                  utilizar sufijos .#\n"
-"  -c,  --continue                 continuar recuperando un fichero existente.\n"
-"       --dot-style=ESTILO         establece el estilo de la pantalla de\n"
-"                                  recuperación.\n"
-"  -N,  --timestamping             no recupera ficheros más viejos que los\n"
-"                                  locales.\n"
-"  -S,  --server-response          imprime la respuesta del servidor.\n"
-"       --spider                   no recupera nada.\n"
-"  -T,  --timeout=SEGUNDOS         establece el tiempo de espera de lectura\n"
-"                                  en SEGUNDOS.\n"
-"  -w,  --wait=SEGUNDOS            espera SEGUNDOS entre recuperaciones.\n"
-"       --waitretry=SEGUNDOS       espera 1...SEGUNDOS entre reintentos.\n"
-"       --random-wait            espera de 0 a 2*WAIT segundos entre reintentos.\n"
-"  -Y,  --proxy=on/off             habilita/deshabilita el uso de proxies.\n"
-"  -Q,  --quota=NÚMERO             establece la cuota de recuperación en NÚMERO.\n"
-"       --limit-rate=TASA        limita la tasa de descarga a TASA.\n"
-"\n"
 
-# Te he cambiado lo de `host' por el término apropiado (que tu ya venías
-# utilizando en los mensajes anteriores): `anfitrión'. Además, habías
-# puesto `/...' al final de la misma línea, cuando no es ahí donde tenía
-# que ir. - cll
-#
-# Ojo con --no-host-directories, los directorios no se crean
-# "en el anfitrión", sino que se crean directorios cuyo nombre
-# coincide con el anfitrión. Ya lo he cambiado. sv
-#
-#: src/main.c:174
-msgid ""
-"Directories:\n"
-"  -nd  --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"Directorios:\n"
-"  -nd  --no-directories            no crea directorios.\n"
-"  -x   --force-directories         fuerza la creación de directorios.\n"
-"  -nH, --no-host-directories       no crea directorios en el anfitrión\n"
-"  -P,  --directory-prefix=PREFIJO  guarda ficheros en PREFIJO/...\n"
-"       --cut-dirs=NÚMERO           descarta NÚMERO componentes del directorio\n"
-"                                   remoto.\n"
-"\n"
 
-# Como en otros mensajes, sustituyo `poner' por `establecer' u otro
-# sinónimo parecido.es español, ... sino spanglish. Este es, precisamente,
-# el tipo de términos que debieran evitarse en la medida de lo posible.
-#: src/main.c:182
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"\n"
+#: src/main.c:411
+msgid "Download:\n"
 msgstr ""
-"Opciones de HTTP:\n"
-"       --http-user=USUARIO   establece que el usuario de http es USUARIO.\n"
-"       --http-passwd=CLAVE   utiliza CLAVE como contraseña de http.\n"
-"  -C,  --cache=on/off        (des)habilita la caché del servidor de datos.\n"
-"                             (normalmente habilitada).\n"
-"  -E,  --html-extension      guarda todos los ficheros de texto/html con la\n"
-"                             extensión .html.\n"
-"       --ignore-length       ignora el campo 'Content-Length' de la cabecera.\n"
-"       --header=TEXTO        inserta el TEXTO entre las cabeceras.\n"
-"       --proxy-user=USUARIO  establece que el usuario del proxy es USUARIO.\n"
-"       --proxy-passwd=CLAVE  utiliza CLAVE como contraseña del proxy.\n"
-"       --referer=URL         incluir cabecera 'Referer: URL' en petición HTTP.\n"
-"  -s,  --save-headers        guarda las cabeceras de HTTP en un fichero.\n"
-"  -U,  --user-agent=AGENTE   identificarse como AGENTE en vez de Wget/VERSIÓN.\n"
-"       --no-http-keep-alive  deshabilita las conexiones persistentes de HTTP.\n"
-"       --cookies=off         no utiliza cookies.\n"
-"       --load-cookies=FICH.  carga las cookies desde FICH. antes de la sesión.\n"
-"       --save-cookies=FICH.  guarda las cookies en FICH. tras la sesión.\n"
-"\n"
 
-# `turn on/off' significa `encender' o `apagar', por supuesto, ..., pero
-# en estos casos resulta mucho más apropiado `habilitar', `deshabilitar'
-# o, si quieres, `activar' y `desactivar' - cll
-#: src/main.c:200
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Directorio  "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
-"Opciones de FTP:\n"
-"  -nr, --dont-remove-listing   no elimina los ficheros '.listing'.\n"
-"  -g,  --glob=on/off           habilita/deshabilita el uso de comodines en\n"
-"                               ficheros.\n"
-"       --passive-ftp           usa el método de trasferencia \"pasivo\".\n"
-"       --retr-symlinks         al descender por los directorios, recupera los\n"
-"                               ficheros a los que apunta un enlace (no los\n"
-"                               directorios).\n"
-"\n"
 
-#: src/main.c:207
+#: src/main.c:618
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive web-suck -- use with care!\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-"       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
-"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"\n"
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr ""
-"Recuperación recursiva:\n"
-"  -r,  --recursive            succionado de web recursivo, ¡úselo con cuidado!\n"
-"  -l,  --level=NÚMERO         profundidad máxima de recursión (0=ilimitada)\n"
-"       --delete-after         borra los ficheros locales una vez descargados.\n"
-"  -k,  --convert-links        convierte los enlaces no relativos en relativos.\n"
-"  -K,  --backup-converted     antes de transformar el fichero X, hace una\n"
-"                              copia como X.orig.\n"
-"  -m,  --mirror               atajo equivalente a -r -N -l inf -nr.\n"
-"  -p,  --page-requisites      descarga todas las imágenes, etc. necesarias\n"
-"                              para mostrar la página HTML.\n"
-"\n"
 
-# En la opción --exclude-domains, date cuenta de que son los dominios
-# los que están separados por comas, no la lista, ... ;) sin
-# traducir. Te pongo `anfitriones' donde tenías `hosts'
-#: src/main.c:217
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr ""
-"Aceptar/rechazar recursivo:\n"
-"  -A,  --accept=LISTA                lista, separada por comas, de extensiones\n"
-"                                     aceptadas.\n"
-"  -R,  --reject=LISTA                lista, separada por comas, de extensiones\n"
-"                                     rechazadas.\n"
-"  -D,  --domains=LISTA               lista, separada por comas, de dominios\n"
-"                                     aceptados.\n"
-"       --exclude-domains=LISTA       lista de dominios rechazados, separados\n"
-"                                     por comas.\n"
-"       --follow-ftp                  sigue enlaces a FTP desde documentos HTML.\n"
-"       --follow-tags=LISTA           lista de etiquetas HTML a las que se sigue.\n"
-"  -G,  --ignore-tags=LISTA           lista de etiquetas HTML que se ignorarán.\n"
-"  -H,  --span-hosts                  ir a anfitriones distintos en la recursión.\n"
-"  -L,  --relative                    sigue sólo enlaces relativos.\n"
-"  -I,  --include-directories=LISTA   lista de directorios permitidos.\n"
-"  -X,  --exclude-directories=LISTA   lista de directorios excluidos.\n"
-"  -np, --no-parent                   no asciende al directorio padre.\n"
-"\n"
 
-#: src/main.c:232
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Envíe información sobre errores y sugerencias a <bug-wget@gnu.org>.\n"
 
-#: src/main.c:420
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: el soporte para la depuración no ha sido compilado.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, un recuperador por red no interactivo.\n"
 
-#: src/main.c:472
-msgid "Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr ""
+"Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, "
+"Inc.\n"
 
-# Pongo el texto "estándar", extraido de recode, por ejemplo. sv
-#: src/main.c:474
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Este programa se distribuye con la esperanza de que sea útil,\n"
-"pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de\n"
-"COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Véase la\n"
-"Licencia Pública General de GNU para obtener más detalles.\n"
 
-#: src/main.c:479
-msgid "\nOriginally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"
-msgstr "\nEscrito originalmente por Hrvoje Niksic <hniksic@arsdigita.com>.\n"
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+#, fuzzy
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Escrito originalmente por Hrvoje Niksic <hniksic@arsdigita.com>.\n"
 
-#: src/main.c:578
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
-msgid "%s: %s: invalid command\n"
-msgstr "%s: %s: orden no válida\n"
+msgid "Try `%s --help' for more options.\n"
+msgstr "Ejecute `%s --help' para obtener la lista de opciones.\n"
 
-#: src/main.c:631
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: opción ilegal -- `-n%c'\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:634 src/main.c:676 src/main.c:722
-#, c-format
-msgid "Try `%s --help' for more options.\n"
-msgstr "Ejecute `%s --help' para obtener la lista de opciones.\n"
-
 # Como otras veces, te propongo que sustituyas `sacar' por `ofrecer' -
 # cll
 #
-#: src/main.c:702
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "No se puede ofrecer información y estar silencioso al mismo tiempo.\n"
 
-#: src/main.c:708
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "No se pueden usar marcas de tiempo y no sobreescribir ficheros al mismo tiempo.\n"
+msgstr ""
+"No se pueden usar marcas de tiempo y no sobreescribir ficheros al mismo "
+"tiempo.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:717
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: falta la URL\n"
 
-#: src/main.c:834
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "No se han encontrado URLs en %s.\n"
@@ -1211,12 +1644,11 @@ msgstr "No se han encontrado URLs en %s.\n"
 # mensajes de ayuda que hay más arriba, y para ser coherente, con lo que
 # allí te sugiero, te propongo ahora también `descargados' - cll
 #
-#: src/main.c:843
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "ACABADO --%s--\n"
@@ -1225,37 +1657,35 @@ msgstr ""
 # ¡Efectivamente! Ahora lo has puesto tu, ...  `download'=`descarga' -
 # cll
 #
-#: src/main.c:851
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "¡Cuota de descarga (%s bytes) EXCEDIDA!\n"
 
 # Lo mismo que antes, ... `background' es `segundo plano' - cll
 #
-#: src/mswindows.c:120
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Continuando en segundo plano.\n"
 
-#: src/mswindows.c:122 src/utils.c:457
+# Lo mismo que antes, ... `background' es `segundo plano' - cll
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Continuando en segundo plano, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "La salida será escrita en `%s'.\n"
 
-# Eso de `comenzando ...' ha sido demasiado literal, ... ;) ¿Qué te
-# parece `iniciando'? Es lo mismo pero es un término más común en
-# informática, ... - cll
-#
-#: src/mswindows.c:202
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Iniciando WinHelp %s\n"
-
 # he imitado a Iñaki Gonzalez en el error.es.po, donde no traduce socket.
 #
 # Si, este es uno de esos casos que se dan por imposibles ya, ... Todo
 # el mundo utilizamos `socket' "asinque" nada, ... - cll
 #
-#: src/mswindows.c:229 src/mswindows.c:236
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: No se ha podido encontrar un controlador de `socket' utilizable\n"
@@ -1263,10 +1693,12 @@ msgstr "%s: No se ha podido encontrar un controlador de `socket' utilizable\n"
 # Simplemente, te cambio un par de palabras de sitio, a ver si así te
 # gusta más, ... - cll
 #
-#: src/netrc.c:365
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: atención: no aparece ningún nombre de máquina antes del símbolo \"%s\"\n"
+msgstr ""
+"%s: %s:%d: atención: no aparece ningún nombre de máquina antes del símbolo "
+"\"%s\"\n"
 
 # la traducción de token es de diccionario, pero me parece correcta.
 # nota jjrs: Aquí se usa en el contexto de un analizador léxico (parser)
@@ -1275,12 +1707,12 @@ msgstr "%s: %s:%d: atenci
 # traducido en informática como `símbolo'. La traducción, por lo tanto,
 # es correcta - cll
 #
-#: src/netrc.c:396
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: símbolo desconocido \"%s\"\n"
 
-#: src/netrc.c:460
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Modo de empleo: %s NETRC [NOMBREDEMÁQUINA]\n"
@@ -1289,109 +1721,660 @@ msgstr "Modo de empleo: %s NETRC [NOMBREDEM
 # nota jjrs: stat es una función de C que obtiene datos de un archivo
 #   y en esta parte solamente lo usa para checar si existe el archivo
 #   pero el wget no utiliza esta función.
-#: src/netrc.c:470
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: no se pudo ejecutar `stat' sobre %s: %s\n"
 
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "No se pudo alimentar el PRNG de OpenSSL; deshabilitando SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
 # Como en otros mensajes anteriores te recomiendo que emplees el término
 # `omitir' en vez de `saltar' para `skip' - clldigits in the skipped amount in K.
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:224
-#, c-format
-msgid "\n%*s[ skipping %dK ]"
-msgstr "\n%*s[ omitiendo %dK ]"
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ omitiendo %dK ]"
 
-#: src/progress.c:391
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "El estilo de la pantalla '%s' no es válido; se utilizará el predeterminado.\n"
+msgstr ""
+"El estilo de la pantalla '%s' no es válido; se utilizará el predeterminado.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
 
-#: src/recur.c:350
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Eliminando %s puesto que debería ser rechazado.\n"
 
-#: src/recur.c:935
-#, c-format
-msgid "Converted %d files in %.2f seconds.\n"
-msgstr "%d ficheros convertidos en %.2f segundos.\n"
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "No se han podido convertir los enlaces en %s: %s\n"
 
-#: src/res.c:540
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Cargando robots.txt; por favor ignore los errores.\n"
 
-# `host' es traducido como `anfitrión'. Debes evitar los términos en
-# inglés tanto como puedas, ... - cll
-#
-#: src/retr.c:363
-msgid "Could not find proxy host.\n"
-msgstr "No se pudo encontrar el anfitrión de proxy.\n"
-
-#: src/retr.c:375
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Error parseando la URL del proxy `%s': %s\n"
 
-#: src/retr.c:384
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Error en la URL del proxy %s: debe ser HTTP.\n"
 
-#: src/retr.c:476
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "Sobrepasadas las %d redirecciones.\n"
 
-#: src/retr.c:491
-#, c-format
-msgid "%s: Redirection cycle detected.\n"
-msgstr "%s: redirección cíclica detectada.\n"
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Abandonando.\n"
+"\n"
 
-#: src/retr.c:608
-msgid "Giving up.\n\n"
-msgstr "Abandonando.\n\n"
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Reintentando.\n"
+"\n"
 
-#: src/retr.c:608
-msgid "Retrying.\n\n"
-msgstr "Reintentando.\n\n"
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
 
-#: src/url.c:1875
+#: src/spider.c:81
 #, c-format
-msgid "Converting %s... "
-msgstr "Convirtiendo %s... "
-
-#: src/url.c:1888
-msgid "nothing to do.\n"
-msgstr "no hay nada que hacer.\n"
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
 
-#: src/url.c:1896 src/url.c:1920
+#: src/spider.c:91
 #, c-format
-msgid "Cannot convert links in %s: %s\n"
-msgstr "No se han podido convertir los enlaces en %s: %s\n"
+msgid "%s\n"
+msgstr ""
 
-#: src/url.c:1911
-#, c-format
-msgid "Unable to delete `%s': %s\n"
-msgstr "No se ha borrar `%s': %s\n"
+#: src/url.c:620
+#, fuzzy
+msgid "No error"
+msgstr "Error desconocido"
 
-#: src/url.c:2117
-#, c-format
-msgid "Cannot back up %s as %s: %s\n"
-msgstr "No se pudo hacer una copia de seguridad de %s como %s: %s\n"
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr ""
 
-#: src/utils.c:90
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: no hay suficiente memoria.\n"
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr ""
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr ""
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr ""
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr ""
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr ""
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr ""
 
 # Lo mismo que antes, ... `background' es `segundo plano' - cll
+#: src/utils.c:328
+#, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Continuando en segundo plano, pid %d.\n"
 
-#: src/utils.c:499
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "No se ha podido deshacer el enlace simbólico `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Error al asignar cookie, en el campo `%s'"
+
+#~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
+#~ msgstr "Error de sintaxis al asignar cookie, en el carácter `%c'.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "El comando REST no funcionó, no se truncará `%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s para acabar]"
+
+# ¡Con la Iglesia y el Ejército hemos ido a topar! :)
+#
+# Lo de `host' puede dar lugar a una auténtica discusión, ... Te ruego
+# por favor que, si no estás de acuerdo conmigo, te dirijas a la lista
+# para discutirlo allí públicamente, ... Es importante que todos los
+# miembros de Spanish GNU Translation Team actuemos de la misma manera
+# y, en este caso, el convenio es emplear el término `anfitrión' para
+# `host'. De hecho, yo lo he hecho en la traducción del CLisp y empieza
+# a ser habitual verlo en el software comercial traducido al español, y
+# si no, echa un ojo a los juegos de LucasArts, ... - cll
+#
+#~ msgid "Host not found"
+#~ msgstr "No se ha encontrado el anfitrión"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "No se pudo configurar un contexto SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "No se pudo descargar los certificados desde %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Intentándolo sin el certificado especificado\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "No se pudo obtener la clave certificadora desde %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Fin de fichero mientras se analizaban las cabeceras.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "No se pudo continuar la descarga de este fichero, lo que choca con `-c'.\n"
+#~ "Se rechaza truncar el fichero existente `%s'.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s para acabar)"
+
+# Has traducido `retrieve' como `recuperar' todo el rato, ... ¿por qué
+# lo cambias ahora?. Te lo pongo de nuevo como `recuperar' - cll
+# jjr no solo revisó, sino que además tradujo bastante cacho del po,
+# seguramente se debe a eso - Salva
+#
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "El fichero '%s' ya existe, no se recuperará.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' guardado [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Conexión cerrada en el byte %ld/%ld. "
+
+# ¿No debiera ser la `dirección IP local'? - cll
+# uups - Salva
+#~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
+#~ msgstr "%s: %s: no se pudo convertir `%s' en una dirección IP.\n"
+
+# Te cambio la `o' antes de `off' por `u' - cll
+#~ msgid "%s: %s: Please specify always, on, off, or never.\n"
+#~ msgstr "%s: %s: por favor especifique siempre, on, off, o nunca.\n"
+
+# Primero, simplemente pongo `wget' con `W'. Es una pijada :) pero es
+# por hacerlo como en el mensaje original, ...rc' contendrá una
+# orden y, sin embargo, cualquier usuario imaginará que, al ser un
+# fichero con un nombre acabado en `rc', será un fichero de
+# recursos. Esto es, no sólo servirá para ejecutar varias órdenes al
+# inicio de Wget, sino que además, probablemente servirá para configurar
+# su ejecución. Por todo ello, ¿qué tal te suena `ejecuta el fichero de
+# órdenes .wgetrc'?. De momento, yo te lo pongo así, ... - cll
+# bien - Salva
+#
+# --execute ejecuta una orden `del estilo de las incluidas en .wgetrc'
+# (nl)
+#
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Inicio:\n"
+#~ "  -V,  --version           muestra la versión de wget y termina.\n"
+#~ "  -h,  --help              muestra esta ayuda.\n"
+#~ "  -b,  --background        pasa a segundo plano al iniciar.\n"
+#~ "  -e,  --execute=ORDEN     ejecuta una orden como las de `.wgetrc'.\n"
+#~ "\n"
+
+# tengo que dejar los porros! (pero que conste que se entiende)
+# me refiero por supuesto a la traducción de verbose y quiet - Salva,
+# déjala tal cual, ... solo que lo de ¡¡CALLADITO!! :) :) Me parece
+# exagerado, ... como bien dices, ¡¡¡seguro que estabas fumado!!! :) :)
+# (ni se entiende, ni leches, seguro que estabas literalmente fumado ;)
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Fichero de entrada y registro:\n"
+#~ "  -o,  --output-file=FICHERO   registra los mensajes en FICHERO.\n"
+#~ "  -a,  --append-output=FICHERO añade los mensajes a FICHERO.\n"
+#~ "  -d,  --debug                 imprime la salida de depurado.\n"
+#~ "  -q,  --quiet                 modo silencioso (no muestra ninguna "
+#~ "salida).\n"
+#~ "  -v,  --verbose               modo informativo (predeterminado).\n"
+#~ "  -nv, --non-verbose           muestra el mínimo necesario de "
+#~ "información.\n"
+#~ "  -i,  --input-file=FICHERO    descarga las URLs que haya en FICHERO.\n"
+#~ "  -F,  --force-html            trata el fichero de entrada como HTML.\n"
+#~ "  -B,  --base=URL              añade URL delante de los enlaces "
+#~ "relativos\n"
+#~ "                               en el fichero -F -i.\n"
+#~ "       --sslcertfile=FICHERO   certificado opcional del cliente.\n"
+#~ "       --sslcertkey=FICHERO    llave opcional para este certificado.\n"
+#~ "       --egd-file=FICHERO     fichero del socket EGD.\n"
+#~ "\n"
+
+# `pone' me parece demasiado coloquial. Prefiero la traducción textual
+# `establece''?. Te lo dejo como `recuperando'.ue me parece importante, porque harás seguro que la
+# salida no sea cómodamente legible para el usuario. Te la desdoblo en
+# dos líneas.
+#~ msgid ""
+#~ "Download:\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Descarga:\n"
+#~ "       --bind-address=DIRECCIÓN   realiza un bind a la DIRECCIÓN (máquina "
+#~ "o IP)\n"
+#~ "                                  en la máquina local.\n"
+#~ "  -t,  --tries=NÚMERO             establece en NÚMERO el número de "
+#~ "reintentos\n"
+#~ "                                  (0 no pone límite).\n"
+#~ "  -O,  --output-document=FICHERO  escribe los documentos en FICHERO.\n"
+#~ "  -nc, --no-clobber               no sobreescribir ficheros existentes. "
+#~ "o \n"
+#~ "                                  utilizar sufijos .#\n"
+#~ "  -c,  --continue                 continuar recuperando un fichero "
+#~ "existente.\n"
+#~ "       --dot-style=ESTILO         establece el estilo de la pantalla de\n"
+#~ "                                  recuperación.\n"
+#~ "  -N,  --timestamping             no recupera ficheros más viejos que "
+#~ "los\n"
+#~ "                                  locales.\n"
+#~ "  -S,  --server-response          imprime la respuesta del servidor.\n"
+#~ "       --spider                   no recupera nada.\n"
+#~ "  -T,  --timeout=SEGUNDOS         establece el tiempo de espera de "
+#~ "lectura\n"
+#~ "                                  en SEGUNDOS.\n"
+#~ "  -w,  --wait=SEGUNDOS            espera SEGUNDOS entre recuperaciones.\n"
+#~ "       --waitretry=SEGUNDOS       espera 1...SEGUNDOS entre reintentos.\n"
+#~ "       --random-wait            espera de 0 a 2*WAIT segundos entre "
+#~ "reintentos.\n"
+#~ "  -Y,  --proxy=on/off             habilita/deshabilita el uso de "
+#~ "proxies.\n"
+#~ "  -Q,  --quota=NÚMERO             establece la cuota de recuperación en "
+#~ "NÚMERO.\n"
+#~ "       --limit-rate=TASA        limita la tasa de descarga a TASA.\n"
+#~ "\n"
+
+# Te he cambiado lo de `host' por el término apropiado (que tu ya venías
+# utilizando en los mensajes anteriores): `anfitrión'. Además, habías
+# puesto `/...' al final de la misma línea, cuando no es ahí donde tenía
+# que ir. - cll
+#
+# Ojo con --no-host-directories, los directorios no se crean
+# "en el anfitrión", sino que se crean directorios cuyo nombre
+# coincide con el anfitrión. Ya lo he cambiado. sv
+#
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd  --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Directorios:\n"
+#~ "  -nd  --no-directories            no crea directorios.\n"
+#~ "  -x   --force-directories         fuerza la creación de directorios.\n"
+#~ "  -nH, --no-host-directories       no crea directorios en el anfitrión\n"
+#~ "  -P,  --directory-prefix=PREFIJO  guarda ficheros en PREFIJO/...\n"
+#~ "       --cut-dirs=NÚMERO           descarta NÚMERO componentes del "
+#~ "directorio\n"
+#~ "                                   remoto.\n"
+#~ "\n"
+
+# Como en otros mensajes, sustituyo `poner' por `establecer' u otro
+# sinónimo parecido.es español, ... sino spanglish. Este es, precisamente,
+# el tipo de términos que debieran evitarse en la medida de lo posible.
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opciones de HTTP:\n"
+#~ "       --http-user=USUARIO   establece que el usuario de http es "
+#~ "USUARIO.\n"
+#~ "       --http-passwd=CLAVE   utiliza CLAVE como contraseña de http.\n"
+#~ "  -C,  --cache=on/off        (des)habilita la caché del servidor de "
+#~ "datos.\n"
+#~ "                             (normalmente habilitada).\n"
+#~ "  -E,  --html-extension      guarda todos los ficheros de texto/html con "
+#~ "la\n"
+#~ "                             extensión .html.\n"
+#~ "       --ignore-length       ignora el campo 'Content-Length' de la "
+#~ "cabecera.\n"
+#~ "       --header=TEXTO        inserta el TEXTO entre las cabeceras.\n"
+#~ "       --proxy-user=USUARIO  establece que el usuario del proxy es "
+#~ "USUARIO.\n"
+#~ "       --proxy-passwd=CLAVE  utiliza CLAVE como contraseña del proxy.\n"
+#~ "       --referer=URL         incluir cabecera 'Referer: URL' en petición "
+#~ "HTTP.\n"
+#~ "  -s,  --save-headers        guarda las cabeceras de HTTP en un fichero.\n"
+#~ "  -U,  --user-agent=AGENTE   identificarse como AGENTE en vez de Wget/"
+#~ "VERSIÓN.\n"
+#~ "       --no-http-keep-alive  deshabilita las conexiones persistentes de "
+#~ "HTTP.\n"
+#~ "       --cookies=off         no utiliza cookies.\n"
+#~ "       --load-cookies=FICH.  carga las cookies desde FICH. antes de la "
+#~ "sesión.\n"
+#~ "       --save-cookies=FICH.  guarda las cookies en FICH. tras la sesión.\n"
+#~ "\n"
+
+# `turn on/off' significa `encender' o `apagar', por supuesto, ..., pero
+# en estos casos resulta mucho más apropiado `habilitar', `deshabilitar'
+# o, si quieres, `activar' y `desactivar' - cll
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opciones de FTP:\n"
+#~ "  -nr, --dont-remove-listing   no elimina los ficheros '.listing'.\n"
+#~ "  -g,  --glob=on/off           habilita/deshabilita el uso de comodines "
+#~ "en\n"
+#~ "                               ficheros.\n"
+#~ "       --passive-ftp           usa el método de trasferencia \"pasivo\".\n"
+#~ "       --retr-symlinks         al descender por los directorios, recupera "
+#~ "los\n"
+#~ "                               ficheros a los que apunta un enlace (no "
+#~ "los\n"
+#~ "                               directorios).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive web-suck -- use with care!\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Recuperación recursiva:\n"
+#~ "  -r,  --recursive            succionado de web recursivo, ¡úselo con "
+#~ "cuidado!\n"
+#~ "  -l,  --level=NÚMERO         profundidad máxima de recursión "
+#~ "(0=ilimitada)\n"
+#~ "       --delete-after         borra los ficheros locales una vez "
+#~ "descargados.\n"
+#~ "  -k,  --convert-links        convierte los enlaces no relativos en "
+#~ "relativos.\n"
+#~ "  -K,  --backup-converted     antes de transformar el fichero X, hace "
+#~ "una\n"
+#~ "                              copia como X.orig.\n"
+#~ "  -m,  --mirror               atajo equivalente a -r -N -l inf -nr.\n"
+#~ "  -p,  --page-requisites      descarga todas las imágenes, etc. "
+#~ "necesarias\n"
+#~ "                              para mostrar la página HTML.\n"
+#~ "\n"
+
+# En la opción --exclude-domains, date cuenta de que son los dominios
+# los que están separados por comas, no la lista, ... ;) sin
+# traducir. Te pongo `anfitriones' donde tenías `hosts'
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Aceptar/rechazar recursivo:\n"
+#~ "  -A,  --accept=LISTA                lista, separada por comas, de "
+#~ "extensiones\n"
+#~ "                                     aceptadas.\n"
+#~ "  -R,  --reject=LISTA                lista, separada por comas, de "
+#~ "extensiones\n"
+#~ "                                     rechazadas.\n"
+#~ "  -D,  --domains=LISTA               lista, separada por comas, de "
+#~ "dominios\n"
+#~ "                                     aceptados.\n"
+#~ "       --exclude-domains=LISTA       lista de dominios rechazados, "
+#~ "separados\n"
+#~ "                                     por comas.\n"
+#~ "       --follow-ftp                  sigue enlaces a FTP desde documentos "
+#~ "HTML.\n"
+#~ "       --follow-tags=LISTA           lista de etiquetas HTML a las que se "
+#~ "sigue.\n"
+#~ "  -G,  --ignore-tags=LISTA           lista de etiquetas HTML que se "
+#~ "ignorarán.\n"
+#~ "  -H,  --span-hosts                  ir a anfitriones distintos en la "
+#~ "recursión.\n"
+#~ "  -L,  --relative                    sigue sólo enlaces relativos.\n"
+#~ "  -I,  --include-directories=LISTA   lista de directorios permitidos.\n"
+#~ "  -X,  --exclude-directories=LISTA   lista de directorios excluidos.\n"
+#~ "  -np, --no-parent                   no asciende al directorio padre.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: el soporte para la depuración no ha sido compilado.\n"
+
+# Pongo el texto "estándar", extraido de recode, por ejemplo. sv
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Este programa se distribuye con la esperanza de que sea útil,\n"
+#~ "pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de\n"
+#~ "COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Véase la\n"
+#~ "Licencia Pública General de GNU para obtener más detalles.\n"
+
+#~ msgid "%s: %s: invalid command\n"
+#~ msgstr "%s: %s: orden no válida\n"
+
+# Eso de `comenzando ...' ha sido demasiado literal, ... ;) ¿Qué te
+# parece `iniciando'? Es lo mismo pero es un término más común en
+# informática, ... - cll
+#
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Iniciando WinHelp %s\n"
+
+# `host' es traducido como `anfitrión'. Debes evitar los términos en
+# inglés tanto como puedas, ... - cll
+#
+#~ msgid "Could not find proxy host.\n"
+#~ msgstr "No se pudo encontrar el anfitrión de proxy.\n"
+
+#~ msgid "%s: Redirection cycle detected.\n"
+#~ msgstr "%s: redirección cíclica detectada.\n"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: no hay suficiente memoria.\n"
index ba57bb3ec9034c72b7342d67101d107a77c9b581..117fc1e0e747193351ea1c118acb44267d21cfc9 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2006-07-24 16:44+0300\n"
 "Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -14,206 +14,260 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-15\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: võti `%s' on arusaamatu\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: võti `--%s' ei luba argumenti\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: võti `%c%s' ei luba argumenti\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: võti `%s' nquab argumenti\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: tundmatu võti `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: tundmatu võti `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: illegaalne võti -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: vigane võti -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: võti nõuab argumenti -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: võti `-W %s' on segane\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: võti `-W %s' ei luba argumenti\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr "%s: bind aadressi `%s' ei õnnestu lahendada; blokeerin bindi.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Loon ühendust serveriga %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Loon ühendust serveriga %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "ühendus loodud.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "ebaõnnestus: %s.\n"
 
-#: src/convert.c:176
-#, c-format
-msgid "Converted %d files in %.*f seconds.\n"
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: bind aadressi `%s' ei õnnestu lahendada; blokeerin bindi.\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Teisendatud %d faili %.*f sekundiga.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Teisendan %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "midagi ei ole teha.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Ei suuda teisendada linke %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Ei õnnestu kustutada `%s': %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Ei suuda luua %s varukoopiat %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Set-Cookie viga, väli `%s'"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Set-Cookie süntaksi viga: %s kohal %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "Präänik serverist %s üritas seada doomeniks %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Ei suuda teisendada linke `%s': %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Ei saa kirjutada faili `%s': %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Viga `%s' sulgemisel: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Mittetoetatud listingu tüüp, proovin Unix listingu parserit.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s indeks serveris %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "tundmatu aeg       "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Fail        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Kataloog    "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Viide       "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Pole kindel "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s baiti)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Pikkus: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) veel"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s veel"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (autoriseerimata)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Meldin serverisse kasutajana %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Vigane serveri vastus, sulgen juhtühenduse.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Vigane serveri tervitus.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Kirjutamine ebaõnnestus, sulgen juhtühenduse.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Server ei luba meldida.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Vigane meldimine.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Melditud!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Viga serveris, ei suuda tuvastada süsteemi tüüpi.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "tehtud.  "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "tehtud.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tundmatu tüüp `%c', sulgen juhtühenduse.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "tehtud.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD pole vajalik.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -222,34 +276,33 @@ msgstr ""
 "Kataloogi `%s' pole.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD ei ole kohustuslik.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Ei saa algatada PASV ülekannet.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Ei suuda analüüsida PASV vastust.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "ei õnnestu luua ühendust serveriga %s port %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bind operatsiooni viga (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Vale PORT.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -257,7 +310,7 @@ msgstr ""
 "\n"
 "REST ebaõnnestus, alustan algusest.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -266,7 +319,7 @@ msgstr ""
 "Faili `%s' pole.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -275,44 +328,40 @@ msgstr ""
 "Faili või kataloogi `%s' pole.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s ilmus.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, sulgen juhtühenduse.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - andme ühendus: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Juhtühendus suletud.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Andmete ülekanne katkestatud.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "Fail `%s' on juba olemas, ei tõmba.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(katse:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -321,35 +370,32 @@ msgstr ""
 "%s (%s) - `%s' salvestatud [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Kustutan %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Kasutan `%s' ajutise listingu failina.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Kustutatud `%s'.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Rekursiooni sügavus %d ületab maksimum sügavust %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Kauge fail ei ole uuem, kui lokaalne fail `%s' -- ei lae.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -358,8 +404,7 @@ msgstr ""
 "Kauge fail on uuem kui lokaalne fail `%s' -- laen uuesti.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -368,11 +413,11 @@ msgstr ""
 "Suurused ei klapi (lokaalne %s) -- laen uuesti.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Vigane nimeviide, jätan vahele.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -381,242 +426,187 @@ msgstr ""
 "Korrektne nimeviide on juba olemas %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Loon nimeviite %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Ei toeta nimeviiteid, jätan `%s' vahele.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Jätan kataloogi `%s' vahele.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tundmatu faili tüüp.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: vigane ajatempel.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Ei tõmba katalooge, kuna sügavus on %d (maks. %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Jätame `%s' vahele, ta on välistatud või pole kaasatud.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Keelame `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Ei saa kirjutada faili `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Jokker `%s' ei anna midagi.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Kirjutasin HTML-iseeritud indeksi faili `%s' [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Kirjutasin HTML-iseeritud indeksi faili `%s'.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: võti `%s' on arusaamatu\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: võti `--%s' ei luba argumenti\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: võti `%c%s' ei luba argumenti\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: võti `%s' nquab argumenti\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: tundmatu võti `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: tundmatu võti `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: illegaalne võti -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: vigane võti -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: võti nõuab argumenti -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: võti `-W %s' on segane\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: võti `-W %s' ei luba argumenti\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Tundmatu host"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Nime lahendamisel tekkis ajutine viga"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Tundmatu viga"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Lahendan %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "ebaõnnestus: Masinal pole IPv4/IPv6 aadresse.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "ebaõnnestus: aegus.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Ei õnnestu lahendada poolikut viidet %s.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: Vigane URL %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "HTTP päringu kirjutamine ebaõnnestus: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Päiseid pole, eeldan HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "Kuna tekkis vigu, siis blokeerin SSLi.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "POST andmete fail `%s' puudub: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Kasutan ühendust serveriga %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Proksi vastuse lugemine ebaõnnestus: %s.\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Proksi tunneldamine ebaõnnestus: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s päring saadetud, ootan vastust... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Andmeid ei saanudki.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Päiste lugemise viga (%s).\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Fail `%s' on juba olemas, ei tõmba.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Tundmatu autentimis skeem.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Autoriseerimine ebaõnnestus.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Katkine staatuse rida"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(kirjeldus puudub)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Asukoht: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "määramata"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [järgnev]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -626,61 +616,59 @@ msgstr ""
 "    Fail on juba täielikult kohal; rohkem ei saa midagi teha.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Pikkus: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignoreerin"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Jätan kataloogi `%s' vahele.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Hoiatus: HTTP ei toeta jokkereid.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
 msgstr ""
-"Fail `%s' on juba olemas, ei tõmba.\n"
-"\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Ei saa kirjutada faili `%s' (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "SSL ühenduse loomine ei õnnestu.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "VIGA: Ümbersuunamine (%d) ilma asukohata.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s VIGA %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Last-modified päist pole -- ei kasuta ajatempleid.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Last-modified päis on vigane -- ignoreerin ajatemplit.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -689,16 +677,40 @@ msgstr ""
 "Fail serveril ei ole uuem lokaalsest failist `%s' -- ei lae.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Suurused ei klapi (lokaalne %s) -- laen uuesti.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Kauge fail on uuem, laen alla.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Kauge fail on uuem kui lokaalne fail `%s' -- laen uuesti.\n"
+"\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Kauge fail ei ole uuem, kui lokaalne fail `%s' -- ei lae.\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Kauge fail ei ole uuem, kui lokaalne fail `%s' -- ei lae.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -707,111 +719,99 @@ msgstr ""
 "%s (%s) - `%s' salvestatud [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Ühendus suletud baidil %s. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Ühendus suletud baidil %s/%s. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Lugemise viga baidil %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Lugemise viga baidil %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC viitab %s, mida pole olemas.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: %s ei saa lugeda (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Viga %s's real %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Süntaksi viga %s's real %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Tundmatu käsklus `%s', failis %s real %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Hoiatus: Nii süsteemne kui kasutaja wgetrc on `%s'.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Vigane --execute käsklus `%s'\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Vigane tõeväärtus `%s'; kasutage `on' või `off'.\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: Vigane laiendatud tõeväärtus `%s';\n"
-"kasutage on, off, always või never.\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s %s: Vigane number `%s'.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Vigane baidi väärtus `%s'.\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s %s: Vigane ajamäärang `%s'.\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s %s: Vigane väärtus `%s'.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s %s: Vigane päis `%s'.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Vigane edenemise tüüp `%s'.\n"
 
-#: src/init.c:1259
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s %s: Vigane piirang `%s', kasutage `unix' või `windows'.\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -820,9 +820,7 @@ msgstr ""
 "\n"
 "sain %s, suunan väljundi faili `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -831,506 +829,636 @@ msgstr ""
 "\n"
 "saadi %s.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; blokeerin logimise.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Kasuta: %s [VÕTI]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Kohustuslikud argumendid pikkadele võtmetele on kohustuslikud ka lühikestele.\n"
+"Kohustuslikud argumendid pikkadele võtmetele on kohustuslikud ka "
+"lühikestele.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Start:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           näita Wget versioon ja lõpeta töö.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              näita abiinfot.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        tööta taustal.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=KÄSKLUS   täida `.wgetrc'-stiilis käsklus.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Logimine ja sisendfail:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=FAIL     logi teated faili FAIL.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=FAIL   lisa teated faili FAIL.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug                trüki silumise teated.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+#, fuzzy
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "  -d,  --debug                trüki silumise teated.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet                vaikselt.\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose              lobise (see on vaikimisi).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --non-verbose          keela lobisemine, luba asjalikud teated.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --non-verbose          keela lobisemine, luba asjalikud teated.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=FAIL      loe URLid failist FAIL.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html           käsitle sisendfaili HTMLina.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL             lisab URL suhtelistele viidetele -F -i failis.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL             lisab URL suhtelistele viidetele -F -i "
+"failis.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Allalaadimine:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
 msgstr "  -t,  --tries=NUMBER           katsete arvuks NUMBER (0 piiramata).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused      korda isegi kui ühendusest keeldutakse.\n"
+msgstr ""
+"       --retry-connrefused      korda isegi kui ühendusest keeldutakse.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O   --output-document=FAIL   kirjuta dokumendid faili FAIL.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr "  -nc, --no-clobber             ära riku olemasolevaid faile.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue               jätka olemasoleva faili allalaadimist.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue               jätka olemasoleva faili allalaadimist.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=TÜÜP          vali progressi indikaatori tüüp\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping           ära tõmba vanemaid faile kui lokaalsed.\n"
+msgstr ""
+"  -N,  --timestamping           ära tõmba vanemaid faile kui lokaalsed.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response        trüki serveri vastused.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                 ara tõmba midagi.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
 msgstr "  -T,  --timeout=SEK            kõik taimoutid on SEKUNDEID.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
 msgstr "       --dns-timeout=SEK        nime lahenduse aegumine on SEK.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
 msgstr "       --connect-timeout=SEK    ühenduse loomise aegumine on SEK.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=SEK       lugemise aegumine on SEK.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SEKUNDEID         oota SEKUNDEID päringute vahel.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=SEKUNDEID    oota 1..SEKUNDIT laadimise katsete vahel.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SEKUNDEID    oota 1..SEKUNDIT laadimise katsete vahel.\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr "       --random-wait            oota 0..2*SEKUNDIT päringute vahel.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                  proksi kasutamine.\n"
-
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                proksit ei kasuta.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
 msgstr "  -Q,  --quota=NUMBER           kasuta kvooti NUMBER.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
 msgstr "       --bind-address=AADRESS   kasuta kohaliku masina nime või IP.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr "       --limit-rate=KIIRUS      piira allalaadimise kiirust.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr "       --no-dns-cache            blokkeri nimeserveri puhver.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=OS luba failinimedes ainult OS poolt lubatud sümboleid.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS luba failinimedes ainult OS poolt lubatud "
+"sümboleid.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+#, fuzzy
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-length         inoreeri `Content-Length' päise välja.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              kasuta ainult IPv4 aadresse.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              kasuta ainult IPv6 aadresse.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=PEREK     loo ühendus esmalt antud perekonna aadressiga,\n"
+"       --prefer-family=PEREK     loo ühendus esmalt antud perekonna "
+"aadressiga,\n"
 "                                 väärtus on IPv6, IPv4 või none.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr "       --user=USER               sea nii ftp, kui http kasutaja.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr "       --password=PASS           sea nii ftp, kui http parool.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Kataloogid:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd  --no-directories            ära loo katalooge.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
-msgstr "  -x,  --force-directories         kohustuslik kataloogide tekitamine.\n"
+msgstr ""
+"  -x,  --force-directories         kohustuslik kataloogide tekitamine.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories       ära loo hosti kataloogi.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     kasuta kataloogides protokolli nime.\n"
+msgstr ""
+"       --protocol-directories     kasuta kataloogides protokolli nime.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
-msgstr "  -P,  --directory-prefix=PREFIX   salvesta failid kataloogi PREFIX/...\n"
+msgstr ""
+"  -P,  --directory-prefix=PREFIX   salvesta failid kataloogi PREFIX/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=NUMBER           ignoreeri NUMBER kataloogi komponente.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NUMBER           ignoreeri NUMBER kataloogi komponente.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP võtmed:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=USER        kasuta http kasutajat USER.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=PASS    kasuta http parooli PASS.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
 msgstr "       --no-cache              keela puhverdamise kasutamine.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        salvesta kõik text/html dokumendid lõpuga .html.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        salvesta kõik text/html dokumendid lõpuga ."
+"html.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         inoreeri `Content-Length' päise välja.\n"
+msgstr ""
+"       --ignore-length         inoreeri `Content-Length' päise välja.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=SÕNE           lisa SÕNE päisesse.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=USER       USER proxy kasutajanimeks.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-passwd=PASS     PASS proxy parooliks.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           lisa HTTP päringu päisesse `Referer: URL'\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           lisa HTTP päringu päisesse `Referer: URL'\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          salvesta HTTP päised.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT      identifitseeri kui AGENT, mitte kui Wget/VERSIOON.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identifitseeri kui AGENT, mitte kui Wget/"
+"VERSIOON.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    blokeeri HTTP keep-alive (püsivad ühendused).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    blokeeri HTTP keep-alive (püsivad "
+"ühendused).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            ära kasuta präänikuid.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=FAIL     lae enne sessiooni präänikud failist FAIL.\n"
+msgstr ""
+"       --load-cookies=FAIL     lae enne sessiooni präänikud failist FAIL.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=FAIL     salvesta sessiooni lõpus präänikud faili.\n"
+msgstr ""
+"       --save-cookies=FAIL     salvesta sessiooni lõpus präänikud faili.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  lae ja salvesta sessiooni (ühekordsed) präänikud.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  lae ja salvesta sessiooni (ühekordsed) "
+"präänikud.\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
 msgstr "       --post-data=SÕNE        kasuta POST meetodit; saada SÕNE.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=FAIL        kasuta POST meetodit; saada FAILi sisu.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FAIL        kasuta POST meetodit; saada FAILi sisu.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL/TLS) võtmed:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR     vali turvaprotokoll, võimalikud auto, SSLv2,\n"
+"       --secure-protocol=PR     vali turvaprotokoll, võimalikud auto, "
+"SSLv2,\n"
 "                                SSLv3 ja TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr "       --no-check-certificate   ära valideeri serveri sertifikaati.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=FAIL       kliendi sertifikaat.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
 msgstr "       --certificate-type=TÜÜP  Kliendi sert. tüüp, PEM või DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --privare-key=FAIL       privaatvõti.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TÜÜP  privaatvõtme tüüp, PEM või DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=FAIL    CA nimekirja fail.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
 msgstr "       --ca-directory=KAT       CA nimekirja kataloog.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=FAIL       fail juhuarvudega SSL PRNG laadimiseks.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FAIL       fail juhuarvudega SSL PRNG laadimiseks.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr "       --egd-file=FAIL          EGD pistiku faili nimi.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP võtmed:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=USER         sea ftp kasutaja.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=PASS     sea ftp parool.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     ära eemalda `.listing' faile.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
 msgstr "       --no-glob               lülita faili nime täiendamine välja.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr "       --no-passive-ftp        ei kasuta \"passive\" ülekande moodi.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr "       --retr-symlinks         lae ka FTP nimeviited failidele.\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr "       --preserve-permissions  säilita failide õigused.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Rekursiivne allalaadimine:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          rekursiivne allalaadimine.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=NUMBER       maksimaalne rekursiooni sügavus (inf või 0 lõpmatu)\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NUMBER       maksimaalne rekursiooni sügavus (inf või 0 "
+"lõpmatu)\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr "       --delete-after       kustuta allalaetud failid.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr "  -k,  --convert-links      teisenda viited suhtelisteks.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   enne faili X teisendamist salvesta failiks X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   enne faili X teisendamist salvesta failiks X."
+"orig.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             lühend võtmetele -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             lühend võtmetele -N -r -l inf --no-remove-"
+"listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    lae kõik HTML lehe vaatamiseks vajalik info.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    lae kõik HTML lehe vaatamiseks vajalik info.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    lülita sisse range (SGML) HTML kommentaaride käsitlemine.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    lülita sisse range (SGML) HTML kommentaaride "
+"käsitlemine.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Rekursiivne accept/reject:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr "  -A,  --accept=LIST               lubatud laienduste nimistu.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr "  -R,  --reject=LIST               keelatud laienduste nimistu.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr "  -D,  --domains=LIST              lubatud doomenite nimistu.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=LIST      komadega eraldatud keelatud doomenite nimistu.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIST      komadega eraldatud keelatud doomenite "
+"nimistu.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                järgne HTML dokumentides FTP viidetele.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                järgne HTML dokumentides FTP viidetele.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=LIST          komadega eraldatud loend järgitavaid HTML lipikuid.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIST          komadega eraldatud loend järgitavaid HTML "
+"lipikuid.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=LIST          komadega eraldatud loend ignoreeritavaid HTML lipikuid.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIST          komadega eraldatud loend ignoreeritavaid "
+"HTML lipikuid.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr "  -H,  --span-hosts                 mine ka teistesse serveritesse.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  järgne ainult suhtelisi viiteid.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=LIST  lubatud kataloogide nimistu.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LIST  välistatud kataloogide nimistu.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent                 ära tõuse vanem kataloogini.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Saada soovitused ja vigade kirjeldused aadressil <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s, mitte-interaktiivne võrgu imeja.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Autoriõigus (C) 2005 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Seda programmi levitatakse lootusega et see on kasutatav, kuid\n"
-"MITTE ÜHEGI GARANTIITA; isegi mõtteliselt väljendatud garantiita\n"
-"TURUVÄÄRTUSELE või SOBIVUSELE KINDLAKS EESMÄRGIKS. Detailide\n"
-"suhtes vaadake GNU üldist avalikku litsentsi.\n"
 
-#: src/main.c:665
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1338,202 +1466,229 @@ msgstr ""
 "\n"
 "Selle programmi kirjutas Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Täiendava info saamiseks proovige `%s --help'.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: illegaalne võti -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Ei saa korraga lobiseda ja vait olla.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Ei saa samaaegselt muuta failide aegu ja mitte puutuda vanu faile.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Ei saa korraga kasutada --inet4-only ja --inet6-only.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, fuzzy, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Ei saa korraga kasutada --inet4-only ja --inet6-only.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: puudub URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "%s ei sisalda URLe.\n"
 
-#: src/main.c:972
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "LÕPETATUD --%s--\n"
 "Alla laetud: %s baiti kokku %d failis\n"
 
-#: src/main.c:979
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Allalaadimise kvoot  (%s baiti) ON ÜLETATUD!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Jätkan taustas.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Jätkan taustal, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Väljund kirjutatakse faili `%s'.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Ei leia kasutuskõlblikku pistiku programmi.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: hoiatus: \"%s\" identifikaator on enne masina nime\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: tundmatu lekseem \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Kasuta: %s NETRC [HOSTINIMI]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: stat operatsioon ebaõnnestus %s: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "HOIATUS: vilets juhuarvude alginfo.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr "Ei õnnestu laadida PRNGd; kasutage --random-file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "VIGA"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "HOIATUS"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: %s ei esitanud sertifikaati.\n"
 
-#: src/openssl.c:458
-#, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: %s sertifikaadi kontrollimise viga: %s\n"
+#: src/openssl.c:518
+#, fuzzy, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: %s ei esitanud sertifikaati.\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
 
-#: src/openssl.c:485
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
 msgstr "%s: sertifikaadi üldine nimi `%s' ei sobi küsitud nimega `%s'.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Kontrollimata ühenduse loomiseks servieriga %s kasutage `--no-check-certificate'.\n"
+msgstr ""
+"Kontrollimata ühenduse loomiseks servieriga %s kasutage `--no-check-"
+"certificate'.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
-#, c-format
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ hüppan üle %dK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Vigane punkt stiili spetsifikatsioon `%s'; jätan muutmata.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "Ei õnnestu lugeda REAALAJA kella sagedust: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Kustutan %s, kuna see peaks olema tagasi lükatud.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Ei saa avada %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Laen robots.txti faili; palun ignoreerige võimalikk vigu.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Viga proxy urli parsimisel %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Viga proxy urlis %s: Peab olema HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d ümbersuunamist ületatud.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
 msgstr "Annan alla.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1541,50 +1696,101 @@ msgstr ""
 "Proovin uuesti.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Vigu pole"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Mittetoetatud skeem"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Vigane serveri nimi"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Vigane pordi number"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Vigane kasutaja nimi"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Lõpetamata numbriline IPv6 aadress"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 aadresse ei toetata"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Vigane numbriline IPv6 aadress"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Jätkan taustal, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Ei õnnestu kustutada nimeviidet `%s': %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: %ld baidi küsimine ebaõnnestus; mälu on otsas.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Set-Cookie viga, väli `%s'"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Ühendus suletud baidil %s/%s. "
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: Vigane laiendatud tõeväärtus `%s';\n"
+#~ "kasutage on, off, always või never.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                  proksi kasutamine.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Seda programmi levitatakse lootusega et see on kasutatav, kuid\n"
+#~ "MITTE ÜHEGI GARANTIITA; isegi mõtteliselt väljendatud garantiita\n"
+#~ "TURUVÄÄRTUSELE või SOBIVUSELE KINDLAKS EESMÄRGIKS. Detailide\n"
+#~ "suhtes vaadake GNU üldist avalikku litsentsi.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: %s sertifikaadi kontrollimise viga: %s\n"
index d341f8a16a95e72c47ed15c1e24bfd0f88435afe..3c69e9802681d50befd1e0b29886eaa1deac72f7 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2004-03-29 16:58+0200\n"
 "Last-Translator: Mikel Olasagasti <hey_neken@euskal.org>\n"
 "Language-Team: Basque <linux-eu@chanae.alphanet.ch>\n"
@@ -17,28 +17,93 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "Ezin da `%s' lotura helbide batetara bihurtu.  BESTE batera bihurtzen.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: `%s' aukera anbiguoa da\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "%s[%s]ra konektatzen:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: `--%s'k ez du argudiorik onartzen\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: `%c%s' aukerak ez du argudiorik onartzen\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: `%s' aukerak argudio bat behar du\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: aukera·ezezaguna `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: aukera ezezaguna `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: legez kanpoko aukera -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: legez kanpoko aukera -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: aukerak argumentu bat behar du -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: `-W %s' aukera anbiguoa da\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: `-W %s' aukerak ez du argudiorik onartzen\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "%s[%s]ra konektatzen:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "%sra konektatzen: %hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "konektatua.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "huts egin da: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Ezin da `%s' ezabatu: %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "%d fitxategi %.2f segundutan bihurtuak.\n"
 
 #: src/convert.c:197
@@ -60,129 +125,154 @@ msgstr "Ezin dira %s-ko linkak bihurtu: %s\n"
 msgid "Unable to delete `%s': %s\n"
 msgstr "Ezin da `%s' ezabatu: %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Ezin da %s gordetzeko kopia egin %s bezala: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Okerra Set-Cookie egiten, `%s' eremuan"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Kookie-a ezartzean sintaxi errorea: %s %d posizioan.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Ezin da `%s' cookie fitxategia ireki: %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Errorea `%s' idazterakoan: %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "`%s' itxitzerakoan errorea: %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Zerredatze mota sostengurik gabe, Unix zerrendatze sintaxi-analizatzailearekin saiatzen.\n"
+msgstr ""
+"Zerredatze mota sostengurik gabe, Unix zerrendatze sintaxi-"
+"analizatzailearekin saiatzen.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s-ren indexa  %s:%d-en"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "denbora ezezaguna       "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Fitxategia        "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Direktorioa   "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Link        "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Zihurtasunik gabe    "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s byte)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Luzeera: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (autorizaziorik gabea)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "%s bezala saioa hasten... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Zerbitzariaren erantzunean errorea, konexio kontrol panela itxitzen.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Errorea zerbitzarikin agurtzerakoan.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Idaztean huts egin da, kontrol konexioa itxitzen.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Zerbitzariak saio hasiera ukatzen du.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Saio sartze okerra.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Saiora sartua!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Zerbitzari errorea, ezin da sistema moeta determinatu.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "eginda.    "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "eginda.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Mota ezezaguna `%c', kontrol konexioa itxitzen.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "eginda.  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWDa ez da behar.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -191,43 +281,33 @@ msgstr ""
 "Ez dago `%s' direktoriorik.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD ez da beharrezkoa.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Ezin da PASV transferentzia hasi.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Ezin da PASV erantzuan parseatu.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "ezin izan da %s-ra konektatu:%hu:%s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Lotze errorea (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORTU desegokia.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST komanduak huts egin du, ez da`%s' moztuko.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -235,7 +315,7 @@ msgstr ""
 "\n"
 "REST komanduak huts egin du, hutsetik hasten.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -244,7 +324,7 @@ msgstr ""
 "Ez dago `%s' fitxategirik.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -253,107 +333,95 @@ msgstr ""
 "Ez dago `%s' fitxategi edo direktoriorik.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Luzeera: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s amaitzeko]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (autorizaziorik gabea)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, konexio kontrola itxitzen.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Datu konexioa: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Kontrol konexioa itxia.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Datu transferentzia abortatua.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "`%s' fitxategia dagoeneko badago, ez da jasoko.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(saiatu:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' gordeta [%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "%s ezabatzen.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "`%s' erabiltzen zerrenda tmp fitxategi bezala.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "`%s' ezabatua.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Inkurtsio sakonera %dk maximoa gainditzen du. Sakonera %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "`%s' fitxategi erremotoa ez da bertakoa baina berriagoa -- ez da jasoko.\n"
+msgstr ""
+"`%s' fitxategi erremotoa ez da bertakoa baina berriagoa -- ez da jasoko.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr "`%s' fitxategi erremotoa bertakoa baina berriagoa da -- jasotzen.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "Tamainuak ez dute ezkontzen (lokalak %ld) -- jasotzen.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Baliogabeko symlink izena, saltatzen.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -362,235 +430,187 @@ msgstr ""
 "Dagoeneko baduka link simboliko zuzena %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Link sinbolikoa sortzen %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Link sinbolikoak ez daude onartuak, `%s' link sinbolikoa baztetzen.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Direktorioa utzitzen `%s'.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: ezagun/euskarririk gabeko fitxategi mota.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: ordu zigilu okerra.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Ez dira direktorio gehiago jasoko, sakonera %d-koa delako (mas %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Ez jaisten `%s'ra, ez baitago sartua edo exkluditua dago.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "`%s' ez onartzen.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Errorea `%s' idazterakoan: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "`%s' ereduarekin ez du lotzen.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Idatzia HTMLizatutako index-a `%s'-en [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Idatzia HTMLzatutako index-a '%s'-en.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Ezin da OpenSSL PRNG hasi, SSL ezintzen.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: `%s' aukera anbiguoa da\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: `--%s'k ez du argudiorik onartzen\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: `%c%s' aukerak ez du argudiorik onartzen\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: `%s' aukerak argudio bat behar du\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: aukera·ezezaguna `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: aukera ezezaguna `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: legez kanpoko aukera -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: legez kanpoko aukera -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: aukerak argumentu bat behar du -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Errore ezezaguna"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: `-W %s' aukera anbiguoa da\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: `-W %s' aukerak ez du argudiorik onartzen\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Errore ezezaguna"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "%s ebazten... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "huts egin da: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "huts·egin·da: denboraz kanpo.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Host-a ez da aurkitu"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Errore ezezaguna"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Ezin da osatu gabeko linka ebatzi %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Huts egin da SSL kontextua eratzen\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Baliogabeko balioa `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "%s-tik zertifikazioak kargatzerakoan huts egin da\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Zehaztutako zertifikaziorik gabe saiatzen\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Huts egin da HTTP eskaera idazterakoan: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Huts egin da zertifikazio gakoa hartzerakoan %s-tik\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Ezinezkoa SSL konexioa sortzea.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Konexioa berrerabiltzen %srentzat: %hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Huts egin da HTTP eskaera idazterakoan: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s eskaera bidalia, erantzunaren zain... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Fitxategiaren amaiera goi-buruak parseatzen ziren bitartean.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Ez da daturik jaso"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Irakurketa errorea (%s) goiburukoetan.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Ez da daturik jaso"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "`%s' fitxategia dagoeneko badago, ez da jasoko.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Autentifikazio eskema ezezaguna.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Autorizazitzen huts egin da.\n"
 
-#: src/http.c:1130
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Gaizki eratutako egoera lerroa"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(deskripziorik gabe)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Autorizazitzen huts egin da.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Autentifikazio eskema ezezaguna.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Kokapena: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "zehaztugabea"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [hurrengoa]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -600,195 +620,203 @@ msgstr ""
 "    Fitxategi hau iada guztiz jasoa dago; ezer ez egiteko.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Deskargaren jarrapienak huts egin du fitxategi hontan, eta `-c'-rekin gatazka sortzen du.\n"
-"Existitzen den `%s' fitxategia moztea ukatzen da.\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Luzera: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s amaitzeko)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "baztertua"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Direktorioa utzitzen `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Oharra: komodinak ez daude onartuak HTTPean.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "`%s'·fitxategia·dagoeneko·badago,·ez·da·jasoko.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Ezin da `%s' idatzi (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Ezinezkoa SSL konexioa sortzea.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ERROREA: (%d) helbideraketa kokapenik gabe.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERROREA %d %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Azken·burugoiko·modifikazitua falta da·-·ordu·zigilua·itzalia.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Azken burugoiko modifikazioa baliogabekoa - ordu zigilua ignoratua.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Zerbitzariko fitxategia ez da bertakoa %s fitxategia  baina berriagoa -- ez da jasoko.\n"
+"Zerbitzariko fitxategia ez da bertakoa %s fitxategia  baina berriagoa -- ez "
+"da jasoko.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Tamainuak·ez·dute·ezkontzen·(lokalak·%ld)·--·jasotzen.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Fitxategi erremotoa berriagoa da, jasotzen.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
-msgstr ""
-"%s (%s) - `%s' gordeta [%ld/%ld]\n"
+msgstr "`%s' fitxategi erremotoa bertakoa baina berriagoa da -- jasotzen.\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
 "\n"
+msgstr ""
+"`%s' fitxategi erremotoa ez da bertakoa baina berriagoa -- ez da jasoko.\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Konexioa itxia ondorengo bytean %ld. "
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"`%s' fitxategi erremotoa ez da bertakoa baina berriagoa -- ez da jasoko.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' gordeta [%ld/%ld])\n"
+"%s (%s) - `%s' gordeta [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Konexioa itxia ondorengo bytean %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Konexioa itxia ondorengo bytean %ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Irakurtze errorea %ld bytean (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Irakurtze errorea %ld/%ld bytean (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC %sra apuntatzen du, ez dena existitzen.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Ezin irakurri %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: %s-n errorea %d lerroan.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: %s-n errorea %d lerroan.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: %s-n errorea %d lerroan.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Kontuz: Bai sistema bai wgetrc `%s'ra apuntatzen dute.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Baliogaeko --exekutatu`%s' komandoa\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Baliogabeko booleanoa `%s', erabili `on' edo `off'.\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Baliogabeko booleanoa `%s', erabili beti, on, off, edo never.\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Baliogabeko zenbakia `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Baliogabeko byte balioa `%s'\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Baliogabeko denbora tartea `%s'\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Baliogabeko balioa `%s'.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Baliogabeko goiburukoa `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Baliogabeko aurreratze mota `%s'.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Baliogabeko mugaketa `%s', erabili `unix' edo `windows'.\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Baliogabeko balioa `%s'.\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -797,28 +825,26 @@ msgstr ""
 "\n"
 "%s jasota, irteera `%s'ra bideratzen.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Ez da daturik jaso"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; saio hasiera desgaitzen.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Erabili: %s [AUKERA]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, sare informazio jaitsitzaile ez interaktiboa.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -826,284 +852,566 @@ msgstr ""
 "Aginduzko argumentu luzeegiak aukera txikientzako agindu ere badira.\n"
 "\n"
 
-#: src/main.c:144
-msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+#: src/main.c:371
+msgid "Startup:\n"
 msgstr ""
-"Hasteko:\n"
-"  -V,  --version           Wget-en bertsioa erakutsi eta irten.\n"
-"  -h,  --help              laguntza hau erakutsi.\n"
-"  -b,  --background        asterakoan atzealdean ipini.\n"
-"  -e,  --execute=KOMANDUA   `.wgetrc'-motako komandua ejekutatzen du.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr ""
-"Logeatze eta irteera fitxategia:\n"
-"  -o,  --output-file=FITXATEGIA     log mezuak FITXATEGIAN idatzi.\n"
-"  -a,  --append-output=FITXATEGIA   erantsi mezuak FITXATEGIARI.\n"
-"  -d,  --debug                erakutsi debug-aren irteera.\n"
-"  -q,  --quiet                ixilik (irteerarik gabe).\n"
-"  -v,  --verbose              irteera luzea (lehenetsia).\n"
-"  -nv, --non-verbose          irteera luzerik gabe, baina ixilik egon gabe.\n"
-"  -i,  --input-file=FITXATEGIA      emandako FITXATEGIAN dauden URLak jaitsi.\n"
-"  -F,  --force-html           sarrera fitxategia HTML bezala tratatu.\n"
-"  -B,  --base=URL             URLa geitu hasieran -F -i fitxategien link erlatiboetan.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr ""
-"Jaitsi:\n"
-"  -t,  --tries=ZENBAKIA           jaisteko egingo diren saiakera kopurua (0 limiterik gabe).\n"
-"       --retry-connrefused      konexioa ukatzen bada ere berriz saiatu.\n"
-"  -O   --output-document=FITXATEGIA   idatzi dokumentuak FITXATEGIAN.\n"
-"  -nc, --no-clobber             ez jaitsi dagoeneko exisitzen bada edo erabili .# luzapen bezala.\n"
-"  -c,  --continue               jarraitu jaisten partzialki jatsirik dagoen fitxategia.\n"
-"       --progress=MOTA          progresu mota aukeratu.\n"
-"  -N,  --timestamping           ez jaitsi fitxategiak bertakoak baina berriagoak ez badira.\n"
-"  -S,  --server-response        erakutsi zerbitzariaren erantzuna.\n"
-"       --spider                 ez jaitsi ezer.\n"
-"  -T,  --timeout=SEGUNDUAK        ezarri denboraz kanpo balio guztiak emandako SEGUNDUTAN.\n"
-"       --dns-timeout=SEGUNDUAK       ezarri DNS ikustatze limitea emandako SEGUNDUTAN.\n"
-"       --connect-timeout=SEGUNDUAK   ezarri konexioa denboraz kanpo egotea emandako SEGUNDUTAN.\n"
-"       --read-timeout=SEGUNDUAK      ezarri irakurtzea denboraz kanpo egotea emandako SEGUNDUTAN.\n"
-"  -w,  --wait=SEGUNDUAK           itxaron emandako SEGUNDUAK jaitsieren artean.\n"
-"       --waitretry=SEGUNDUAK      itxaron emandako SEGUNDUAK huts egindako jaitsiera bat jarraitzeko.\n"
-"       --random-wait            itxaron 0 tik 2*ra saiatzeen artean.\n"
-"  -Y,  --proxy=on/off           gaitu ala ez gaitu proxya.\n"
-"  -Q,  --quota=ZENBAKIA           ezarri saiatze kuota ZENBAKIRA.\n"
-"       --bind-address=HELBIDEA  itsutu HELBIEARA (host izena edo IPa) host lokalean.\n"
-"       --limit-rate=TASA        ezarri jaitsiera limitea TASARA.\n"
-"       --dns-cache=off          ezgaitu katxeaturiko DNSak ikustatzea.\n"
-"       --restrict-file-names=SE SE (Sistema Eragile)ak onartzen dituen karaktereak soilik erabili.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Direktorioak:\n"
-"  -nd, --no-directories            ez sortu direkoriorik.\n"
-"  -x,  --force-directories         behartu direktorioak sortzera.\n"
-"  -nH, --no-host-directories       ez sortu host direktoriorik.\n"
-"  -P,  --directory-prefix=AURREZKI   gorde fitxategiak AURREZKI/-an...\n"
-"       --cut-dirs=KOPURUA           ez egin jaramonik urruneko direktorio KOPURUAri.\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"HTTP aukerak:\n"
-"       --http-user=ERABILTZAILEA      ezarri http erabiltzaile bezala ERABILTZAILEA.\n"
-"       --http-passwd=PASAHITZA    ezarri http pasahitz bezala PASAHITZA.\n"
-"  -C,  --cache=on/off        zerbitzari katxea gaitu ala ezgaitu (normalean onartua).\n"
-"  -E,  --html-extension      gorde text/html dokumentuak .html luzapenarekin.\n"
-"       --ignore-length       ignoratu `Content-Length' goiburua.\n"
-"       --header=KATEA       gehitu KATEA goiburua beste goiburuekin.\n"
-"       --proxy-user=ERABILTZAILEA     ezarri proxy erabiltzaile bezela ERABILTZAILEA.\n"
-"       --proxy-passwd=PASAHITZA   ezarri proxy pasahitz bezela PASAHITZA.\n"
-"       --referer=URL         sartu `Referer: URL' goiburua HTTP eskaeran.\n"
-"  -s,  --save-headers        gorde HTTP goiburuak fitxategi batean.\n"
-"  -U,  --user-agent=AGENTEA    identifikatu AGENTE bezala Wget/BERTSIOA-ren ordez.\n"
-"       --no-http-keep-alive  ezgaitu HTTP keep alive (konexio iraunkorrak).\n"
-"       --cookies=off         ez erabili cookieak.\n"
-"       --load-cookies=FITXATEGIA   kargatu cookieak FITXATEGITIK saioa hasi aurretik.\n"
-"       --save-cookies=FITXATEGIA   gorde cookieak FITXATEGIAN saioa amaitzean.\n"
-"       --post-data=KATEA    erabili POST metodoa; bidali KATEA datu bezala.\n"
-"       --post-file=FITXATEGIA      erabili POST metodoa; bidali FITXATEGIAREN edukia datu bezala.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"HTTPS (SSL) aukerak:\n"
-"       --sslcertfile=FITXATEGIA     aukerazko bezero zertifikatua.\n"
-"       --sslcertkey=GILTZA-FITXATEGIA   zertifikatu honentzat aukerazko giltza-fitxategia.\n"
-"       --egd-file=FITXATEGIA        EGD socket-aren fitxategi izena.\n"
-"       --sslcadir=DIR         CA hash zerrendak gordetzen diren direktorioa.\n"
-"       --sslcafile=FITXATEGIA       CA zertifikatudun fitxategiak\n"
-"       --sslcerttype=0/1      Bezeroaren zertifikazio mota 0=PEM (lehenetsia) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Egiaztatu zerbitzariaren zertifikatua emandako CArekin\n"
-"       --sslprotocol=0-3      aukeratu SSL protokoloa; 0=automatikoa,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:407
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr ""
-"FTP aukerak:\n"
-"  -nr, --dont-remove-listing   ez ezabatu `.listing' fitxategiak.\n"
-"  -g,  --glob=on/off           fitxategi izen komodinak gaitu ala ez.\n"
-"       --passive-ftp           transferentzia modu \"pasiboa\" erabili.\n"
-"       --retr-symlinks         errekurtsibitatean, linkaturiko fitxategiak hartu (direktorioak ez).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Direktorioa   "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Eskuratze errekurtsiboa:\n"
-"  -r,  --recursive          jaitsiera errekurtsiboa.\n"
-"  -l,  --level=ZENBAKIA       errekurtsibitate sakonera maximoa(inf edo 0 infiturentzat).\n"
-"       --delete-after       ezabatu fitxategiak lokalki jaitsi ondoren.\n"
-"  -k,  --convert-links      link erlatiboak ez erlatiboetan bihurtu.\n"
-"  -K,  --backup-converted   X fitxategia bihurtu aurretik segurtasun kopia egin X.orig bezala.\n"
-"  -m,  --mirror             laster-bide bat -r -N -l inf -nr egiteko.\n"
-"  -p,  --page-requisites    irudiak eta besteak hartu, HTML orriak erakusteko beharrezkoak.\n"
-"       --strict-comments    HTML komentarioak SGML bidez maneiatu.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
-"Errekurtsibitatean onartu/ezetsi:\n"
-"  -A,  --accept=ZERRENDA                onartutako luzapenen zerrenda komaz bereiztua.\n"
-"  -R,  --reject=ZERRENDA                ezetsitako luzapen zerrenda komaz bereiztua.\n"
-"  -D,  --domains=ZERRENDA               onartutako dominioen zerrenda komaz bereiztua.\n"
-"       --exclude-domains=ZERRENDA       ezetsitako dominio zerrenda komaz bereiztua.\n"
-"       --follow-ftp                 jarraitu FTP linkak HTML dokumentu batean.\n"
-"       --follow-tags=ZERRENDA           jarraituko diren HTML tag zerrenda komaz bereiztua.\n"
-"  -G,  --ignore-tags=ZERRENDA           ignoratuak izango diren HTML tag zerrenda komaz bereiztua.\n"
-"  -H,  --span-hosts                 joan kanpo-hostalarietara errekurtsibitatean.\n"
-"  -L,  --relative                   jarraitu link erlatiboak soilik.\n"
-"  -I,  --include-directories=ZERRENDA   onartutako direktorio zerrenda.\n"
-"  -X,  --exclude-directories=ZERRENDA   egotzitako direktorio zerrenda.\n"
-"  -np, --no-parent                  ez igo direktorio gurasora.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Bidali bug-ak eta iradokizunak <bug-wget@gnu.org>-era.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: ez dago debug euskarriarekin konpilatua.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, sare informazio jaitsitzaile ez interaktiboa.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Programa hau erabilgarria izango zaizulakoan distribuitzen da,\n"
-"baina INOLAKO GARANTIARIK GABE; ezta MERKATURAKO edo\n"
-"NORBERAREN ERABILPENERAKO garantiarik.  Ikusi GNUren Lizentzia\n"
-"Publiko Generala detaile gehiagorako.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1111,134 +1419,224 @@ msgstr ""
 "\n"
 "Originalki Hrvoje Niksic-k idatzia <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: legez kanpoko aukera -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Saiatu `%s --help` aukera gehiagorako.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: legez kanpoko aukera -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Ezin da berritsu eta ixil moduan egon une berean.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Ezin dira ez-gainidatzi fitxategiak eta denbora markak erabili une berean.\n"
+msgstr ""
+"Ezin dira ez-gainidatzi fitxategiak eta denbora markak erabili une berean.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL falta\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Ez da URLrik aurkitu %s-n.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "AMAITUTA --%s--\n"
 "Jatsitakoa: %s byte %d fitxategietan\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Jaitsiera kuota (%s byte) GAINDITUA!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Atzeko planoan jarraitzen.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Atzeko planoan jarraitzen, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Irteera `%s'-n idatziko da.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "WinHelp %s hasten\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Ezin aurkitu socket kontrolatzaile erabilgarririk.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: abisua: \"%s\" tokena makina izenanen aurretik dago\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: token ezezaguna \"%s\"\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Erabilera: %s NETRC [HOST-IZENA]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: ezin da identifikatu %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Ezin da OpenSSL PRNG hasi, SSL ezintzen.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
 #, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ saltatzen %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "Baliogabeko puntuazio estilo espezifikazioa '%s'; aldatu gabe utzitzen.\n"
+msgstr ""
+"Baliogabeko puntuazio estilo espezifikazioa '%s'; aldatu gabe utzitzen.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
 
-#: src/recur.c:378
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "%s ezabatzen ezestua izan behar zuelako.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Ezin dira %s-ko linkak bihurtu: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Robots.txt kargatzen; mesedez ignoratu erroreak.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Proxy URLa parseatzen errorea %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Errorea proxy URLan %s: HTTP izan behar du.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d erredirekzio kopurua gainditua.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1246,7 +1644,7 @@ msgstr ""
 "Utzitzen.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1254,50 +1652,477 @@ msgstr ""
 "Berriz saiatzen.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Errorerik ez"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Sostengu gabeko eskema"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Ostalaria hutsa"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Baliogabeko erabiltzaile izena"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Portu zenbaki akastuna"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Baliogabeko erabiltzaile izena"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "IPv6 zenbaki helbide amaitugabea"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPV6 motako helbideak ez daude erabilgarri"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Baliogabeko IPv6 zenbaki helbidea"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Behar adina memoriarik gabe.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Atzeko planoan jarraitzen, pid %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Huts egin da `%s' link sinbolikoa askatzerakoan: %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr ""
+#~ "Ezin da `%s' lotura helbide batetara bihurtu.  BESTE batera bihurtzen.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Okerra Set-Cookie egiten, `%s' eremuan"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST komanduak huts egin du, ez da`%s' moztuko.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s amaitzeko]"
+
+#~ msgid "Host not found"
+#~ msgstr "Host-a ez da aurkitu"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Huts egin da SSL kontextua eratzen\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "%s-tik zertifikazioak kargatzerakoan huts egin da\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Zehaztutako zertifikaziorik gabe saiatzen\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Huts egin da zertifikazio gakoa hartzerakoan %s-tik\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Fitxategiaren amaiera goi-buruak parseatzen ziren bitartean.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Deskargaren jarrapienak huts egin du fitxategi hontan, eta `-c'-rekin "
+#~ "gatazka sortzen du.\n"
+#~ "Existitzen den `%s' fitxategia moztea ukatzen da.\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s amaitzeko)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "`%s'·fitxategia·dagoeneko·badago,·ez·da·jasoko.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' gordeta [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Konexioa itxia ondorengo bytean %ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: Baliogabeko booleanoa `%s', erabili beti, on, off, edo never.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Hasteko:\n"
+#~ "  -V,  --version           Wget-en bertsioa erakutsi eta irten.\n"
+#~ "  -h,  --help              laguntza hau erakutsi.\n"
+#~ "  -b,  --background        asterakoan atzealdean ipini.\n"
+#~ "  -e,  --execute=KOMANDUA   `.wgetrc'-motako komandua ejekutatzen du.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Logeatze eta irteera fitxategia:\n"
+#~ "  -o,  --output-file=FITXATEGIA     log mezuak FITXATEGIAN idatzi.\n"
+#~ "  -a,  --append-output=FITXATEGIA   erantsi mezuak FITXATEGIARI.\n"
+#~ "  -d,  --debug                erakutsi debug-aren irteera.\n"
+#~ "  -q,  --quiet                ixilik (irteerarik gabe).\n"
+#~ "  -v,  --verbose              irteera luzea (lehenetsia).\n"
+#~ "  -nv, --non-verbose          irteera luzerik gabe, baina ixilik egon "
+#~ "gabe.\n"
+#~ "  -i,  --input-file=FITXATEGIA      emandako FITXATEGIAN dauden URLak "
+#~ "jaitsi.\n"
+#~ "  -F,  --force-html           sarrera fitxategia HTML bezala tratatu.\n"
+#~ "  -B,  --base=URL             URLa geitu hasieran -F -i fitxategien link "
+#~ "erlatiboetan.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Jaitsi:\n"
+#~ "  -t,  --tries=ZENBAKIA           jaisteko egingo diren saiakera kopurua "
+#~ "(0 limiterik gabe).\n"
+#~ "       --retry-connrefused      konexioa ukatzen bada ere berriz saiatu.\n"
+#~ "  -O   --output-document=FITXATEGIA   idatzi dokumentuak FITXATEGIAN.\n"
+#~ "  -nc, --no-clobber             ez jaitsi dagoeneko exisitzen bada edo "
+#~ "erabili .# luzapen bezala.\n"
+#~ "  -c,  --continue               jarraitu jaisten partzialki jatsirik "
+#~ "dagoen fitxategia.\n"
+#~ "       --progress=MOTA          progresu mota aukeratu.\n"
+#~ "  -N,  --timestamping           ez jaitsi fitxategiak bertakoak baina "
+#~ "berriagoak ez badira.\n"
+#~ "  -S,  --server-response        erakutsi zerbitzariaren erantzuna.\n"
+#~ "       --spider                 ez jaitsi ezer.\n"
+#~ "  -T,  --timeout=SEGUNDUAK        ezarri denboraz kanpo balio guztiak "
+#~ "emandako SEGUNDUTAN.\n"
+#~ "       --dns-timeout=SEGUNDUAK       ezarri DNS ikustatze limitea "
+#~ "emandako SEGUNDUTAN.\n"
+#~ "       --connect-timeout=SEGUNDUAK   ezarri konexioa denboraz kanpo "
+#~ "egotea emandako SEGUNDUTAN.\n"
+#~ "       --read-timeout=SEGUNDUAK      ezarri irakurtzea denboraz kanpo "
+#~ "egotea emandako SEGUNDUTAN.\n"
+#~ "  -w,  --wait=SEGUNDUAK           itxaron emandako SEGUNDUAK jaitsieren "
+#~ "artean.\n"
+#~ "       --waitretry=SEGUNDUAK      itxaron emandako SEGUNDUAK huts "
+#~ "egindako jaitsiera bat jarraitzeko.\n"
+#~ "       --random-wait            itxaron 0 tik 2*ra saiatzeen artean.\n"
+#~ "  -Y,  --proxy=on/off           gaitu ala ez gaitu proxya.\n"
+#~ "  -Q,  --quota=ZENBAKIA           ezarri saiatze kuota ZENBAKIRA.\n"
+#~ "       --bind-address=HELBIDEA  itsutu HELBIEARA (host izena edo IPa) "
+#~ "host lokalean.\n"
+#~ "       --limit-rate=TASA        ezarri jaitsiera limitea TASARA.\n"
+#~ "       --dns-cache=off          ezgaitu katxeaturiko DNSak ikustatzea.\n"
+#~ "       --restrict-file-names=SE SE (Sistema Eragile)ak onartzen dituen "
+#~ "karaktereak soilik erabili.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Direktorioak:\n"
+#~ "  -nd, --no-directories            ez sortu direkoriorik.\n"
+#~ "  -x,  --force-directories         behartu direktorioak sortzera.\n"
+#~ "  -nH, --no-host-directories       ez sortu host direktoriorik.\n"
+#~ "  -P,  --directory-prefix=AURREZKI   gorde fitxategiak AURREZKI/-an...\n"
+#~ "       --cut-dirs=KOPURUA           ez egin jaramonik urruneko direktorio "
+#~ "KOPURUAri.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTP aukerak:\n"
+#~ "       --http-user=ERABILTZAILEA      ezarri http erabiltzaile bezala "
+#~ "ERABILTZAILEA.\n"
+#~ "       --http-passwd=PASAHITZA    ezarri http pasahitz bezala PASAHITZA.\n"
+#~ "  -C,  --cache=on/off        zerbitzari katxea gaitu ala ezgaitu "
+#~ "(normalean onartua).\n"
+#~ "  -E,  --html-extension      gorde text/html dokumentuak .html "
+#~ "luzapenarekin.\n"
+#~ "       --ignore-length       ignoratu `Content-Length' goiburua.\n"
+#~ "       --header=KATEA       gehitu KATEA goiburua beste goiburuekin.\n"
+#~ "       --proxy-user=ERABILTZAILEA     ezarri proxy erabiltzaile bezela "
+#~ "ERABILTZAILEA.\n"
+#~ "       --proxy-passwd=PASAHITZA   ezarri proxy pasahitz bezela "
+#~ "PASAHITZA.\n"
+#~ "       --referer=URL         sartu `Referer: URL' goiburua HTTP "
+#~ "eskaeran.\n"
+#~ "  -s,  --save-headers        gorde HTTP goiburuak fitxategi batean.\n"
+#~ "  -U,  --user-agent=AGENTEA    identifikatu AGENTE bezala Wget/BERTSIOA-"
+#~ "ren ordez.\n"
+#~ "       --no-http-keep-alive  ezgaitu HTTP keep alive (konexio "
+#~ "iraunkorrak).\n"
+#~ "       --cookies=off         ez erabili cookieak.\n"
+#~ "       --load-cookies=FITXATEGIA   kargatu cookieak FITXATEGITIK saioa "
+#~ "hasi aurretik.\n"
+#~ "       --save-cookies=FITXATEGIA   gorde cookieak FITXATEGIAN saioa "
+#~ "amaitzean.\n"
+#~ "       --post-data=KATEA    erabili POST metodoa; bidali KATEA datu "
+#~ "bezala.\n"
+#~ "       --post-file=FITXATEGIA      erabili POST metodoa; bidali "
+#~ "FITXATEGIAREN edukia datu bezala.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTPS (SSL) aukerak:\n"
+#~ "       --sslcertfile=FITXATEGIA     aukerazko bezero zertifikatua.\n"
+#~ "       --sslcertkey=GILTZA-FITXATEGIA   zertifikatu honentzat aukerazko "
+#~ "giltza-fitxategia.\n"
+#~ "       --egd-file=FITXATEGIA        EGD socket-aren fitxategi izena.\n"
+#~ "       --sslcadir=DIR         CA hash zerrendak gordetzen diren "
+#~ "direktorioa.\n"
+#~ "       --sslcafile=FITXATEGIA       CA zertifikatudun fitxategiak\n"
+#~ "       --sslcerttype=0/1      Bezeroaren zertifikazio mota 0=PEM "
+#~ "(lehenetsia) / 1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1     Egiaztatu zerbitzariaren zertifikatua "
+#~ "emandako CArekin\n"
+#~ "       --sslprotocol=0-3      aukeratu SSL protokoloa; 0=automatikoa,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "FTP aukerak:\n"
+#~ "  -nr, --dont-remove-listing   ez ezabatu `.listing' fitxategiak.\n"
+#~ "  -g,  --glob=on/off           fitxategi izen komodinak gaitu ala ez.\n"
+#~ "       --passive-ftp           transferentzia modu \"pasiboa\" erabili.\n"
+#~ "       --retr-symlinks         errekurtsibitatean, linkaturiko "
+#~ "fitxategiak hartu (direktorioak ez).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Eskuratze errekurtsiboa:\n"
+#~ "  -r,  --recursive          jaitsiera errekurtsiboa.\n"
+#~ "  -l,  --level=ZENBAKIA       errekurtsibitate sakonera maximoa(inf edo 0 "
+#~ "infiturentzat).\n"
+#~ "       --delete-after       ezabatu fitxategiak lokalki jaitsi ondoren.\n"
+#~ "  -k,  --convert-links      link erlatiboak ez erlatiboetan bihurtu.\n"
+#~ "  -K,  --backup-converted   X fitxategia bihurtu aurretik segurtasun "
+#~ "kopia egin X.orig bezala.\n"
+#~ "  -m,  --mirror             laster-bide bat -r -N -l inf -nr egiteko.\n"
+#~ "  -p,  --page-requisites    irudiak eta besteak hartu, HTML orriak "
+#~ "erakusteko beharrezkoak.\n"
+#~ "       --strict-comments    HTML komentarioak SGML bidez maneiatu.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Errekurtsibitatean onartu/ezetsi:\n"
+#~ "  -A,  --accept=ZERRENDA                onartutako luzapenen zerrenda "
+#~ "komaz bereiztua.\n"
+#~ "  -R,  --reject=ZERRENDA                ezetsitako luzapen zerrenda komaz "
+#~ "bereiztua.\n"
+#~ "  -D,  --domains=ZERRENDA               onartutako dominioen zerrenda "
+#~ "komaz bereiztua.\n"
+#~ "       --exclude-domains=ZERRENDA       ezetsitako dominio zerrenda komaz "
+#~ "bereiztua.\n"
+#~ "       --follow-ftp                 jarraitu FTP linkak HTML dokumentu "
+#~ "batean.\n"
+#~ "       --follow-tags=ZERRENDA           jarraituko diren HTML tag "
+#~ "zerrenda komaz bereiztua.\n"
+#~ "  -G,  --ignore-tags=ZERRENDA           ignoratuak izango diren HTML tag "
+#~ "zerrenda komaz bereiztua.\n"
+#~ "  -H,  --span-hosts                 joan kanpo-hostalarietara "
+#~ "errekurtsibitatean.\n"
+#~ "  -L,  --relative                   jarraitu link erlatiboak soilik.\n"
+#~ "  -I,  --include-directories=ZERRENDA   onartutako direktorio zerrenda.\n"
+#~ "  -X,  --exclude-directories=ZERRENDA   egotzitako direktorio zerrenda.\n"
+#~ "  -np, --no-parent                  ez igo direktorio gurasora.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: ez dago debug euskarriarekin konpilatua.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Programa hau erabilgarria izango zaizulakoan distribuitzen da,\n"
+#~ "baina INOLAKO GARANTIARIK GABE; ezta MERKATURAKO edo\n"
+#~ "NORBERAREN ERABILPENERAKO garantiarik.  Ikusi GNUren Lizentzia\n"
+#~ "Publiko Generala detaile gehiagorako.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "WinHelp %s hasten\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Ostalaria hutsa"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Behar adina memoriarik gabe.\n"
index fe03ee9c9f29f29cb5459e330931c66721fb63d7..87a4ebf9dfed0e5a844bf58faea900dd17f20765 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
+# translation of wget-1.11-b2425.po to translation-team-fi
 # Finnish messages for wget.
-# Copyright (C) 2005 Free Software Foundation, Inc.
-# Petri T. Koistinen <petri.koistinen@iki.fi>, 2005.
-# Proofreading by Tero Jänkä and others.
+# Copyright © 2005, 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the wget package.
+# Proofreading by Tero Jänkä and others.
 #
+# Petri T. Koistinen <petri.koistinen@iki.fi>, 2005.
+# Jorma Karvonen <karvjorm@users.sf.net>, 2007.
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-12 00:11+0300\n"
-"Last-Translator: Petri T. Koistinen <petri.koistinen@iki.fi>\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-23 00:44+0200\n"
+"Last-Translator: Jorma Karvonen <karvjorm@users.sf.net>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-15\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: valitsin ”%s” on moniselkoinen\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: valitsin ”--%s” ei salli argumenttia\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: valitsin ”%c%s” ei salli argumenttia\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: valitsin ”%s” vaatii argumentin\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: tuntematon valitsin ”--%s”\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: tuntematon valitsin ”%c%s”\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: valitsin ei kelpaa – %c\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: valitsin on virheellinen – %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: valitsin vaatii argumentin – %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: valitsin ”-W %s” on moniselkoinen\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: valitsin ”-W %s” ei salli argumentteja\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: lähdeosoite %s ei selvinnyt, osoitetta ei käytetä.\n"
+msgstr "%s: lähdeosoite %s ei selvinnyt, osoitetta ei käytetä.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
-msgstr "Yhdistetään palvelimeen %s|%s|:%d... "
+msgstr "Yhdistetään palvelimeen %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
-msgstr "Yhdistetään palvelimeen %s:%d... "
+msgstr "Yhdistetään palvelimeen %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "yhdistetty.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
-msgstr "epäonnistui: %s.\n"
+msgstr "epäonnistui: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "Muunnettu %d tiedostoa %.*f sekunnissa.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: ei kyetty ratkaisemaan palvelinosoitetta ”%s”\n"
 
-#: src/convert.c:202
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Muunnettu %d tiedostoa %s sekunnissa.\n"
+
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
-msgstr "Muunnetaan linkkejä %s... "
+msgstr "Muunnetaan linkkejä %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
-msgstr "ei ole tehtävää.\n"
+msgstr "ei ole tehtävää.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
-msgstr "Ei voida muuntaa linkkejä tiedostossa %s: %s\n"
+msgstr "Ei voida muuntaa linkkejä tiedostossa %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
-msgstr "Tiedostoa \"%s\" ei voitu poistaa: %s\n"
+msgstr "Tiedostoa ”%s” ei voitu poistaa: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Tiedostoa %s ei voitu varmuuskopioida tiedostoon %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Virhe Set-Cookiessa, kenttä \"%s\""
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Syntaksivirhe Set-Cookiessa: %s kohdassa %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
-msgstr "Eväste, joka tuli osoitteesta %s yritti asettaa verkkotunnukseksi %s.\n"
+msgstr ""
+"Eväste, joka tuli osoitteesta %s yritti asettaa verkkotunnukseksi %s.\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
-msgstr "Evästetiedostoa \"%s\" ei voitu avata: %s\n"
+msgstr "Evästetiedostoa ”%s” ei voitu avata: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
-msgstr "Kirjoitettaessa tiedostoon \"%s\" tapahtui virhe: %s\n"
+msgstr "Kirjoitettaessa tiedostoon ”%s” tapahtui virhe: %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
-msgstr "Virhe suljettaessa tiedostoa \"%s\": %s\n"
+msgstr "Virhe suljettaessa tiedostoa ”%s”: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Listaustyyppiä ei tueta, yritetään jäsentää unix-listauksena.\n"
+msgstr "Listaustyyppiä ei tueta, yritetään jäsentää unix-listauksena.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s indeksi kohteessa %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "tuntematon aika    "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Tiedosto    "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Hakemisto   "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Linkki      "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
-msgstr "Epävarma    "
+msgstr "Epävarma    "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s tavua)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Pituus: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
-msgstr ", %s (%s) jäljellä"
+msgstr ", %s (%s) jäljellä"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
-msgstr ", %s jäljellä"
+msgstr ", %s jäljellä"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (vahvistamaton)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
-msgstr "Kirjaudutaan nimellä %s ... "
+msgstr "Kirjaudutaan nimellä %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Virhe palvelimen vastauksessa. Hallintayhteys suljetaan.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
-msgstr "Virhe palvelimen tervehdyksessä.\n"
+msgstr "Virhe palvelimen tervehdyksessä.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
-msgstr "Kirjoitus epäonnistui. Hallintayhteys suljetaan.\n"
+msgstr "Kirjoitus epäonnistui. Hallintayhteys suljetaan.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
-msgstr "Palvelin hylkäsi kirjautumisen.\n"
+msgstr "Palvelin hylkäsi kirjautumisen.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
-msgstr "Kirjautuminen epäonnistui.\n"
+msgstr "Kirjautuminen epäonnistui.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Kirjauduttu!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "Palvelinvirhe, järjestelmän tyyppiä ei voitu päätellä.\n"
+msgstr "Palvelinvirhe, järjestelmän tyyppiä ei voitu päätellä.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "valmis.  "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "valmis.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
-msgstr "Tuntematon tyyppi \"%c\". Hallintayhteys suljetaan.\n"
+msgstr "Tuntematon tyyppi ”%c”. Hallintayhteys suljetaan.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "valmis."
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
-msgstr "==> CWD:tä ei tarvita.\n"
+msgstr "==> CWD:tä ei tarvita.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
 "\n"
 msgstr ""
-"Hakemistoa \"%s\" ei ole.\n"
+"Hakemistoa ”%s” ei ole.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
-msgstr "==> CWD:tä ei vaadita.\n"
+msgstr "==> CWD:tä ei vaadita.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "PASV-siirtoa ei voitu aloittaa.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
-msgstr "PASV-vastausta ei voitu jäsentää.\n"
+msgstr "PASV-vastausta ei voitu jäsentää.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
-msgstr "ei voitu yhdistää %s porttiin %d: %s\n"
+msgstr "ei voitu yhdistää %s porttiin %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bind-virhe (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
-msgstr "Virheellinen PORT.\n"
+msgstr "Virheellinen PORTti.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
 msgstr ""
 "\n"
-"REST epäonnistui, aloitetaan alusta.\n"
+"REST epäonnistui, aloitetaan alusta.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
 "\n"
 msgstr ""
-"Tiedostoa \"%s\" ei ole.\n"
+"Tiedostoa ”%s” ei ole.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
 "\n"
 msgstr ""
-"Tiedostoa tai hakemistoa \"%s\" ei ole.\n"
+"Tiedostoa tai hakemistoa ”%s” ei ole.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s on ilmestynyt.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, suljetaan hallintayhteys.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - tiedonsiirtoyhteys: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Hallintayhteys suljettu.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Tiedonsiirto keskeytetty.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
-msgstr "Tiedostoa \"%s\" ei noudeta, koska se on jo paikalla.\n"
+msgstr "Tiedostoa ”%s” ei noudeta, koska se on jo paikalla.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(yritys:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - \"%s\" tallennettu [%s]\n"
+"%s (%s) - ”%s” tallennettu [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Poistetaan %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
-msgstr "Listaus tallennetaan väliaikaisesti \"%s\" tiedostoon.\n"
+msgstr "Listaus tallennetaan väliaikaisesti ”%s” tiedostoon.\n"
 
-#: src/ftp.c:1354
+#  Tähän lisäsin ylimääräisen sanan, jotta lause alkaisi isolla kirjaimella.
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
-msgstr "\"%s\" poistettu.\n"
+msgstr "Listatiedosto ”%s” poistettu.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "Rekursiosyvyys %d on ylittänyt sallitun syvyyden %d.\n"
+msgstr "Rekursiosyvyys %d on ylittänyt sallitun syvyyden %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#  Kahdessa seuraavassa olen otaksunut, että etätiedosto
+#  ja paikallinen ovat samannimisiä ja siksi tiedoston
+#  nimen paikkaa voi vaihtaa.
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Etätiedosto \"%s\" ei ole paikallista uudempi -- ei noudeta.\n"
+msgstr "Etätiedosto ”%s” ei ole uudempi kuin paikallinen – ei noudeta.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr ""
-"Etätiedosto \"%s\" on uudempi kuin paikallinen -- noudetaan.\n"
+"Etätiedosto ”%s” on uudempi kuin paikallinen – noudetaan.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
-"Koot eivät täsmää (paikallinen %s) -- noudetaan.\n"
+"Koot eivät täsmää (paikallinen %s) – noudetaan.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Symbolisen linkin nimi on virheellinen, ohitetaan.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -382,242 +437,187 @@ msgstr ""
 "Oikea symbolinen linkki %s -> %s on jo paikallaan.\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Luodaan symbolinen linkki %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Ei tukea symbolisille linkeille, ohitetaan \"%s\".\n"
+msgstr "Ei tukea symbolisille linkeille, ohitetaan ”%s”.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
-msgstr "Ohitetaan hakemisto \"%s\".\n"
+msgstr "Ohitetaan hakemisto ”%s”.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tuntematon/tukematon tiedostotyyppi.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
-msgstr "%s: vääristynyt aikaleima.\n"
+msgstr "%s: vääristynyt aikaleima.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Hakemistoja ei noudeta, koska syvyys on %d (raja %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Hakemiston \"%s\" sisältöä ei noudeta, koska se on poissuljettu.\n"
+msgstr "Hakemiston ”%s” sisältöä ei noudeta, koska se on poissuljettu.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
-msgstr "Hylätään \"%s\".\n"
+msgstr "Hylätään ”%s”.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Kirjoitettaessa tiedostoon ”%s” tapahtui virhe: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
-msgstr "Hakulause \"%s\" ei löytänyt mitään.\n"
+msgstr "Hakulause ”%s” ei löytänyt mitään.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
-msgstr "HTML-muotoiltu indeksi on kirjoitettu tiedostoon \"%s\" [%s].\n"
+msgstr "HTML-muotoiltu indeksi on kirjoitettu tiedostoon ”%s” [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
-msgstr "HTML-muotoiltu indeksi on kirjoitettu tiedostoon \"%s\".\n"
+msgstr "HTML-muotoiltu indeksi on kirjoitettu tiedostoon ”%s”.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: valitsin \"%s\" on moniselkoinen\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: valitsin \"--%s\" ei salli argumenttia\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: valitsin \"%c%s\" ei salli argumenttia\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: valitsin \"%s\" vaatii argumentin\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: tuntematon valitsin \"--%s\"\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: tuntematon valitsin \"%c%s\"\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: valitsin ei kelpaa -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: valitsin on virheellinen -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: valitsin vaatii argumentin -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: valitsin \"-W %s\" on moniselkoinen\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: valitsin \"-W %s\" ei salli argumentteja\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Tuntematon palvelin"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
-msgstr "Väliaikainen virhe nimipalvelussa"
+msgstr "Väliaikainen virhe nimipalvelussa"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Tuntematon virhe"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
-msgstr "Selvitetään osoitetta %s... "
+msgstr "Selvitetään osoitetta %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
-msgstr "epäonnistui: Palvelimelle ei ole IPv4/IPv6-osoitteita.\n"
+msgstr "epäonnistui: Palvelimelle ei ole IPv4/IPv6-osoitteita.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
-msgstr "epäonnistui: aikaraja ylittyi.\n"
+msgstr "epäonnistui: aikaraja ylittyi.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
-msgstr "%s: Epätäydellistä linkkiä %s ei voitu selvittää.\n"
+msgstr "%s: Epätäydellistä linkkiä %s ei voitu selvittää.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: virheellinen URL %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
-msgstr "HTTP-pyynnön kirjoitus epäonnistui: %s.\n"
+msgstr "HTTP-pyynnön kirjoitus epäonnistui: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Ei otsakkeita, oletetaan HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
-msgstr "SSL otetaan pois päältä tapahtuneiden virheiden johdosta.\n"
+msgstr "SSL otetaan pois päältä tapahtuneiden virheiden johdosta.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
-msgstr "POST:n data-tiedosto \"%s\" puuttuu: %s\n"
+msgstr "POST-metodin data-tiedosto ”%s” puuttuu: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
-msgstr "Käytetään uudelleen yhteyttä %s:%d.\n"
+msgstr "Käytetään uudelleen yhteyttä %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
-msgstr "Vastaanotto välityspalvelimelta epäonnistui: %s.\n"
+msgstr "Vastaanotto välityspalvelimelta epäonnistui: %s.\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
-msgstr "Välityspalvelintunnelointi epäonnistui: %s"
+msgstr "Välityspalvelintunnelointi epäonnistui: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
-msgstr "%s-pyyntö lähetetty, odotetaan vastausta... "
+msgstr "%s-pyyntö lähetetty, odotetaan vastausta... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
-msgstr "Yhtään dataa ei vastaanotettu.\n"
+msgstr "Yhtään dataa ei vastaanotettu.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Lukuvirhe (%s) otsakkeissa.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Tiedostoa ”%s” ei noudeta, koska se on jo paikalla.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
-msgstr "Tuntematon todennusjärjestelmä.\n"
+msgstr "Tuntematon todennusjärjestelmä.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
-msgstr "Todentaminen epäonnistui.\n"
+msgstr "Todentaminen epäonnistui.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
-msgstr "Väärin muotoiltu Status-otsake"
+msgstr "Väärin muotoiltu Status-otsake"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(ei kuvausta)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Sijainti: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
-msgstr "määrittelemätön"
+msgstr "määrittelemätön"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [seurataan]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -627,203 +627,220 @@ msgstr ""
 "    Tiedosto on jo kokonaan noudettu.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Pituus: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
-msgstr "jätetty huomiotta"
+msgstr "jätetty huomiotta"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Tallennetaan kohteeseen ”%s”\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "Varoitus: HTTP ei tue jokerimerkkejä.\n"
+msgstr "Varoitus: HTTP ei tue jokerimerkkejä.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr ""
-"Tiedostoa \"%s\" ei noudeta, koska se on jo paikalla.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Hakurobottitila aktivoitu. Tarkista, onko etätiedosto olemassa.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
-msgstr "Tiedostoon \"%s\" ei voitu kirjoittaa (%s).\n"
+msgstr "Tiedostoon ”%s” ei voitu kirjoittaa (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "SSL-yhteyden muodostaminen ei onnistunut.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "VIRHE: Edelleenohjaus (%d) ilman sijaintia.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Etätiedostoa ei ole – rikkinäinen linkki!!!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s VIRHE %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Last-modified -otsake puuttuu -- aikaleimat poistettu käytöstä.\n"
+msgstr "”Last-modified”-otsake puuttuu – aikaleimat poistettu käytöstä.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Viimeksi muutettu -otsake on virheellinen -- aikaleima jätetty huomiotta.\n"
+msgstr ""
+"”Last-modified”-otsake on virheellinen – aikaleima jätetty huomiotta.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Palvelimen tiedosto \"%s\" ei ole paikallista uudempi -- ei noudeta.\n"
+"Palvelimen tiedosto ”%s” ei ole paikallista uudempi – ei noudeta.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
-msgstr "Koot eivät täsmää (paikallinen %s) -- noudetaan.\n"
+msgstr "Koot eivät täsmää (paikallinen %s) – noudetaan.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
-msgstr "Etätiedosto on uudempi, noudetaan.\n"
+msgstr "Etätiedosto on uudempi, noudetaan.\n"
+
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Etätiedosto on olemassa ja saattaisi sisältää linkkejä muihin resursseihin – "
+"noudetaan.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Etätiedosto on olemassa, mutta ei sisällä yhtään linkkiä – ei noudeta.\n"
+"\n"
 
-#: src/http.c:2389 src/http.c:2455
+#  Tämä kuten useat aiemmat yllä ovat lokitiedostorivejä, joilla
+#  kommentoidaan hakurobotin tekemisiä ja tekemättä jättämisiä.
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Etätiedosto on olemassa, mutta rekursiivisuus on passivoitu – ei noudeta.\n"
+"\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - \"%s\" tallennettu [%s/%s]\n"
+"%s (%s) - ”%s” tallennettu [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Yhteys suljettu tavun %s kohdalla. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Yhteys suljettu tavun %s/%s kohdalla. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Lukuvirhe tavun %s kohdalla (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Lukuvirhe tavun %s/%s kohdalla (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC osoittaa kohteeseen %s, jota ei ole olemassa.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Ei voitu lukea %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
-msgstr "%s: Virhe kohdassa %s rivillä %d.\n"
+msgstr "%s: Virhe kohdassa %s rivillä %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
-msgstr "%s: Syntaksivirhe kohdassa %s rivillä %d.\n"
+msgstr "%s: Syntaksivirhe kohdassa %s rivillä %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
-msgstr "%s: Tuntematon komento \"%s\" kohdassa %s rivillä %d.\n"
+msgstr "%s: Tuntematon komento ”%s” kohdassa %s rivillä %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Varoitus: Sekä järjestelmän että käyttäjän wgetrc osoittavat %s tiedostoon.\n"
+msgstr ""
+"%s: Varoitus: Sekä järjestelmän että käyttäjän wgetrc osoittavat ”%s”-"
+"tiedostoon.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
-msgstr "%s: --execute \"%s\" on virheellinen komento\n"
+msgstr "%s: Komento --execute ”%s” on virheellinen\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
-msgstr "%s: %s: Valinta \"%s\" on virheellinen, valitse \"on\" tai \"off\".\n"
-
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: Valinta \"%s\" on virheellinen,\n"
-"valitse \"on\", \"off\", \"always\" tai \"never\".\n"
+msgstr "%s: %s: Valinta ”%s” on virheellinen, valitse ”on” tai ”off”.\n"
 
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
-msgstr "%s: %s: Numero \"%s\" on virheellinen.\n"
+msgstr "%s: %s: Numero ”%s” on virheellinen.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
-msgstr "%s: %s: Tavun arvo \"%s\" on virheellinen.\n"
+msgstr "%s: %s: Tavun arvo ”%s” on virheellinen.\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
-msgstr "%s: %s: Aikaväli \"%s\" on virheellinen.\n"
+msgstr "%s: %s: Aikaväli ”%s” on virheellinen.\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Arvo \"%s\" on virheellinen.\n"
+msgstr "%s: %s: Arvo ”%s” on virheellinen.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
-msgstr "%s: %s: Otsake \"%s\" on virheellinen.\n"
+msgstr "%s: %s: Otsake ”%s” on virheellinen.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
-msgstr "%s: %s: Edistymistyyppi \"%s\" on virheellinen.\n"
+msgstr "%s: %s: Edistymistyyppi ”%s” on virheellinen.\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Rajoitus \"%s\" on virheellinen, valitse \"unix\" tai \"windows\".\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Rajoitus ”%s” on virheellinen, valitse [unix|windows],[lowercase|"
+"uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
 "%s received, redirecting output to `%s'.\n"
 msgstr ""
 "\n"
-"%s vastaanotettu, ohjataan tulostus tiedostoon \"%s\".\n"
+"%s vastaanotettu, ohjataan tulostus tiedostoon ”%s”.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -832,103 +849,119 @@ msgstr ""
 "\n"
 "%s vastaanotettu.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
-msgstr "%s: %s; loki poistettu käytöstä.\n"
+msgstr "%s: %s; loki poistettu käytöstä.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "Käyttö: %s [VALITSIN]... [URL]...\n"
+msgstr "Käyttö: %s [VALITSIN]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Pakolliset argumentit pitkille valitsimille ovat pakollisia myös lyhyille.\n"
+"Pakolliset argumentit pitkille valitsimille ovat pakollisia myös lyhyille.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
-msgstr "Käynnistys:\n"
+msgstr "Käynnistys:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
-msgstr "  -V,  --version                   näytä Wget:in versio ja lopeta\n"
+msgstr "  -V,  --version                   näytä Wget-versio ja lopeta\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
-msgstr "  -h,  --help                      näytä tämä ohje\n"
+msgstr "  -h,  --help                      näytä tämä ohje\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
-msgstr "  -b,  --background                siirry taustalle käynnistyksen jälkeen\n"
+msgstr ""
+"  -b,  --background                siirry taustalle käynnistyksen jälkeen\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-msgstr "  -e,  --execute=KOMENTO           suorita .wgetrc-tyylinen komento\n"
+msgstr ""
+"  -e,  --execute=KOMENTO           suorita ”.wgetrc”-tyylinen komento\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
-msgstr "Loki ja syöttötiedostot:\n"
+msgstr "Loki ja syöttötiedostot:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
-msgstr "  -o,  --output-file=TIEDOSTO      kirjaa viestit TIEDOSTOON\n"
+msgstr "  -o,  --output-file=TIEDOSTO      kirjaa viestit TIEDOSTOon\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
-msgstr "  -a,  --append-output=TIEDOSTO    lisää viestit TIEDOSTOON\n"
+msgstr "  -a,  --append-output=TIEDOSTO    lisää viestit TIEDOSTOon\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
-msgstr "  -d,  --debug                     näytä paljon vianetsintätietoja\n"
+msgstr "  -d,  --debug                     näytä paljon vianetsintätietoja\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+"       --wdebug                    näytä ”Watt-32”-virheenjäljitystuloste.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet                     ole hiljaa (ei tulostusta)\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
-msgstr "  -v,  --verbose                   näytä yksityiskohtia (oletus)\n"
+msgstr "  -v,  --verbose                   näytä yksityiskohtia (oletus)\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --non-verbose               ei yksityiskohtia, muttei hiljainen\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose                ei yksityiskohtia, muttei hiljainen\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
-msgstr "  -i,  --input-file=TIEDOSTO       lataa URL:t TIEDOSTOSTA\n"
+msgstr "  -i,  --input-file=TIEDOSTO       lataa URL:t TIEDOSTOsta\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
-msgstr "  -F,  --force-html                käsittele syöttötiedosto HTML:nä\n"
+msgstr "  -F,  --force-html                käsittele syötetiedosto HTML:nä\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"  -B,  --base=URL                  lisää URL suhteellisten linkkien alkuun\n"
-"                                   -F -i valintojen määrittelemään tiedostoon\n"
+"  -B,  --base=URL                  lisää URL suhteellisten linkkien alkuun\n"
+"                                   -F -i valintojen määrittelemään "
+"tiedostoon\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Noutaminen:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=MÄÄRÄ               yrityskertojen MÄÄRÄ (0 on rajaton)\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=MÄÄRÄ               yrityskertojen MÄÄRÄ (0 on rajaton)\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused         yritä uudelleen vaikka yhteys torjuttaisiin\n"
+msgstr ""
+"       --retry-connrefused         yritä uudelleen vaikka yhteys "
+"torjuttaisiin\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
-msgstr "  -O,  --output-document=TIEDOSTO  kirjoita dokumentit TIEDOSTOON\n"
+msgstr "  -O,  --output-document=TIEDOSTO  kirjoita dokumentit TIEDOSTOon\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
@@ -936,424 +969,563 @@ msgstr ""
 "  -nc, --no-clobber                ohita noudot, jotka korvaisivat jo\n"
 "                                   olemassaolevia tiedostoja\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                  jatka osittain noudetun tiedoston noutamista\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                  jatka osittain noudetun tiedoston "
+"noutamista\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=TYYPPI           valitse edistymismittarin tyyppi\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping              nouda vain paikallista uudemmat tiedostot\n"
+msgstr ""
+"  -N,  --timestamping              nouda vain paikallista uudemmat "
+"tiedostot\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
-msgstr "  -S,  --server-response           näytä palvelimen vastaus\n"
+msgstr "  -S,  --server-response           näytä palvelimen vastaus\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
-msgstr "       --spider                    älä nouda mitään\n"
+msgstr "       --spider                    älä nouda mitään\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
 msgstr "  -T,  --timeout=SEKUNTIA          kaikkien aikakatkaisujen pituus\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SEKUNTIA      nimipalveluhaun aikakatkaisun pituus\n"
+msgstr ""
+"       --dns-timeout=SEKUNTIA      nimipalveluhaun aikakatkaisun pituus\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SEKUNTIA  yhdistämisen aikakatkaisun pituus\n"
+msgstr "       --connect-timeout=SEKUNTIA  yhdistämisen aikakatkaisun pituus\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=SEKUNTIA     vastaanoton aikakatkaisun pituus\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=SEKUNTIA             odota SEKUNTIA noutojen välillä\n"
+msgstr "  -w,  --wait=SEKUNTIA             odota SEKUNTIA noutojen välillä\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
 "       --waitretry=SEKUNTIA        odota 1...SEKUNTIA noutojen\n"
-"                                   uudelleenyritysten välillä\n"
+"                                   uudelleenyritysten välillä\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait               odota 0...2*WAIT sekuntia noutojen välillä\n"
-
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                     välityspalvelin päälle\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait               odota 0...2*WAIT sekuntia noutojen "
+"välillä\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
-msgstr "       --no-proxy                  välityspalvelin pois päältä\n"
+msgstr "       --no-proxy                  välityspalvelin pois päältä\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=LUKU                noutokiintiön koko\n"
+msgstr "  -Q,  --quota=LUKU                noutokiintiön koko\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=OSOITE       liitä (palvelin tai IP-) OSOITE paikallisesti\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=OSOITE       liitä (palvelin tai IP-) OSOITE "
+"paikallisesti\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr "       --limit-rate=NOPEUS         rajoita noutonopeutta\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache              älä säilytä nimipalvelutietoja välimuistissa\n"
+msgstr ""
+"       --no-dns-cache              älä säilytä nimipalvelutietoja "
+"välimuistissa\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
-"       --restrict-file-names=KJ    käytä vain käyttöjärjestelmän\n"
-"                                   sallimia tiedostonimiä\n"
+"       --restrict-file-names=KJ    käytä vain käyttöjärjestelmän\n"
+"                                   sallimia tiedostonimiä\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ei oteta huomioon merkkikokoa kun verrataan "
+"tiedostoja/hakemistoja.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
-msgstr "  -4,  --inet4-only                ota yhteyttä vain IPv4-osoitteisiin\n"
+msgstr ""
+"  -4,  --inet4-only                ota yhteyttä vain IPv4-osoitteisiin\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
-msgstr "  -6,  --inet6-only                ota yhteyttä vain IPv6-osoitteisiin\n"
+msgstr ""
+"  -6,  --inet6-only                ota yhteyttä vain IPv6-osoitteisiin\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=PERHE       ota yhteyttä ensin PERHEen määrittemään\n"
-"                                   osoitteeseen, vaihtoedot: IPv6, IPv4 tai none\n"
+"       --prefer-family=PERHE       ota yhteyttä ensin PERHEen määrittemään\n"
+"                                   osoitteeseen, vaihtoedot: IPv6, IPv4 tai "
+"none\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=KÄYTTÄJÄ             FTP- ja HTTP-käyttäjänimi\n"
+msgstr "       --user=KÄYTTÄJÄ             FTP- ja HTTP-käyttäjänimi\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr "       --password=SALASANA         FTP- ja HTTP-salasana\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Hakemistot:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
-msgstr "  -nd  --no-directories             älä luo hakemistoja\n"
+msgstr "  -nd  --no-directories            älä luo hakemistoja\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
-msgstr "  -x,  --force-directories          pakotettu hakemistojen luonti\n"
+msgstr "  -x,  --force-directories         pakotettu hakemistojen luonti\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
-msgstr "  -nH, --no-host-directories        älä luo palvelin hakemistoja\n"
+msgstr "  -nH, --no-host-directories       älä luo palvelinhakemistoja\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories       käytä protokollan nimeä hakemistoissa\n"
+msgstr ""
+"       --protocol-directories      käytä protokollan nimeä hakemistoissa\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
-msgstr "  -P,  --directory-prefix=ETULIITE  tallenna tiedostot hakemistoon ETULIITE/...\n"
+msgstr ""
+"  -P,  --directory-prefix=ETULIITE tallenna tiedostot hakemistoon "
+"ETULIITE/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=LUKU              ohita alusta LUKU kappaletta hakemistoja\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=LUKU             ohita alusta LUKU kappaletta hakemistoja\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP-valitsimet:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
-msgstr "       --http-user=KÄYTTÄJÄ     HTTP-käyttäjänimi\n"
+msgstr "       --http-user=KÄYTTÄJÄ        HTTP-käyttäjänimi\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
-msgstr "       --http-passwd=SALASANA   HTTP-salasana\n"
+msgstr "       --http-passwd=SALASANA      HTTP-salasana\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache               älä käytä palvelimelle välivarastoidua dataa\n"
+msgstr ""
+"       --no-cache                  älä käytä palvelimelle välivarastoitua "
+"dataa\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension         tallenna HTML-dokumentit .html-päätteisinä\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension            tallenna HTML-dokumentit ”.html”-"
+"päätteisinä\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length          älä välitä \"Content-Length\"-otsakekentästä\n"
+msgstr ""
+"       --ignore-length             älä välitä ”Content-Length”-"
+"otsakekentästä\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=MERKKIJONO      lisää MERKKIJONO otsakkeiden sekaan\n"
+msgstr ""
+"       --header=MERKKIJONO         lisää MERKKIJONO otsakkeiden sekaan\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect              uudelleenohjausten sallittu maksimimäärä "
+"sivua kohden.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=KÄYTTÄJÄ    aseta välityspalvelimen käyttäjänimi\n"
+msgstr "       --proxy-user=KÄYTTÄJÄ       välityspalvelimen käyttäjänimi\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
-msgstr "       --proxy-passwd=SALASANA  aseta välityspalvelimen salasana\n"
+msgstr "       --proxy-passwd=SALASANA     välityspalvelimen salasana\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL            liitä \"Referer: URL\"-otsake HTTP-pyyntöön\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL               liitä ”Referer: URL”-otsake HTTP-"
+"pyyntöön\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
-msgstr "       --save-headers           tallenna HTTP-otsakkeet tiedostoon\n"
+msgstr ""
+"       --save-headers              tallenna HTTP-otsakkeet tiedostoon\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENTTI     tunnnistaudu Wget/version sijasta AGENTIKSI\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENTTI        tunnnistaudu Wget/version sijasta AGENTTI-"
+"käyttäjäksi\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive     ota pois käytöstä jatkuvat yhteydet\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive        ota pois käytöstä jatkuvat yhteydet\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
-msgstr "       --no-cookies             älä käytä evästeitä\n"
+msgstr "       --no-cookies                älä käytä evästeitä\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=TIEDOSTO  lue evästeet ennen istuntoa\n"
+msgstr ""
+"       --load-cookies=TIEDOSTO     lue evästeet ennen istuntoa TIEDOSTOsta\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=TIEDOSTO  tallenna evästeet istunnon jälkeen\n"
+msgstr ""
+"       --save-cookies=TIEDOSTO     tallenna evästeet istunnon jälkeen "
+"TIEDOSTOon\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies   hae ja tallenna (väliaikaiset) istuntoevästeet\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies      hae ja tallenna (väliaikaiset) "
+"istuntoevästeet\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=MERKKIJONO   käytä POST-metodia; lähetä MERKKIJONO datana\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=MERKKIJONO      käytä POST-metodia; lähetä MERKKIJONO "
+"datana\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=TIEDOSTO     käytä POST-metodia; lähetä TIEDOSTON sisältö\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=TIEDOSTO        käytä POST-metodia; lähetä TIEDOSTON "
+"sisältö\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   kunnioittaa Content-Disposition-otsaketta "
+"kun\n"
+"                               valitaan paikalliset tiedostonimet "
+"(KOKEELLINEN).\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL/TLS) -valitsimet:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR         valitse turvaprotokolla, vaihtoehdot:\n"
-"                                    auto, SSLv2, SSLv3 tai TLSv1\n"
+"       --secure-protocol=PR        valitse turvaprotokolla, vaihtoehdot:\n"
+"                                   auto, SSLv2, SSLv3 tai TLSv1\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate       älä tarkista palvelimen varmennetta\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate      älä tarkista palvelimen varmennetta\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
-msgstr "       --certificate=TIEDOSTO       asiakasvarmenne\n"
+msgstr "       --certificate=TIEDOSTO      asiakasvarmenne\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TYYPPI    asiakasvarmenteen tyyppi: PEM tai DER\n"
+msgstr ""
+"       --certificate-type=TYYPPI   asiakasvarmenteen tyyppi: PEM tai DER\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
-msgstr "       --private-key=TIEDOSTO       salainen avain\n"
+msgstr "       --private-key=TIEDOSTO      salainen avain\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=TYYPPI    salaisen avaimen tyyppi: PEM tai DER\n"
+msgstr ""
+"       --private-key-type=TYYPPI   salaisen avaimen tyyppi: PEM tai DER\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
-msgstr "       --ca-certificate=TIEDOSTO    juurivarmennekokoelma\n"
+msgstr "       --ca-certificate=TIEDOSTO   juurivarmennekokoelma\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=HAKEMISTO     juurivarmenteiden hajautuslista\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr "       --ca-directory=HAKEMISTO    juurivarmenteiden hajautuslista\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=TIEDOSTO       satunnaista dataa SSL PRNG:n siemeneksi\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=TIEDOSTO      satunnaista dataa SSL PRNG:n siemeneksi\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=TIEDOSTO          EGD-pistoke, josta saa satunnaista dataa\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=TIEDOSTO         EGD-pistoke, josta saa satunnaista dataa\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP-valitsimet:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
-msgstr "       --ftp-user=KÄYTTÄJÄ          FTP-käyttäjänimi\n"
+msgstr "       --ftp-user=KÄYTTÄJÄ         FTP-käyttäjänimi\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
-msgstr "       --ftp-password=SALASANA      FTP-salasana\n"
+msgstr "       --ftp-password=SALASANA     FTP-salasana\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
-msgstr "       --dont-remove-listing        älä poista .listing-tiedostoja\n"
+msgstr "       --no-remove-listing         älä poista ”.listing”-tiedostoja\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob                    älä täydennä tiedostonimiä\n"
+msgstr "       --no-glob                   älä täydennä tiedostonimiä\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp             älä käytä \"passiivista\" siirtotapaa\n"
+msgstr ""
+"       --no-passive-ftp            älä käytä ”passiivista” siirtotapaa\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
-"       --retr-symlinks              rekursiossa: hae linkitetyt tiedostot\n"
-"                                    (ei hakemistoja)\n"
+"       --retr-symlinks             rekursiossa: hae linkitetyt tiedostot\n"
+"                                   (ei hakemistoja)\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions       säilytä noudetun tiedoston oikeudet\n"
+msgstr ""
+"       --preserve-permissions      säilytä noudetun tiedoston oikeudet\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Rekursiivinen nouto:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
-msgstr "  -r,  --recursive                  nouda rekursiivisesti\n"
+msgstr "  -r,  --recursive                 nouda rekursiivisesti\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=LUKU                 rekursiosyvyys (inf ja 0 = ääretön)\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=LUKU                rekursiosyvyys (inf ja 0 = ääretön)\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after               poista tiedostot haun jälkeen\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr "       --delete-after              poista tiedostot haun jälkeen\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr ""
-"  -k,  --convert-links              aseta haettujen HTML-sivujen linkit\n"
-"                                    osoittamaan paikallisiin tiedostoihin\n"
+"  -k,  --convert-links             aseta haettujen HTML-sivujen linkit\n"
+"                                   osoittamaan paikallisiin tiedostoihin\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr ""
-"  -K,  --backup-converted           ennen tiedoston X muuttamista,\n"
-"                                    varmuuskopioi X.orig nimellä\n"
+"  -K,  --backup-converted          ennen tiedoston X muuttamista,\n"
+"                                   varmuuskopioi X.orig nimellä\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
 msgstr ""
-"  -m,  --mirror                     oikovalitsin, yhtäkuin -r -N -l inf\n"
-"                                    --no-remove-listing\n"
+"  -m,  --mirror                    oikovalitsin, yhtäkuin -r -N -l inf\n"
+"                                   --no-remove-listing\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
-"  -p,  --page-requisites            nouda kaikki kuvat yms. HTML-sivun\n"
-"                                    näyttämiseen tarvittava.\n"
+"  -p,  --page-requisites           nouda kaikki kuvat yms. HTML-sivun\n"
+"                                   näyttämiseen tarvittava.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
 msgstr ""
-"       --strict-comments            käytä HTML-kommenttien tiukkaa\n"
-"                                    (SGML) käsittelyä\n"
+"       --strict-comments           käytä HTML-kommenttien tiukkaa\n"
+"                                   (SGML) käsittelyä\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr ""
-"Rekursiivinen hyväksyntä/torjunta:\n"
+"Rekursiivinen hyväksyntä/torjunta:\n"
 "(listojen osat erotellaan pilkuin)\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=LISTA               lista hyväksytyistä päätteistä\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr "  -A,  --accept=LISTA              lista hyväksytyistä päätteistä\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=LISTA               lista torjutuista päätteistä\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr "  -R,  --reject=LISTA              lista torjutuista päätteistä\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=LISTA              lista hyväksytyistä verkkotunnuksista\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LISTA             lista hyväksytyistä verkkotunnuksista\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=LISTA      lista torjutuista verkkotunnuksista\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LISTA     lista torjutuista verkkotunnuksista\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                 seuraa ftp-linkkejä HTML-dokumenteista\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                seuraa ftp-linkkejä HTML-dokumenteista\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=LISTA          lista seurattavista HTML-tageista\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr "       --follow-tags=LISTA         lista seurattavista HTML-tageista\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=LISTA          lista ohitettavista HTML-tageista\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr "       --ignore-tags=LISTA         lista ohitettavista HTML-tageista\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                 siirry rekursiossa eri palvelimille\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                siirry rekursiossa eri palvelimille\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
-msgstr "  -L,  --relative                   seuraa vain suhteellisia linkkejä\n"
+msgstr "  -L,  --relative                  seuraa vain suhteellisia linkkejä\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
-msgstr "  -I,  --include-directories=LISTA  lista hyväksytyistä hakemistoista\n"
+msgstr "  -I,  --include-directories=LISTA lista hyväksytyistä hakemistoista\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
-msgstr "  -X,  --exclude-directories=LISTA  lista poissuljetuista hakemistoista\n"
+msgstr ""
+"  -X,  --exclude-directories=LISTA lista poissuljetuista hakemistoista\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                  älä nouse hakemistorakenteessa\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr "  -np, --no-parent                 älä nouse hakemistorakenteessa\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "Lähetä virheraportit ja ehdotukset osoitteeseen <bug-wget@gnu.org>.\n"
+msgstr "Lähetä virheraportit ja ehdotukset osoitteeseen <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, tiedostojen noutaja.\n"
+msgstr "GNU Wget %s, ei-vuorovaikutteinen tiedostojen noutaja.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Tekijänoikeus © 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Tekijänoikeudet © 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen,\n"
-"mutta ilman mitään takuuta; ilman edes hiljaista takuuta kaupallisesti\n"
-"hyväksyttävästä laadusta tai soveltuvuudesta tiettyyn tarkoitukseen.\n"
-"Katso GPL-lisenssistä lisää yksityiskohtia.\n"
-
-#: src/main.c:665
+"Lisenssi GPLv3+: GNU GPL versio 3 tai myöhäisempi\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Tämä on vapaa ohjelmisto: voit muuttaa sitä vapaasti ja jakaa sitä "
+"edelleen.\n"
+"Ohjelmalle EI OLE MITÄÄN TAKUUTA siinä laajuudessa, mitä laki sallii.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1361,196 +1533,230 @@ msgstr ""
 "\n"
 "Alunperin kirjoittanut Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Nykyinen ylläpitäjä Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
-msgstr "Kirjoita \"%s --help\" saadaksesi lisää valitsimia.\n"
+msgstr "Kirjoita ”%s --help” saadaksesi lisää valitsimia.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: virheellinen valitsin -- \"-n%c\"\n"
+msgstr "%s: virheellinen valitsin – ”-n%c”\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
-msgstr "Ei voi näyttää yksityiskohtia ja olla hiljaa yhtä aikaa.\n"
+msgstr "Ei voi näyttää yksityiskohtia ja olla hiljaa yhtä aikaa.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Vanhoja tiedostoja ei voi aikaleimata ja jättää koskematta yhtä aikaa.\n"
+msgstr ""
+"Vanhoja tiedostoja ei voi aikaleimata ja jättää koskematta yhtä aikaa.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
-msgstr "Argumentteja --inet4-only ja --inet6-only ei voi käyttää yhtä aikaa.\n"
+msgstr ""
+"Argumentteja ”--inet4-only” ja ”--inet6-only” ei voi käyttää yhtä aikaa.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+"Ei voida määritellä argumentteja ”-r”, ”-p” tai ”-N” jos ”-O” on annettu.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+"Ei voida määritellä sekä argumenttia ”-k” että argumenttia ”-O” jos on "
+"annettu useita URL-osoitteita.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL puuttuu\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
-msgstr "Tiedostosta %s ei löytynyt URLeja.\n"
+msgstr "Tiedostosta %s ei löytynyt URLeja.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "VALMIS --%s--\n"
-"Noudettu: %s tavua ja %d tiedostoa\n"
+"Noudettu: %d tiedostoa, %s kohteesssa %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Hakukiintiö (%s tavua) YLITETTY!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Haun %s:n tavun kiintiö YLITETTY!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Ohjelman suoritus jatkuu taustalla.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Ohjelman suoritus jatkuu taustalla, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
-msgstr "Tuloste kirjoitetaan tiedostoon \"%s\".\n"
+msgstr "Tuloste kirjoitetaan tiedostoon ”%s”.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
-msgstr "%s: Ei löytynyt käyttökelpoista socket-ajuria.\n"
+msgstr "%s: Ei löytynyt käyttökelpoista pistokeajuria.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: varoitus: \"%s\"-merkintä esiintyy kaikkien koneiden nimien edessä\n"
+msgstr ""
+"%s: %s:%d: varoitus: ”%s”-merkintä esiintyy kaikkien koneiden nimien edessä\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
-msgstr "%s: %s:%d: tuntematon merkki \"%s\"\n"
+msgstr "%s: %s:%d: tuntematon merkki ”%s”\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
-msgstr "Käyttö: %s NETRC [PALVELIMEN NIMI]\n"
+msgstr "Käyttö: %s NETRC [PALVELIMEN NIMI]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: tiedoston %s tilaa ei voitu lukea: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
-msgstr "VAROITUS: satunnaislukujen lähde on heikkolaatuinen.\n"
+msgstr "VAROITUS: satunnaislukujen lähde on heikkolaatuinen.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "PRNG:tä ei voitu alustaa; harkitse --random-file valitsimen käyttöä.\n"
+msgstr ""
+"PRNG:tä ei voitu alustaa; harkitse ”--random-file”-valitsimen käyttöä.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "VIRHE"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "VAROITUS"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
-msgstr "%s: %s ei esittänyt varmennetta.\n"
+msgstr "%s: %s ei esittänyt varmennetta.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: %s:n varmenteen tarkistaminen ei onnistunut: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: ei voida todentaa kohteen %s varmennetta, myöntäjä: ”%s”:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Ei voida paikallisesti todentaa myöntäjän valtuutusta.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Itse allekirjoitettu varmenne kohdattu.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Varmenne ei ole vielä voimassa.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Varmenne on vanhentunut.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: varmenteen yleinen nimi \"%s\" ei täsmää palvelimen nimeen \"%s\".\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr "%s: varmenteen yleinen nimi ”%s” ei täsmää palvelimen nimeen ”%s”.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Ottaaksesi yhteyden kohteeseen %s:n turvattomasti, käytä --no-check-certificate valitsinta.\n"
+msgstr ""
+"Ottaaksesi yhteyden kohteeseen %s:n turvattomasti, käytä ”--no-check-"
+"certificate”-valitsinta.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ ohitetaan %dK ]"
+"%*s[ ohitetaan %sK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "Pistetyylin määrittely \"%s\" on virheellinen; jätetään muuttamatta.\n"
+msgstr "Pistetyylin määrittely ”%s” on virheellinen; jätetään muuttamatta.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#  Tämä ja seuraava ovat täysiä arvoituksia.
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  eta %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   in "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "REAALIAIKAkellon taajuutta ei saatu: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
-msgstr "Poistetaan %s, koska sen pitäisi olla hylätty.\n"
+msgstr "Poistetaan %s, koska sen pitäisi olla hylätty.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Ei voitu avata tiedostoa %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
-msgstr "Ladataan robots.txt; älä välitä virheistä.\n"
+msgstr "Ladataan robots.txt, älä välitä virheistä.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
-msgstr "Virhe tulkittaessa välityspalvelimen URLia %s: %s.\n"
+msgstr "Virhe tulkittaessa välityspalvelimen URLia %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
-msgstr "Virhe välityspalvelimen URLissa %s: Sen täytyy olla HTTP.\n"
+msgstr "Virhe välityspalvelimen URLissa %s: Sen täytyy olla HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d edelleenohjausta ylitetty.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1558,58 +1764,85 @@ msgstr ""
 "Luovutetaan.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
 msgstr ""
-"Yritetään uudelleen.\n"
+"Yritetään uudelleen.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Ei löydetty rikkinäisiä linkkejä.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Löydettiin %d rikkinäinen linkki.\n"
+"\n"
+msgstr[1] ""
+"Löydettiin %d rikkinäistä linkkiä.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
-msgstr "Ei virhettä"
+msgstr "Ei virhettä"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Kaavaa ei tueta"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Palvelimen nimi on virheellinen"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Portin numero on virheellinen"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
-msgstr "Käyttäjätunnus on virheellinen"
+msgstr "Käyttäjätunnus on virheellinen"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
-msgstr "Päättämätön numeerinen IPv6-osoite"
+msgstr "Päättämätön numeerinen IPv6-osoite"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6-osoitteita ei tueta"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Virheellinen numeerinen IPv6-osoite"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Ohjelman suoritus jatkuu taustalla, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
-msgstr "Symbolisen linkin \"%s\" poistaminen epäonnistui: %s\n"
+msgstr "Symbolisen linkin ”%s” poistaminen epäonnistui: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
-msgstr "%s: %s: Muisti on loppu, %ld tavun varaaminen epäonnistui.\n"
+msgstr "%s: %s: Muisti loppui, %ld tavun varaaminen epäonnistui.\n"
index 52f11211ab8db84ae263eeead2c8a4e66e4c1819..84f7472d05c4d331a72a2cb7a3df03ec221f2990 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2005-08-10 08:00-0500\n"
 "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -15,206 +15,265 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: l'option « %s » est ambiguë.\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: l'option « --%s » ne permet pas d'argument.\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: l'option « %c%s » ne permet pas d'argument.\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: l'option « %s » requiert un argument.\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: l'option « --%s » n'est pas reconnue.\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: l'option « %c%s » n'est pas reconnue.\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: option illégale -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: option invalide -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'option requiert un argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: l'option « -W %s » est ambiguë.\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: l'option « -W %s » ne permet pas d'argument.\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr "%s: incapable de résoudre l'adresse lié `%s'; désactivation de bind.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Connexion vers %s|%s|:%d..."
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Connexion vers %s:%d..."
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "connecté.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "échec: %s.\n"
 
-#: src/convert.c:176
-#, c-format
-msgid "Converted %d files in %.*f seconds.\n"
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: incapable de résoudre l'adresse lié `%s'; désactivation de bind.\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Conversion des fichiers %d en %.*f secondes.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Conversion de %s..."
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "rien à faire.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Ne peut convertir les liens dans %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "ÉCHEC de destruction de « %s »: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Ne peut archiver %s comme %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Erreur dans Set-Cookie(), champ « %s »"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Erreur de syntaxe dans Set-Cookie: %s à la position %d\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
-msgstr "Les cookies provenant de %s a provoqué une tentative de changement de domaine à %s\n"
+msgstr ""
+"Les cookies provenant de %s a provoqué une tentative de changement de "
+"domaine à %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Ne peut ouvrir le fichier des cookies « %s »: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Ne peut écrire dans « %s »: %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Erreur de fermeture « %s »: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Type d'affichage (listing) non-supporté, on essaye le parseur d'affichage à la Unix.\n"
+msgstr ""
+"Type d'affichage (listing) non-supporté, on essaye le parseur d'affichage à "
+"la Unix.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Index de /%s sur %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "heure inconnue     "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Fichier     "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Répertoire  "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Lien        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Incertain   "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s octets)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Longueur: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) restant"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s restant"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (non certifiée)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Ouverture de session en %s..."
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "ERREUR dans la réponse du serveur, fermeture de connexion de contrôle.\n"
+msgstr ""
+"ERREUR dans la réponse du serveur, fermeture de connexion de contrôle.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "ERREUR dans le message de salutation du serveur.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "ÉCHEC d'écriture, fermeture de connexion de contrôle.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Le serveur refuse l'établissement de session.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Établissement de session erroné.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Session établie!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Erreur du serveur, ne peut déterminer le type de système.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "complété.    "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "complété.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Type %c inconnu, fermeture de connexion de contrôle.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "complété.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD n'est pas nécessaire.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -223,34 +282,33 @@ msgstr ""
 "Répertoire « %s » inexistant.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD n'est pas requis.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Ne peut initier le transfert PASV.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Ne peut analyser la réponse PASV.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "ne peut établir la connexion vers %s sur le port %d: %s.\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "ERREUR de « bind » (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Port non valable.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -258,7 +316,7 @@ msgstr ""
 "\n"
 "ÉCHEC de REST, reprise depuis le début.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -267,7 +325,7 @@ msgstr ""
 "Fichier « %s » inexistant.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -276,44 +334,40 @@ msgstr ""
 "Fichier ou répertoire « %s » inexistant.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s vient de s'annoncer comme existante.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, fermeture de la connexion de contrôle.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Connexion de transfert de données: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Connexion de contrôle fermée.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Transfert des données abandonné.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "Fichier « %s » est déjà là; pas de récupération.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(essai:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -322,43 +376,42 @@ msgstr ""
 "%s (%s) - « %s » sauvegardé [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Destruction de %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Utilisation de « %s » comme fichier temporaire de listage.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "« %s » détruit.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Le niveau %d de récursivité dépasse le niveau maximum %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Fichier distant pas plus récent que le fichier local « %s » -- pas de récupération.\n"
+msgstr ""
+"Fichier distant pas plus récent que le fichier local « %s » -- pas de "
+"récupération.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
-msgstr "Fichier distant plus récent que le fichier local « %s » -- récupération.\n"
+msgstr ""
+"Fichier distant plus récent que le fichier local « %s » -- récupération.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -367,11 +420,11 @@ msgstr ""
 "Les tailles ne concordent pas (local %s) -- récupération.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Nom erroné d'un lien symbolique, escamoté.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -380,242 +433,189 @@ msgstr ""
 "Lien symbolique déjà correct %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Création du lien symbolique %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Lien symbolique non supporté, escamotage du lien « %s ».\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Répertoire « %s » escamoté.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: type de fichier inconnu ou non supporté.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: tampon date-heure corrompu.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Les répertoires ne seront pas récupérés, la profondeur %d dépasse le maximum %d.\n"
+msgstr ""
+"Les répertoires ne seront pas récupérés, la profondeur %d dépasse le maximum "
+"%d.\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "%s n'a pas été parcouru puisqu'il est exclu ou non inclus.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Rejet de « %s ».\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Ne peut écrire dans « %s »: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Pas de concordance avec le patron « %s ».\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Index HTML-isé écrit dans « %s » [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Index HTML-isé écrit dans « %s ».\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'option « %s » est ambiguë.\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'option « --%s » ne permet pas d'argument.\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'option « %c%s » ne permet pas d'argument.\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'option « %s » requiert un argument.\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: l'option « --%s » n'est pas reconnue.\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: l'option « %c%s » n'est pas reconnue.\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: option illégale -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: option invalide -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'option requiert un argument -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'option « -W %s » est ambiguë.\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'option « -W %s » ne permet pas d'argument.\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Hôte inconnu"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "?chec temporaire dans la résolution du nom"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "ERREUR inconnue"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Résolution de %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "échec: pas d'adresses IPv4/IPv6 pour l'hôte.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "échec: expiration de la minuterie\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: ne peut résoudre le lien incomplet %s.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: URL invalide %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "ÉCHEC d'écriture de la requête HTTP: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Pas d'en-tête, HTTP/0.9 assumé"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "Désactivation SSL en raison des erreurs rencontrés.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "Fichier de données POST `%s' est manquant: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Réutilisation de la connexion existante vers %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "ÉCHEC de lecture de la réponse proxy: %s.\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Échec du tunneling proxy: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "requête %s transmise, en attente de la réponse..."
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Aucune donnée reçue.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "ERREUR de lecture (%s) de l'en-tête.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Fichier « %s » est déjà là; pas de récupération.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Schème d'authentification inconnu.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "ÉCHEC d'autorisation.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Ligne d'état mal composée"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(pas de description)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Emplacement: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "non spécifié"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [suivant]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -625,79 +625,106 @@ msgstr ""
 "    Le fichier a déjà été complètement récupéré; rien à faire.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Longueur: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignoré"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Répertoire « %s » escamoté.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "AVERTISSEMENT: les métacaractères ne sont pas supportés en HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
 msgstr ""
-"Fichier « %s » est déjà là; pas de récupération.\n"
-"\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Ne peut écrire dans « %s » (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Incapable d'établir une connexion SSL.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ERREUR: redirection (%d) sans destination.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERREUR %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "En-tête de dernière modification manquant -- tampon date-heure ignoré.\n"
+msgstr ""
+"En-tête de dernière modification manquant -- tampon date-heure ignoré.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "En-tête de dernière modification erroné -- tampon date-heure ignoré.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Le fichier du serveur n'est pas plus récent que le fichier local « %s » -- pas de récupération.\n"
+"Le fichier du serveur n'est pas plus récent que le fichier local « %s » -- "
+"pas de récupération.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Les tailles ne concordent pas (local %s) -- récupération.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Le fichier distant est plus récent, récupération.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Fichier distant plus récent que le fichier local « %s » -- récupération.\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Fichier distant pas plus récent que le fichier local « %s » -- pas de "
+"récupération.\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Fichier distant pas plus récent que le fichier local « %s » -- pas de "
+"récupération.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -706,111 +733,102 @@ msgstr ""
 "%s (%s) - « %s » sauvegardé [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Fermeture de la connexion à l'octet %s. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Fermeture de la connexion à l'octet %s/%s. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - ERREUR de lecture à l'octet %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - ERREUR de lecture à l'octet %s/%s (%s)."
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC pointe vers %s lequel n'existe pas.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: ne peut lire %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: ERREUR dans %s à la ligne %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: ERREUR de syntaxe dans %s à la ligne %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: commande inconnue « %s » dans %s à la ligne %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: AVERTISSEMENT wgetrc tant du système que de l'usager pointe vers « %s ».\n"
+msgstr ""
+"%s: AVERTISSEMENT wgetrc tant du système que de l'usager pointe vers « %s "
+"».\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: invalide -- commande exécutée « %s »\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: booléen invalide « %s »; utiliser « on » ou « off ».\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: booléen étendu invalide « %s »;\n"
-"utiliser une des options « on », « off », « always » ou « never ».\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: nombre invalide « %s ».\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: valeur d'octet invalide « %s ».\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: période de temps invalide « %s ».\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: valeur invalide « %s ».\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: en-tête invalide « %s ».\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: type de progression invalide « %s ».\n"
 
-#: src/init.c:1259
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: restriction invalide « %s », utiliser « unix » ou « windows ».\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: restriction invalide « %s », utiliser « unix » ou « windows ».\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -819,9 +837,7 @@ msgstr ""
 "\n"
 "%s reçu, redirection de la sortie vers « %s ».\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -830,17 +846,17 @@ msgstr ""
 "\n"
 "%s reçu.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; désactivation de la journalisation.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Usage: %s [OPTION]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -849,493 +865,702 @@ msgstr ""
 "aussi pour les options de format court.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Démarrage:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           afficher la version de Wget et quitter.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              afficher l'aide-mémoire.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
-msgstr "  -b,  --background        passer à l'arrière plan après le démarrage.\n"
+msgstr ""
+"  -b,  --background        passer à l'arrière plan après le démarrage.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=COMMANDE  exécuter une commande `.wgetrc'-style\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Journalisation et fichier d'entrée:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
-msgstr "  -o,  --output-file=FICHIER journaliser les messages dans le FICHIER.\n"
+msgstr ""
+"  -o,  --output-file=FICHIER journaliser les messages dans le FICHIER.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=FICHIER accoler les messages au FICHIER.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
-msgstr "  -d,  --debug               afficher les informations lors de la mise au point.\n"
+msgstr ""
+"  -d,  --debug               afficher les informations lors de la mise au "
+"point.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+#, fuzzy
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+"  -d,  --debug               afficher les informations lors de la mise au "
+"point.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
-msgstr "  -q,  --quiet               exécuter en mode silencieux (sans sortie d'affichage).\n"
+msgstr ""
+"  -q,  --quiet               exécuter en mode silencieux (sans sortie "
+"d'affichage).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
-msgstr "  -v,  --verbose             exécuter en mode bavard (mode par défaut).\n"
+msgstr ""
+"  -v,  --verbose             exécuter en mode bavard (mode par défaut).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --no-verbose          éteindre le mode bavard, sans être silencieux.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          éteindre le mode bavard, sans être silencieux.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
-msgstr "  -i,  --input-file=FICHIER  télécharger les URLs à partir du FICHIER.\n"
+msgstr ""
+"  -i,  --input-file=FICHIER  télécharger les URLs à partir du FICHIER.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
-msgstr "  -F,  --force-html          traiter le fichier d'entrée comme du HTML.\n"
+msgstr ""
+"  -F,  --force-html          traiter le fichier d'entrée comme du HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            accoler les URL aux liens relatifs dans -F -i fichier.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            accoler les URL aux liens relatifs dans -F -i "
+"fichier.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Téléchargement:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=NOMBRE            fixer le NOMBRE de tentatives de reprises (0 sans limite).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NOMBRE            fixer le NOMBRE de tentatives de reprises "
+"(0 sans limite).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       ré-essayer même si la connexion est refusée.\n"
+msgstr ""
+"       --retry-connrefused       ré-essayer même si la connexion est "
+"refusée.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
-msgstr "  -O,  --output-document=FICHIER écrire les documents dans le FICHIER.\n"
+msgstr ""
+"  -O,  --output-document=FICHIER écrire les documents dans le FICHIER.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr ""
-"  -nc, --no-clobber              escamoter les téléchargements qui le seraient\n"
+"  -nc, --no-clobber              escamoter les téléchargements qui le "
+"seraient\n"
 "                                 à partir de fichiers existants.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                poursuivre le téléchargement d'un fichier partiellement téléchargé.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                poursuivre le téléchargement d'un fichier "
+"partiellement téléchargé.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=TYPE           sélectionner le type de jauge de progresssion de téléchargement.\n"
+msgstr ""
+"       --progress=TYPE           sélectionner le type de jauge de "
+"progresssion de téléchargement.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
 msgstr ""
-"  -N,  --timestamping            ne pas re-télécharger les fichiers à moins que\n"
-"                                 qu'il y en aient de plus récents que les locaux.\n"
+"  -N,  --timestamping            ne pas re-télécharger les fichiers à moins "
+"que\n"
+"                                 qu'il y en aient de plus récents que les "
+"locaux.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         afficher la réponse du serveur.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  ne pas télécharger n'importe quoi.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SECONDES        fixer toutes les valeurs de minuterie à SECONDES.\n"
+msgstr ""
+"  -T,  --timeout=SECONDES        fixer toutes les valeurs de minuterie à "
+"SECONDES.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SECS        fixer le temps de minuterie de recherche dans le DNS à SECS.\n"
+msgstr ""
+"       --dns-timeout=SECS        fixer le temps de minuterie de recherche "
+"dans le DNS à SECS.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SECS    fixer le temps de minuterie de connexion à SECS.\n"
+msgstr ""
+"       --connect-timeout=SECS    fixer le temps de minuterie de connexion à "
+"SECS.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=SECS       fixer le temps de minuterie de lecture à SECS.\n"
+msgstr ""
+"       --read-timeout=SECS       fixer le temps de minuterie de lecture à "
+"SECS.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SECONDES           attendre SECONDES entre les essais.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=SECONDES      attendre 1..SECONDES entre les essais d'une récupération.\n"
-
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait             attendre 0...2*ATTENTE secondes entre les récupérations.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SECONDES      attendre 1..SECONDES entre les essais d'une "
+"récupération.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   activer explicitement le proxy.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             attendre 0...2*ATTENTE secondes entre les "
+"récupérations.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                désactivier explicitement le proxy.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=NOMBRE            fixer le quota de récupération à NOMBRE.\n"
+msgstr ""
+"  -Q,  --quota=NOMBRE            fixer le quota de récupération à NOMBRE.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=ADRESSE    lier à l'ADRESSE (nom d'hôte ou adresse IP) sur l'hôte local.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADRESSE    lier à l'ADRESSE (nom d'hôte ou adresse IP) "
+"sur l'hôte local.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr "       --limit-rate=TAUX         limiter le TAUX de téléchargement.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache            désactiver la recherche dans la cache du DNS.\n"
+msgstr ""
+"       --no-dns-cache            désactiver la recherche dans la cache du "
+"DNS.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=OS  restreindre les caractères dans les noms de fichier à ceux permis par l'OS.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  restreindre les caractères dans les noms de "
+"fichier à ceux permis par l'OS.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+#, fuzzy
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-length         ignorer le champ de l'en-tête `Content-"
+"Length'.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
-msgstr "  -4,  --inet4-only              connecter seulement sur des adresses IPv4.\n"
+msgstr ""
+"  -4,  --inet4-only              connecter seulement sur des adresses IPv4.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
-msgstr "  -6,  --inet6-only              connnecter seulement sur des adresses IPv6.\n"
+msgstr ""
+"  -6,  --inet6-only              connnecter seulement sur des adresses "
+"IPv6.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=FAMILLE   connecter d'abord sur des adresses de la famille spécifique,\n"
+"       --prefer-family=FAMILLE   connecter d'abord sur des adresses de la "
+"famille spécifique,\n"
 "                                 soit IPv6, IPv4 ou none (pour aucun).\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr "       --user=USAGER             fixer l'USAGER pour ftp et http.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=MOT_DE_PASSE   fixer le MOT_DE_PASSE pour ftp et http.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=MOT_DE_PASSE   fixer le MOT_DE_PASSE pour ftp et http.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Répertoires:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           ne pas créer de répertoires.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        forcer la création de répertoires.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
-msgstr "  -nH, --no-host-directories      ne pas créer de répertoires sur l'hôte.\n"
+msgstr ""
+"  -nH, --no-host-directories      ne pas créer de répertoires sur l'hôte.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     utiliser le nom du protocole dans les répertoires.\n"
+msgstr ""
+"       --protocol-directories     utiliser le nom du protocole dans les "
+"répertoires.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
-msgstr "  -P,  --directory-prefix=PRÉFIXE sauvegarder les fichiers avec PRÉFIXE/...\n"
+msgstr ""
+"  -P,  --directory-prefix=PRÉFIXE sauvegarder les fichiers avec PRÉFIXE/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=NOMBRE          ignorer le NOMBRE de composants des répertoires distants.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NOMBRE          ignorer le NOMBRE de composants des "
+"répertoires distants.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP options:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=USAGER      fixer l'USAGER http.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=MDP    fixer le MDP (mot de passe) http.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              permettre la cache de données sur le serveur.\n"
+msgstr ""
+"       --no-cache              permettre la cache de données sur le "
+"serveur.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        sauvegarder les documents HTML avec la terminaison `.html'.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        sauvegarder les documents HTML avec la "
+"terminaison `.html'.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         ignorer le champ de l'en-tête `Content-Length'.\n"
+msgstr ""
+"       --ignore-length         ignorer le champ de l'en-tête `Content-"
+"Length'.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=CHAÎNE         insérer la CHAÎNE à travers les en-têtes.\n"
+msgstr ""
+"       --header=CHAÎNE         insérer la CHAÎNE à travers les en-têtes.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=USAGER     fixer le nom d'USAGER proxy.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-password=MDP    fixer le MDP (mot de passe) du proxy.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           inclure l'en-tête `Referer: URL' dans la requête HTTP.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           inclure l'en-tête `Referer: URL' dans la "
+"requête HTTP.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
-msgstr "       --save-headers          sauvegarder les en-têtes HTTP dans le fichier.\n"
+msgstr ""
+"       --save-headers          sauvegarder les en-têtes HTTP dans le "
+"fichier.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT      s'identifier comme AGENT au lieu de Wget/VERSION.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      s'identifier comme AGENT au lieu de Wget/"
+"VERSION.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    désactiver l'option HTTP keep-alive (connexions persistentes).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    désactiver l'option HTTP keep-alive "
+"(connexions persistentes).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            ne pas utiliser les cookies.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=FICHIER  charger les cookies à partir du FICHIER avant la session.\n"
+msgstr ""
+"       --load-cookies=FICHIER  charger les cookies à partir du FICHIER avant "
+"la session.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=FICHIER  sauvegarder les cookies dans le FICHIER après la session.\n"
+msgstr ""
+"       --save-cookies=FICHIER  sauvegarder les cookies dans le FICHIER après "
+"la session.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  charger et sauvegarder les cookies de sesson (mode non permanent).\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  charger et sauvegarder les cookies de sesson "
+"(mode non permanent).\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=CHAÎNE      utiliser une méthode POST; transmettre la CHAÎNE comme des données.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=CHAÎNE      utiliser une méthode POST; transmettre la "
+"CHAÎNE comme des données.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FICHIER     utiliser une méthode POST; transmettre le "
+"contenue du FICHIER.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=FICHIER     utiliser une méthode POST; transmettre le contenue du FICHIER.\n"
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
 
-#: src/main.c:547
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL/TLS) options:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR     choisir un PR (protocole) sécuritaire, un parmi: auto, SSLv2,\n"
+"       --secure-protocol=PR     choisir un PR (protocole) sécuritaire, un "
+"parmi: auto, SSLv2,\n"
 "                                SSLv3 et TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   ne pas valider le certificat du serveur.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   ne pas valider le certificat du serveur.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=FICHIER    fichier du certificat client.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TYPE  type du certificat client, PEM ou DER.\n"
+msgstr ""
+"       --certificate-type=TYPE  type du certificat client, PEM ou DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FICHIER    fichier de la clé privée.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TYPE  type de clé privée, PEM ou DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=FICHIER fichier avec un lot de certificats.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=RÉP       répertoire où la liste de hash des certificats est stocké.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=RÉP       répertoire où la liste de hash des "
+"certificats est stocké.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=FICHIER    fichier avec des données aléatoires pour le germe de SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FICHIER    fichier avec des données aléatoires pour le "
+"germe de SSL PRNG.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=FICHIER       dénomination de fichier du socket EGD avec données aléatoires.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=FICHIER       dénomination de fichier du socket EGD avec "
+"données aléatoires.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP options:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
-msgstr "       --ftp-user=USAGER       utiliser le transfert ftp pour l'USAGER.\n"
+msgstr ""
+"       --ftp-user=USAGER       utiliser le transfert ftp pour l'USAGER.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
-msgstr "       --ftp-password=MDP      utiliser le MDP (mot de passe) pour les transfert ftp.\n"
+msgstr ""
+"       --ftp-password=MDP      utiliser le MDP (mot de passe) pour les "
+"transfert ftp.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
-msgstr "       --no-remove-listing     ne pas enlever les fichiers `.listing'.\n"
+msgstr ""
+"       --no-remove-listing     ne pas enlever les fichiers `.listing'.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               désactiver la mutilation des noms de fichiers par FTP.\n"
+msgstr ""
+"       --no-glob               désactiver la mutilation des noms de fichiers "
+"par FTP.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        désactiver le mode de transfert passif ( \"passive\" ) .\n"
+msgstr ""
+"       --no-passive-ftp        désactiver le mode de transfert passif "
+"( \"passive\" ) .\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
-msgstr "       --retr-symlinks         lors de la récursion, prendre les fichiers attachés à des liens (par les répertoires).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         lors de la récursion, prendre les fichiers "
+"attachés à des liens (par les répertoires).\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  préserver les permissions des fichiers distants.\n"
+msgstr ""
+"       --preserve-permissions  préserver les permissions des fichiers "
+"distants.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Téléchargement récursif:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          spécifer un téléchargement récursif.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=NOMBRE       profondeeur maximale de récursion (inf ou 0 pour infini).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NOMBRE       profondeeur maximale de récursion (inf ou 0 pour "
+"infini).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after       détruire les fichiers localementn après les avoir télécharger.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       détruire les fichiers localementn après les "
+"avoir télécharger.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links      faire pointer les liens HTML téléchargés vers les fichiers locaux.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      faire pointer les liens HTML téléchargés vers "
+"les fichiers locaux.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   avant de convertir le fichier X en faire l'archive sous X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   avant de convertir le fichier X en faire "
+"l'archive sous X.orig.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             option courte équivalente à -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             option courte équivalente à -N -r -l inf --no-"
+"remove-listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    obtenir toutes les images, etc. nécessaires à l'affichage de la page HTML.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    obtenir toutes les images, etc. nécessaires à "
+"l'affichage de la page HTML.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    activer le traitement strict (SGML) des commentaires HTML.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    activer le traitement strict (SGML) des "
+"commentaires HTML.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Acceptation/rejet récursif:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr "  -A,  --accept=LISTE              liste des extensions acceptées.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr "  -R,  --reject=LISTE              liste des extensions rejetées.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr "  -D,  --domains=LISTE             liste des domaines acceptés.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr "       --exclude-domains=LISTE     liste des domaines rejetés.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                suivre les liens FTP à partir des documents HTML.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                suivre les liens FTP à partir des "
+"documents HTML.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=LISTE         liste des étiquettes HTML poursuivies.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LISTE         liste des étiquettes HTML poursuivies.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=LISTE         liste des étiquettes HTML ignorées.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LISTE         liste des étiquettes HTML ignorées.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                aller sur les hôtes externes en mode récursif.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                aller sur les hôtes externes en mode "
+"récursif.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
-msgstr "  -L,  --relative                  suivre les liens relatifs seulement.\n"
+msgstr ""
+"  -L,  --relative                  suivre les liens relatifs seulement.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=LISTE liste des répertoires permis.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LISTE liste des répertoires exclus.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                 ne pas remonter dans le répertoire parent.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 ne pas remonter dans le répertoire "
+"parent.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Transmettre toutes anomalies ou suggestions à <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s, un récupérateur réseau non interactif.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright © 2005 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Ce logiciel est distribué en espérant qu'il soit utile,\n"
-"mais sans AUCUNE garantie; sans la garantie liée à des raisons\n"
-"COMMERCIALES ou pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
-"selon les termes de la « GNU General Public License ».\n"
-"Pour plus d'informations à ce sujet, consulter la « GNU General Public License ».\n"
 
-#: src/main.c:665
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1343,196 +1568,231 @@ msgstr ""
 "\n"
 "Écrit à l'origine par Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Essayez « %s --help » pour plus d'informations.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: option non reconnue -- « -n%c »\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Ne peut être en mode bavard et silencieux en même temps.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Ne peut se servir des dates et ne pas écraser les vieux fichiers en même temps.\n"
+msgstr ""
+"Ne peut se servir des dates et ne pas écraser les vieux fichiers en même "
+"temps.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Ne peut utiliser ensemble --inet4-only et --inet6-only.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, fuzzy, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Ne peut utiliser ensemble --inet4-only et --inet6-only.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL manquant\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Aucun URL repéré dans %s.\n"
 
-#: src/main.c:972
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "Terminé --%s--\n"
 "Téléchargement: %s octets dans %d fichiers\n"
 
-#: src/main.c:979
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Quota de téléchargement (%s octets) DÉPASSÉ!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Poursuite en arrière plan.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Poursuite à l'arrière plan, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "La sortie sera écrite vers « %s ».\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: ne repérer un pilote de socket utilisable.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: AVERTISSEMENT: « %s » le jeton apparaît avant le nom d'une machine\n"
+msgstr ""
+"%s: %s:%d: AVERTISSEMENT: « %s » le jeton apparaît avant le nom d'une "
+"machine\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: jeton inconnu « %s »\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Usage: %s NETRC [HÔTE]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: ne peut évaluer par stat() le fichier %s: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "AVERTISSEMENT: utilisation d'un germe aléatoire faible.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "Ne peut utiliser un germe PRNG (seed); considérer l'utilisation de --random-file.\n"
+msgstr ""
+"Ne peut utiliser un germe PRNG (seed); considérer l'utilisation de --random-"
+"file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "ERREUR"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "AVERTISSEMENT"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: pas de certificat présenté par %s.\n"
 
-#: src/openssl.c:458
-#, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: erreur de vérification du certificat pour %s: %s\n"
+#: src/openssl.c:518
+#, fuzzy, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: pas de certificat présenté par %s.\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
 
-#: src/openssl.c:485
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: le nom du certificat commun `%s' ne concorde par avec le nom de l'hôte demandé `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: le nom du certificat commun `%s' ne concorde par avec le nom de l'hôte "
+"demandé `%s'.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Pour établir une connexion à %s non sécuritaire, utiliser `--no-check-certificate'.\n"
+msgstr ""
+"Pour établir une connexion à %s non sécuritaire, utiliser `--no-check-"
+"certificate'.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
-#, c-format
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ escamotage %dK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Spécification du style « . » « %s » invalide; demeure inchangé.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "Ne peut obtenir la fréquence de l'horloge en TEMPS RÉEL: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Destruction de %s puisqu'il doit être rejeté.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Ne peut ouvrir %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Chargement de robots.txt; svp ignorer les erreurs.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Erreur d'analyse syntaxique du URL proxy %s: %s\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Erreur dans le URL Proxy %s: doit être de type HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d redirections dépassant la limite permise.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1540,7 +1800,7 @@ msgstr ""
 "Abandon.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1548,54 +1808,107 @@ msgstr ""
 "Nouvel essai.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Aucune erreur"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Schème non supporté"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Nom de l'hôte invalide"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Mauvais numéro de port"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Nom de l'usager invalide"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Adresse numérique IPv6 non terminée"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Adresses IPv6 non supportées"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Adresse numérique IPv6 invalide"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Poursuite à l'arrière plan, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "ÉCHEC de « unlink » sur le lien symbolique « %s »: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: échec d'allocation de %ld octets; mémoire épuisée.\n"
 
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Erreur dans Set-Cookie(), champ « %s »"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Fermeture de la connexion à l'octet %s/%s. "
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: booléen étendu invalide « %s »;\n"
+#~ "utiliser une des options « on », « off », « always » ou « never ».\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   activer explicitement le proxy.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Ce logiciel est distribué en espérant qu'il soit utile,\n"
+#~ "mais sans AUCUNE garantie; sans la garantie liée à des raisons\n"
+#~ "COMMERCIALES ou pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
+#~ "selon les termes de la « GNU General Public License ».\n"
+#~ "Pour plus d'informations à ce sujet, consulter la « GNU General Public "
+#~ "License ».\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: erreur de vérification du certificat pour %s: %s\n"
+
 #~ msgid "Failed writing to proxy: %s.\n"
 #~ msgstr "ÉCHEC d'écriture vers le proxy: %s.\n"
 
@@ -1650,7 +1963,8 @@ msgstr "%s: %s: 
 #~ "\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Échec de la poursuite du téléchargement du fichier, en conflit avec « -c ».\n"
+#~ "Échec de la poursuite du téléchargement du fichier, en conflit avec « -c "
+#~ "».\n"
 #~ "Refus de tronquer le fichier existant « %s ».\n"
 #~ "\n"
 
@@ -1668,8 +1982,10 @@ msgstr "%s: %s: 
 #~ "Démarrage:\n"
 #~ "  -V,  --version               afficher le nom et la version du logiciel\n"
 #~ "  -h,  --help                  afficher l'aide-mémoire\n"
-#~ "  -b,  --background            travailler à l'arrière plan après le démarrage.\n"
-#~ "  -e,  --execute=COMMAND       exécuter une commande de style « .wgetrc ».\n"
+#~ "  -b,  --background            travailler à l'arrière plan après le "
+#~ "démarrage.\n"
+#~ "  -e,  --execute=COMMAND       exécuter une commande de style « .wgetrc "
+#~ "».\n"
 #~ "\n"
 
 #~ msgid ""
@@ -1682,31 +1998,40 @@ msgstr "%s: %s: 
 #~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
 #~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
 #~ "  -F,  --force-html           treat input file as HTML.\n"
-#~ "  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Journalisation et fichier d'entrée:\n"
 #~ "  -o,  --output-file=FICHIER   journaliser les messages dans le FICHIER.\n"
 #~ "  -a,  --append-output=FICHIER concaténer les messages au FICHIER.\n"
-#~ "  -d,  --debug                 afficher les informations de mise au point.\n"
+#~ "  -d,  --debug                 afficher les informations de mise au "
+#~ "point.\n"
 #~ "  -q,  --quiet                 travailler silencieusement (sans sortie).\n"
 #~ "  -v,  --verbose               travailler en mode bavard (par défaut).\n"
 #~ "  -nv, --non-verbose           ne pas travailler en mode explicatif, \n"
-#~ "                               mais garder un niveau informatif suffisant.\n"
+#~ "                               mais garder un niveau informatif "
+#~ "suffisant.\n"
 #~ "  -i,  --input-file=FICHIER    lire les URL du FICHIER.\n"
-#~ "  -F,  --force-html            traiter le fichier d'entrée comme du code HTML.\n"
-#~ "  -B,  --base=URL              ajouter le URL aux liens relatifs de -F -i fichier.\n"
+#~ "  -F,  --force-html            traiter le fichier d'entrée comme du code "
+#~ "HTML.\n"
+#~ "  -B,  --base=URL              ajouter le URL aux liens relatifs de -F -i "
+#~ "fichier.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "Download:\n"
-#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
 #~ "       --retry-connrefused      retry even if connection is refused.\n"
 #~ "  -O   --output-document=FILE   write documents to FILE.\n"
-#~ "  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-#~ "  -c,  --continue               resume getting a partially-downloaded file.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
 #~ "       --progress=TYPE          select progress gauge type.\n"
-#~ "  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
 #~ "  -S,  --server-response        print server response.\n"
 #~ "       --spider                 don't download anything.\n"
 #~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
@@ -1714,39 +2039,57 @@ msgstr "%s: %s: 
 #~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
 #~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
 #~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-#~ "       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
 #~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
 #~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
 #~ "       --limit-rate=RATE        limit download rate to RATE.\n"
 #~ "       --dns-cache=off          disable caching DNS lookups.\n"
-#~ "       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Téléchargement:\n"
-#~ "  -t,  --tries=NOMBRE            initialiser le NOMBRE d'essais (0 sans limite).\n"
-#~ "       --retry-connrefused       ré-essayer même si la connexion est refusée.\n"
+#~ "  -t,  --tries=NOMBRE            initialiser le NOMBRE d'essais (0 sans "
+#~ "limite).\n"
+#~ "       --retry-connrefused       ré-essayer même si la connexion est "
+#~ "refusée.\n"
 #~ "  -O   --output-document=FICHIER écrire les documents dans le FICHIER.\n"
 #~ "  -nc, --no-clobber              ne pas écraser les fichiers existants.\n"
-#~ "  -c,  --continue                redémarrer la récupération d'un fichier existant.\n"
-#~ "       --progress=STYLE          utiliser le STYLE de jauge de progression.\n"
-#~ "  -N,  --timestamping            ne pas récupérer un fichier plus vieux qu'un fichier local.\n"
+#~ "  -c,  --continue                redémarrer la récupération d'un fichier "
+#~ "existant.\n"
+#~ "       --progress=STYLE          utiliser le STYLE de jauge de "
+#~ "progression.\n"
+#~ "  -N,  --timestamping            ne pas récupérer un fichier plus vieux "
+#~ "qu'un fichier local.\n"
 #~ "  -S,  --server-response         afficher la réponse du serveur.\n"
 #~ "       --spider                  ne rien télécharger.\n"
-#~ "  -T,  --timeout=SECONDES        initialiser le délai de grâce en SECONDES.\n"
-#~ "       --dns-timeout=N           fixer la minuterie de recherche du DNS à N secondes.\n"
+#~ "  -T,  --timeout=SECONDES        initialiser le délai de grâce en "
+#~ "SECONDES.\n"
+#~ "       --dns-timeout=N           fixer la minuterie de recherche du DNS à "
+#~ "N secondes.\n"
 #~ "       --connect-timeout=N       fixer le temps d'oisiveté à N secondes.\n"
 #~ "       --read-timeout=N          fixer le temps de lecture à N secondes.\n"
 #~ "  -w,  --wait=N                  attendre N secondes entre chaque essai.\n"
-#~ "       --waitretry=N             attendre 1...N secondes entre les essais.\n"
-#~ "       --random-wait             attendre de 0...2*N secondes entre les essais.\n"
-#~ "  -Y,  --proxy=on/off            activer (« on ») ou désactiver (« off ») le proxy.\n"
-#~ "  -Q,  --quota=N                 initialiser le quota de récupération à N.\n"
-#~ "       --bind-address=ADDRESS    lier l'ADRESSE (nom de l'hôte ou IP) à l'hôte local.\n"
+#~ "       --waitretry=N             attendre 1...N secondes entre les "
+#~ "essais.\n"
+#~ "       --random-wait             attendre de 0...2*N secondes entre les "
+#~ "essais.\n"
+#~ "  -Y,  --proxy=on/off            activer (« on ») ou désactiver (« off ») "
+#~ "le proxy.\n"
+#~ "  -Q,  --quota=N                 initialiser le quota de récupération à "
+#~ "N.\n"
+#~ "       --bind-address=ADDRESS    lier l'ADRESSE (nom de l'hôte ou IP) à "
+#~ "l'hôte local.\n"
 #~ "       --limit-rate=TAUX         limiter le TAUX de téléchargement.\n"
-#~ "       --dns-cache=off           désactiver la cache lors de la résolution DNS.\n"
-#~ "       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
+#~ "       --dns-cache=off           désactiver la cache lors de la "
+#~ "résolution DNS.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
 #~ "\n"
 
 #~ msgid ""
@@ -1755,35 +2098,43 @@ msgstr "%s: %s: 
 #~ "  -x,  --force-directories         force creation of directories.\n"
 #~ "  -nH, --no-host-directories       don't create host directories.\n"
 #~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Répertoires:\n"
 #~ "  -nd  --no-directories            ne pas créer les répertoires.\n"
 #~ "  -x,  --force-directories         forcer la création des répertoires.\n"
 #~ "  -nH, --no-host-directories       ne pas créer les répertoires d'hôte.\n"
-#~ "  -P,  --directory-prefix=PRÉFIXE  sauvegarder les fichiers avec le PRÉFIXE/...\n"
-#~ "       --cut-dirs=N                ignorer N composants des répertoires de l'hôte.\n"
+#~ "  -P,  --directory-prefix=PRÉFIXE  sauvegarder les fichiers avec le "
+#~ "PRÉFIXE/...\n"
+#~ "       --cut-dirs=N                ignorer N composants des répertoires "
+#~ "de l'hôte.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "HTTP options:\n"
 #~ "       --http-user=USER      set http user to USER.\n"
 #~ "       --http-passwd=PASS    set http password to PASS.\n"
-#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-#~ "  -E,  --html-extension      save all text/html documents with .html extension.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
 #~ "       --ignore-length       ignore `Content-Length' header field.\n"
 #~ "       --header=STRING       insert STRING among the headers.\n"
 #~ "       --proxy-user=USER     set USER as proxy username.\n"
 #~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
-#~ "       --referer=URL         include `Referer: URL' header in HTTP request.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
 #~ "  -s,  --save-headers        save the HTTP headers to file.\n"
 #~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
 #~ "       --cookies=off         don't use cookies.\n"
 #~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
 #~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
-#~ "       --post-data=STRING    use the POST method; send STRING as the data.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
 #~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
 #~ "\n"
 #~ msgstr ""
@@ -1791,23 +2142,34 @@ msgstr "%s: %s: 
 #~ "       --http-user=USAGER      utiliser le nom d'USAGER http.\n"
 #~ "       --http-passwd=MOT_DE_PASSE\n"
 #~ "                               utiliser le MOT_DE_PASSE http.\n"
-#~ "  -C,  --cache=on/off          activer (« on ») ou désactiver (« off ») le cache\n"
+#~ "  -C,  --cache=on/off          activer (« on ») ou désactiver (« off ») "
+#~ "le cache\n"
 #~ "                               de données du serveur (activé par défaut)\n"
-#~ "  -E,  --html-extension        sauvegarder tous les documents texte/html avec un suffixe .html\n"
-#~ "       --ignore-length         ignorer le champ « Content-Length » de l'en-tête.\n"
+#~ "  -E,  --html-extension        sauvegarder tous les documents texte/html "
+#~ "avec un suffixe .html\n"
+#~ "       --ignore-length         ignorer le champ « Content-Length » de "
+#~ "l'en-tête.\n"
 #~ "       --header=CHAÎNE         insérer la CHAÎNE à travers les en-têtes.\n"
 #~ "       --proxy-user=USAGER     utiliser le nom USAGER pour le proxy.\n"
 #~ "       --proxy-passwd=MOT_DE_PASSE\n"
 #~ "                               utiliser le MOT_DE_PASSE pour le proxy.\n"
-#~ "       --referer=URL           inclure l'en-tête `Referer: URL' dans la requête HTTP.\n"
-#~ "  -s,  --save-headers          sauvegarder les en-têtes HTTP dans le fichier.\n"
-#~ "  -U,  --user-agent=AGENT      identifier l'AGENT plutôt que Wget/VERSION.\n"
-#~ "       --no-http-keep-alive    désactiver l'option HTTP keep-alive (connexions persistantes).\n"
+#~ "       --referer=URL           inclure l'en-tête `Referer: URL' dans la "
+#~ "requête HTTP.\n"
+#~ "  -s,  --save-headers          sauvegarder les en-têtes HTTP dans le "
+#~ "fichier.\n"
+#~ "  -U,  --user-agent=AGENT      identifier l'AGENT plutôt que Wget/"
+#~ "VERSION.\n"
+#~ "       --no-http-keep-alive    désactiver l'option HTTP keep-alive "
+#~ "(connexions persistantes).\n"
 #~ "       --cookies=off           ne pas utiliser les cookies.\n"
-#~ "       --load-cookies=FICHIER  charger les cookies à partir du FICHIER avant la session.\n"
-#~ "       --save-cookies=FICHIER  sauvegarder les cookies dans le FICHIER après la session.\n"
-#~ "       --post-data=CHAÎNE      utiliser la méthode POST; transmettre la CHAÎNE comme des données.\n"
-#~ "       --post-file=FICHIER     utiliser la méthode POST; transmettre le contenu du FICHIER.\n"
+#~ "       --load-cookies=FICHIER  charger les cookies à partir du FICHIER "
+#~ "avant la session.\n"
+#~ "       --save-cookies=FICHIER  sauvegarder les cookies dans le FICHIER "
+#~ "après la session.\n"
+#~ "       --post-data=CHAÎNE      utiliser la méthode POST; transmettre la "
+#~ "CHAÎNE comme des données.\n"
+#~ "       --post-file=FICHIER     utiliser la méthode POST; transmettre le "
+#~ "contenu du FICHIER.\n"
 #~ "\n"
 
 #~ msgid ""
@@ -1817,7 +2179,8 @@ msgstr "%s: %s: 
 #~ "       --egd-file=FILE        file name of the EGD socket.\n"
 #~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
 #~ "       --sslcafile=FILE       file with bundle of CA's\n"
-#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
 #~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
 #~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
 #~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
@@ -1825,13 +2188,18 @@ msgstr "%s: %s: 
 #~ msgstr ""
 #~ "Options HTTPS (SSL):\n"
 #~ "       --sslcertfile=FICHIER     certificat optionel du client.\n"
-#~ "       --sslcertkey=FICHIER_CLES fichier optionel de clés pour ce certificat.\n"
+#~ "       --sslcertkey=FICHIER_CLES fichier optionel de clés pour ce "
+#~ "certificat.\n"
 #~ "       --egd-file=FICHIER        nom du fichier pour le socket EGD.\n"
-#~ "       --sslcadir=RÉP            RÉPertoire où la liste de hash où les CA sont stockés\n"
+#~ "       --sslcadir=RÉP            RÉPertoire où la liste de hash où les CA "
+#~ "sont stockés\n"
 #~ "       --sslcafile=FICHIER       fichier lié avec les CA\n"
-#~ "       --sslcerttype=0/1         type de certficat-client 0=PEM (par défaut) / 1=ASN1 (DER)\n"
-#~ "       --sslcheckcert=0/1        vérifier le certificat du serveur versus le CA fourni\n"
-#~ "       --sslprotocol=0-3         sélectionner le protocol SSL ; 0=automatic,\n"
+#~ "       --sslcerttype=0/1         type de certficat-client 0=PEM (par "
+#~ "défaut) / 1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1        vérifier le certificat du serveur versus "
+#~ "le CA fourni\n"
+#~ "       --sslprotocol=0-3         sélectionner le protocol SSL ; "
+#~ "0=automatic,\n"
 #~ "                                 1=SSLv2 2=SSLv3 3=TLSv1\n"
 #~ "\n"
 
@@ -1840,12 +2208,14 @@ msgstr "%s: %s: 
 #~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
 #~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
 #~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
-#~ "       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Option FTP:\n"
 #~ "  -nr, --dont-remove-listing   ne pas détruire les fichier « .listing »\n"
-#~ "  -g,  --glob=on/off           écraser (« on ») ou ne pas écraser (« off ») les noms de fichiers\n"
+#~ "  -g,  --glob=on/off           écraser (« on ») ou ne pas écraser (« off "
+#~ "») les noms de fichiers\n"
 #~ "       --passive-ftp           utiliser le mode de transfert « passif ».\n"
 #~ "       --retr-symlinks         récupérer les liens symbolique via FTP.\n"
 #~ "\n"
@@ -1853,55 +2223,83 @@ msgstr "%s: %s: 
 #~ msgid ""
 #~ "Recursive retrieval:\n"
 #~ "  -r,  --recursive          recursive download.\n"
-#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
 #~ "       --delete-after       delete files locally after downloading them.\n"
 #~ "  -k,  --convert-links      convert non-relative links to relative.\n"
 #~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-#~ "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Récupération récursive:\n"
-#~ "  -r,  --recursive             récupération récursive sur le web -- utiliser avec précaution!.\n"
-#~ "  -l,  --level=N               fixer le niveau maximal récursif à N (0 sans limite).\n"
+#~ "  -r,  --recursive             récupération récursive sur le web -- "
+#~ "utiliser avec précaution!.\n"
+#~ "  -l,  --level=N               fixer le niveau maximal récursif à N (0 "
+#~ "sans limite).\n"
 #~ "       --delete-after          détruire les fichiers téléchargés.\n"
-#~ "  -k,  --convert-links         convertir les liens non relatifs en liens relatifs.\n"
-#~ "  -K,  --backup-converted      avant de convertir le fichier X, l'archiver sous X.orig\n"
-#~ "  -m,  --mirror                activer l'option de récupération en mode miroir.\n"
-#~ "  -p,  --page-requisites       ramasser toutes les images, etc. avant d'afficher la page HTML\n"
-#~ "       --strict-comments       activer le traitement strict (SGML) des commentaires HTML.\n"
+#~ "  -k,  --convert-links         convertir les liens non relatifs en liens "
+#~ "relatifs.\n"
+#~ "  -K,  --backup-converted      avant de convertir le fichier X, "
+#~ "l'archiver sous X.orig\n"
+#~ "  -m,  --mirror                activer l'option de récupération en mode "
+#~ "miroir.\n"
+#~ "  -p,  --page-requisites       ramasser toutes les images, etc. avant "
+#~ "d'afficher la page HTML\n"
+#~ "       --strict-comments       activer le traitement strict (SGML) des "
+#~ "commentaires HTML.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "Recursive accept/reject:\n"
-#~ "  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-#~ "  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-#~ "  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-#~ "       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-#~ "       --follow-ftp                 follow FTP links from HTML documents.\n"
-#~ "       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
 #~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
 #~ "  -L,  --relative                   follow relative links only.\n"
 #~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
 #~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-#~ "  -np, --no-parent                  don't ascend to the parent directory.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Acception ou rejet récursif:\n"
-#~ "  -A,  --accept=LISTE               liste séparée par des virgules d'extensions acceptées.\n"
-#~ "  -R,  --reject=LISTE               liste séparée par des virgules d'extensions rejetées.\n"
-#~ "  -D,  --domains=LISTE              liste séparée par des virgules de domaines acceptés.\n"
-#~ "       --exclude-domains=LISTE      liste séparée par des virgules de domaines rejetés.\n"
-#~ "       --follow-ftp                 suivre les liens FTP à partir des documents HTML\n"
-#~ "       --follow-tags=LISTE          liste séparée par des virgules de marqueurs HTML à suivre\n"
-#~ "  -G,  --ignore-tags=LISTE          liste séparée par des virgules de marqueurs HTML à ignorer\n"
-#~ "  -H,  --span-hosts                 la récursion suit d'un hôte à l'autre.\n"
+#~ "  -A,  --accept=LISTE               liste séparée par des virgules "
+#~ "d'extensions acceptées.\n"
+#~ "  -R,  --reject=LISTE               liste séparée par des virgules "
+#~ "d'extensions rejetées.\n"
+#~ "  -D,  --domains=LISTE              liste séparée par des virgules de "
+#~ "domaines acceptés.\n"
+#~ "       --exclude-domains=LISTE      liste séparée par des virgules de "
+#~ "domaines rejetés.\n"
+#~ "       --follow-ftp                 suivre les liens FTP à partir des "
+#~ "documents HTML\n"
+#~ "       --follow-tags=LISTE          liste séparée par des virgules de "
+#~ "marqueurs HTML à suivre\n"
+#~ "  -G,  --ignore-tags=LISTE          liste séparée par des virgules de "
+#~ "marqueurs HTML à ignorer\n"
+#~ "  -H,  --span-hosts                 la récursion suit d'un hôte à "
+#~ "l'autre.\n"
 #~ "  -L,  --relative                   suivre les liens relatifs seulement.\n"
 #~ "  -I,  --include-directories=LISTE  lister les répertoires permis.\n"
 #~ "  -X,  --exclude-directories=LISTE  lister les répertoire exclus.\n"
-#~ "  -np, --no-parent                  ne pas remonter vers le répertoire parent.\n"
+#~ "  -np, --no-parent                  ne pas remonter vers le répertoire "
+#~ "parent.\n"
 #~ "\n"
 
 #~ msgid "%s: debug support not compiled in.\n"
@@ -1964,10 +2362,14 @@ msgstr "%s: %s: 
 #~ msgstr "%s: AVERTISSEMENT: ne peut déterminer l'adresse IP locale.\n"
 
 #~ msgid "%s: Warning: cannot reverse-lookup local IP address.\n"
-#~ msgstr "%s: AVERTISSEMENT: ne peut repérer l'adresse IP locale par requête inverse.\n"
+#~ msgstr ""
+#~ "%s: AVERTISSEMENT: ne peut repérer l'adresse IP locale par requête "
+#~ "inverse.\n"
 
 #~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
-#~ msgstr "%s: AVERTISSEMENT: requête inverse de l'adresse IP locale n'a pas renvoyé un nom complet (FQDN) !\n"
+#~ msgstr ""
+#~ "%s: AVERTISSEMENT: requête inverse de l'adresse IP locale n'a pas renvoyé "
+#~ "un nom complet (FQDN) !\n"
 
 #~ msgid "%s: Out of memory.\n"
 #~ msgstr "%s: mémoire épuisée.\n"
index dae7e88f0bc5ede45dba0b5a48f7e3aef04b510d..637b43d500b669f7a45f773a9fb1fccd7db513e0 100644 (file)
--- a/po/ga.po
+++ b/po/ga.po
 # Irish translations for wget.
 # Copyright (C) 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the wget package.
-# Kevin Patrick Scannell <scannell@SLU.EDU>, 2004.
+# Kevin Patrick Scannell <scannell@SLU.EDU>, 2004, 2007, 2008.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-08 11:59-0500\n"
-"Last-Translator: Kevin Patrick Scannell <scannell@SLU.EDU>\n"
-"Language-Team: Irish <ga@li.org>\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2008-01-14 11:59-0500\n"
+"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
+"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :"
+"(n>6 && n<11) ? 3 : 4;\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: Tá an rogha `%s' débhríoch\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: rogha anaithnid `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: rogha anaithnid `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: rogha neamhcheadaithe -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: rogha neamhbhailí -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: Tá an rogha `-W %s' débhríoch\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: ní féidir seoladh ceangail `%s' a réiteach; ceangal á dhíchumasú.\n"
+msgstr ""
+"%s: ní féidir seoladh ceangail `%s' a réiteach; ceangal á dhíchumasú.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Ag dul i dteagmháil le %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Ag dul i dteagmháil le %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
-msgstr "nasctha.\n"
+msgstr "ceangailte.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "teipthe: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "Tiontaíodh %d comhad i %.*f soicind.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: ní féidir seoladh an óstríomhaire `%s' a réiteach\n"
 
-#: src/convert.c:202
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Tiontaíodh %d comhad i %s soicind.\n"
+
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "%s á thiontú..."
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "faic le déanamh.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Ní féidir naisc a thiontú i %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Ní féidir `%s' a scriosadh: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Ní féidir cúltaca a dhéanamh ar %s mar %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Earráid i Set-Cookie, réimse `%s'"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Earráid chomhréire i Set-Cookie: %s ag %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "Ba mhaith le fianán ó %s an fearann a shocrú mar %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Ní féidir comhad fianáin `%s' a oscailt: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
-msgstr "Earráid ag scríobh comhaid `%s': %s\n"
+msgstr "Earráid le linn scríofa i gcomhad `%s': %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Earráid ag dúnadh comhaid `%s': %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Modh liostáil gan tacaíocht, ag baint triail as parsálaí liostála Unix.\n"
+msgstr ""
+"Modh liostáil gan tacaíocht, ag baint triail as parsálaí liostála Unix.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Innéacs de /%s ar %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "am anaithnid       "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Comhad      "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Comhadlann  "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Nasc        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Éiginnte    "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s beart)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Fad: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) fágtha"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s fágtha"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (neamhúdarásach)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Logáil isteach mar %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "Earráid sa fhreagra ón fhreastalaí, ag dúnadh an naisc rialaithe.\n"
+msgstr "Earráid sa fhreagra ón fhreastalaí, ceangal rialaithe á dhúnadh.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
-msgstr "Earráid ag nascadh leis an bhfreastalaí.\n"
+msgstr "Earráid i mbeannacht ón fhreastalaí.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
-msgstr "Theip ar scríobh, ag dúnadh an naisc rialaithe.\n"
+msgstr "Theip ar scríobh, ceangal rialaithe á dhúnadh.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Ní cheadaíonn an freastalaí do logáil isteach.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Logáil mhícheart.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Logáilte isteach!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Earráid fhreastalaí, ní féidir an cineál córais a dhéanamh amach.\n"
 
 # used in the stats page table
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "críochnaithe.  "
 
 # used in the stats page table
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "críochnaithe.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
-msgstr "Cineál anaithnid `%c', ag dúnadh an naisc rialaithe.\n"
+msgstr "Cineál anaithnid `%c', ceangal rialaithe á dhúnadh.\n"
 
 # used in the stats page table
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "críochnaithe."
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
-msgstr "==> Ní gá le CWD.\n"
+msgstr "==> Níl gá le CWD.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -226,34 +284,33 @@ msgstr ""
 "Níl a leithéid de chomhadlann `%s' ann.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
-msgstr "==> Ní gá le CWD.\n"
+msgstr "==> Níl gá le CWD.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Ní féidir tús a chur leis an aistriú PASV.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Ní féidir an freagra PASV a pharsáil.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "níorbh fhéidir dul i dteagmháil le %s port %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Earráid cheangail (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORT neamhbhailí.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -261,7 +318,7 @@ msgstr ""
 "\n"
 "Theip ar REST, ag atosú ó thosach.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -270,7 +327,7 @@ msgstr ""
 "Níl a leithéid de chomhad `%s' ann.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -279,45 +336,41 @@ msgstr ""
 "Níl a leithéid de chomhad ná de chomhadlann `%s' ann.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "Tá %s ann anois.\n"
 
 # CRL next update.
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
-msgstr "%s: %s, ag dúnadh an naisc rialaithe.\n"
+msgstr "%s: %s, ceangal rialaithe á dhúnadh.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
-msgstr "%s (%s) - Nasc sonraí: %s; "
+msgstr "%s (%s) - Ceangal sonraí: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
-msgstr "Nasc rialaithe dúnta.\n"
+msgstr "Ceangal rialaithe dúnta.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Tobscoireadh an t-aistriú sonraí.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "Tá an comhad `%s' ann cheana; ní aisghabhfar é.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(iarracht:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -326,35 +379,33 @@ msgstr ""
 "%s (%s) - `%s' sábháilte [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "%s á bhaint.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "`%s' á úsáid mar chomhad sealadach chun liostú.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Baineadh `%s'.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Doimhneacht athchúrsála %d níos mó ná an t-uasmhéid %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Níl an cianchomhad níos nuaí ná an comhad logánta `%s' -- ní aisghabhfar.\n"
+msgstr ""
+"Níl an cianchomhad níos nuaí ná an comhad logánta `%s' -- ní aisghabhfar é.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -363,8 +414,7 @@ msgstr ""
 "Tá an cianchomhad níos nuaí ná an comhad logánta `%s' -- á aisghabháil.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -373,11 +423,11 @@ msgstr ""
 "Níl an méid céanna ar na comhaid (logánta %s) -- á aisghabh.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Ainm neamhbhailí ar an nasc siombalach, á scipeáil.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -386,242 +436,191 @@ msgstr ""
 "Tá nasc ceart siombalach ann cheana %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Nasc siombalach %s -> %s á chruthú\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Níl aon tacaíocht ar naisc shiombalacha, ag scipeáil `%s'.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Ag fágáil na comhadlainne `%s' ar lár.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: comhad de chineál anaithnid/gan tacú.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: stampa truaillithe ama.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Ní aisghabhfar comhadlanna ós rud é go bhfuil an doimhneacht %d faoi láthair (uasmhéid %d).\n"
+msgstr ""
+"Ní aisghabhfar comhadlanna ós rud é go bhfuil an doimhneacht %d faoi láthair "
+"(uasmhéid %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "ní ag dul isteach i `%s' ós rud é go bhfuil sé fágtha-as/nach-curtha-san-áireamh.\n"
+msgstr ""
+"ní ag dul isteach i `%s' ós rud é go bhfuil sé fágtha-as/nach-curtha-san-"
+"áireamh.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "`%s' á dhiúltú.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Earráid le linn scríofa i gcomhad `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Níl aon rud comhoiriúnach leis an phatrún `%s'.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Scríobhadh innéacs i gcruth HTML i `%s' [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Scríobhadh innéacs i gcruth HTML i `%s'.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: Tá an rogha `%s' débhríoch\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ní foláir argóint don rogha `%s'\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: rogha anaithnid `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: rogha anaithnid `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: rogha neamhcheadaithe -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: rogha neamhbhailí -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ní foláir argóint don rogha -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: Tá an rogha `-W %s' débhríoch\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Óstríomhaire anaithnid"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Teip shealadach ar réiteach na n-ainmneacha"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Earráid anaithnid"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "%s á réiteach... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "teipthe: Gan seoladh IPv4/IPv6 don óstríomhaire.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "teipthe: thar am.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Ní féidir nasc %s neamhiomlán a réiteach.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: URL neamhbhailí %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Theip ar scríobh iarratais HTTP: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Gan cheanntásca, glac le HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "SSL á dhíchumasú de bharr earráidí.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "Comhad sonraí POST `%s' ar iarraidh: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
-msgstr "Ag baint athúsáid as an nasc le %s:%d.\n"
+msgstr "Ag baint athúsáid as an gceangal le %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Theip ar léamh freagra ón seachfhreastalaí: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Theip ar thollánú seachfhreastalaí: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "Iarratas %s seolta, ag fanacht le freagra... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Níor glacadh aon sonra.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Earráid (%s) ag léamh na gceanntásc.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Tá an comhad `%s' ann cheana; ní aisghabhfar é.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Scéim anaithnid fhíordheimhnithe.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Theip ar údarú.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Líne stádais míchumtha"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(gan cur síos)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Suíomh: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "gan sonrú"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [á leanúint]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -631,79 +630,105 @@ msgstr ""
 "    Bhí an comhad aisghafa ina iomláine cheana; níl faic le déanamh.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Fad: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "rinneadh neamhaird"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Á shábháil i: `%s'\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Rabhadh: níl saoróga ar fáil i HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr ""
-"Tá an comhad `%s' ann cheana; ní aisghabhfar é.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Cumasaíodh an mód crúbadáin. Seiceáil an bhfuil an cianchomhad ann.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Ní féidir aon rud a scríobh i gcomhad `%s' (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
-msgstr "Ní féidir nasc SSL a dhéanamh.\n"
+msgstr "Ní féidir ceangal SSL a dhéanamh.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "EARRÁID: Atreorú (%d) gan suíomh.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Níl an cianchomhad ann -- nasc briste!!!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s EARRÁID %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Ceanntásc `Last-modified' ar iarraidh -- ní úsáidfear stampaí ama.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Ceanntásc neamhbhailí `Last-modified' -- tugadh neamhaird ar an stampa ama.\n"
+msgstr ""
+"Ceanntásc neamhbhailí `Last-modified' -- tugadh neamhaird ar an stampa ama.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Níl an comhad freastalaí níos nuaí ná an comhad logánta `%s' -- ní aisghabhfar.\n"
+"Níl an comhad freastalaí níos nuaí ná an comhad logánta `%s' -- ní "
+"aisghabhfar é.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Níl an méid céanna ar na comhaid (logánta %s) -- á aisghabh.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Tá an cianchomhad níos nuaí, á aisghabháil.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Tá an cianchomhad ann agus is féidir go bhfuil naisc le hacmhainní eile ann "
+"-- á aisghabháil.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Tá an cianchomhad ann ach níl aon nasc ann -- ní aisghabhfar é.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Tá an cianchomhad ann ach díchumasaíodh athchúrsáil -- ní aisghabhfar é.\n"
+"\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -712,111 +737,103 @@ msgstr ""
 "%s (%s) - `%s' sábháilte [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
-msgstr "%s (%s) - Nasc dúnta ag beart %s. "
+msgstr "%s (%s) - Ceangal dúnta ag beart %s. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Nasc dúnta ag beart %s/%s. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Earráid léimh ag beart %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Earráid léimh ag beart %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: Tá WGETRC dírithe ar %s, agus níl sé seo ann ar chor ar bith.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Ní féidir %s a léamh (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Earráid i %s, líne %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Earráid chomhréire i %s ag líne %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Ordú anaithnid `%s' i %s ag líne %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Rabhadh: Tá an comhad wgetrc úsáideora agus an comhad córais wgetrc araon dírithe ar `%s'.\n"
+msgstr ""
+"%s: Rabhadh: Tá an comhad wgetrc úsáideora agus an comhad córais wgetrc "
+"araon dírithe ar `%s'.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Ordú neamhbhailí --execute `%s'\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Slonn neamhbhailí Boole `%s'; úsáid `on' nó `off'.\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: Slonn neamhbhailí Boole sínithe `%s';\n"
-"úsáid ceann de `on', `off', `always', nó `never'.\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Uimhir neamhbhailí `%s'.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Luach neamhbhailí bearta `%s'\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Tréimhse neamhbhailí `%s'\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Luach neamhbhailí `%s'.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Ceanntásc neamhbhailí `%s'.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Cineál neamhbhailí dul chun cinn `%s'.\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Teorannú neamhbhailí `%s', úsáid `unix' nó `windows'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Teorannú neamhbhailí `%s', úsáid [unix|windows],[lowercase|"
+"uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -825,9 +842,7 @@ msgstr ""
 "\n"
 "Fuarthas %s, ag athsheoladh an aschuir go `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -836,317 +851,409 @@ msgstr ""
 "\n"
 "fuarthas %s.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; logáil á díchumasú.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Úsáid: %s [ROGHA]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Is riachtanach le rogha ghearr aon argóint atá riachtanach leis an rogha fhada.\n"
+"Is riachtanach le rogha ghearr aon argóint atá riachtanach leis an rogha "
+"fhada.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Tosú:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           taispeáin an leagan Wget agus scoir.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              taispeáin an chabhair seo.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        rith sa chúlra.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=ORDÚ      rith ordú sa stíl `.wgetrc'.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Logáil agus an t-inchomhad:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=COMHAD  logáil teachtaireachtaí i gCOMHAD.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
-msgstr "  -a,  --append-output=COMHAD iarcheangail teachtaireachtaí le COMHAD.\n"
+msgstr ""
+"  -a,  --append-output=COMHAD iarcheangail teachtaireachtaí le COMHAD.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug               taispeáin go leor eolas dhífhabhtaithe.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              taispeáin eolas dhífhabhtaithe Watt-32.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               tostach (gan aschur).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             bí foclach (is é seo an réamhshocrú).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --no-verbose          ná bí foclach, ach ná bí tostach ach oiread.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          ná bí foclach, ach ná bí tostach ach oiread.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=COMHAD   íosluchtaigh URLanna ón CHOMHAD.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          caith leis an inchomhad mar HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            cuir URL roimh naisc choibhneasta i gcomhad -F -i.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            cuir URL roimh naisc choibhneasta i gcomhad -F -"
+"i.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Íosluchtaigh:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=UIMHIR            líon na n-atrialacha (0=gan teorainn).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=UIMHIR            líon na n-atrialacha (0=gan teorainn).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       atriail fiú má tá an nasc diúltaithe.\n"
+msgstr ""
+"       --retry-connrefused       atriail fiú má tá an ceangal diúltaithe.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
-msgstr "  -O   --output-document=COMHAD  scríobh cáipéisí i gCOMHAD.\n"
+msgstr "  -O,  --output-document=COMHAD  scríobh cáipéisí i gCOMHAD.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
-msgstr "  -nc, --no-clobber              ná forscríobh comhaid nó úsáid iarmhíreanna .#.\n"
+msgstr "  -nc, --no-clobber              ná forscríobh comhaid atá ann.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr "  -c,  --continue                atosaigh íosluchtaigh comhad.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=CINEÁL         cineál rianaire dul chun cinn.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping            ná haisghabh comhaid arís mura bhfuil siad níos nuaí\n"
+msgstr ""
+"  -N,  --timestamping            ná haisghabh comhaid arís mura bhfuil siad "
+"níos nuaí\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         taispeáin freagra ón fhreastalaí.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  ná híosluchtaigh rud ar bith.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SOICINDÍ        socraigh gach seal fanachta = SOICINDÍ.\n"
+msgstr ""
+"  -T,  --timeout=SOICINDÍ        socraigh gach seal fanachta = SOICINDÍ.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
 msgstr "       --dns-timeout=SOIC        seal fanachta DNS = SOIC.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SOIC    seal fanachta nasctha = SOIC.\n"
+msgstr "       --connect-timeout=SOIC    seal fanachta ceangailte = SOIC.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=SOIC       seal fanachta léimh = SOIC.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SOICINDÍ           fan SOICINDÍ idir íosluchtuithe.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr "       --waitretry=SOICINDÍ      fan 1...SOICINDÍ idir atrialacha.\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait             fan ó 0...2*WAIT soicindí idir íosluchtuithe.\n"
-
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                  úsáid seachfhreastalaí.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             fan ó 0...2*WAIT soicindí idir "
+"íosluchtuithe.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                ná húsáid seachfhreastalaí.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
 msgstr "  -Q,  --quota=UIMHIR            socraigh cuóta athghabhála.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=SEOLADH    ceangail le SEOLADH (óstainm/IP) go logánta.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=SEOLADH    ceangail le SEOLADH (óstainm/IP) go "
+"logánta.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr "       --limit-rate=RÁTA         socraigh uasráta íosluchtaithe.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr "       --no-dns-cache            ná cuir cuardaigh DNS i dtaisce.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=OS  úsáid carachtair ceadaithe ag an chóras.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  úsáid carachtair ceadaithe ag an chóras.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ná bac le cás agus comhaid á meaitseáil.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
-msgstr "  -4,  --inet4-only              nasc le seoltaí IPv4 amháin.\n"
+msgstr "  -4,  --inet4-only              ceangail le seoltaí IPv4 amháin.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
-msgstr "  -6,  --inet6-only              nasc le seoltaí IPv6 amháin.\n"
+msgstr "  -6,  --inet6-only              ceangail le seoltaí IPv6 amháin.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=CLANN     nasc ar dtús le seoltaí ón CHLANN sonraithe:\n"
+"       --prefer-family=CLANN     ceangail ar dtús le seoltaí ón CHLANN "
+"sonraithe:\n"
 "                                 IPv6, IPv4, nó \"none\".\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=ÚSÁIDEOIR          socraigh ÚSÁIDEOIR do ftp agus http araon.\n"
+msgstr ""
+"       --user=ÚSÁIDEOIR          socraigh ÚSÁIDEOIR do ftp agus http araon.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=FF             socraigh focal faire do ftp agus http.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=FF             socraigh focal faire do ftp agus http.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Comhadlanna:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           ná cruthaigh comhadlanna.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        cruthaigh comhadlanna i gcónaí.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories      ná cruthaigh comhadlanna óstacha.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     úsáid ainm an phrótacail i gcomhadlanna.\n"
+msgstr ""
+"       --protocol-directories     úsáid ainm an phrótacail i gcomhadlanna.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=RÉIMÍR  sábháil comhaid i RÉIMÍR/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=UIMHIR          déan neamhshuim ar UIMHIR comhpháirt chomhadlainne.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=UIMHIR          déan neamhshuim ar UIMHIR comhpháirt "
+"chomhadlainne.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "Roghanna HTTP:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=ÚSÁIDEOIR   socraigh ÚSÁIDEOIR http.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-passwd=FF        socraigh focal faire http.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              ná ceadaigh sonraí curtha i dtaisce ag an fhreastalaí.\n"
+msgstr ""
+"       --no-cache              ná ceadaigh sonraí curtha i dtaisce ag an "
+"fhreastalaí.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        sábháil gach cáipéis text/html le sínteán .html.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        sábháil gach cáipéis HTML le hiarmhír `."
+"html'.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         déan neamhaird den réimse `Content-Length'.\n"
+msgstr ""
+"       --ignore-length         déan neamhaird den réimse `Content-Length'.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=TEAGHRÁN       ionsáigh TEAGHRÁN sna ceanntásca.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr "       --max-redirect          uasmhéid atreoraithe sa leathanach.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=ÚSÁIDEOIR  socraigh ÚSÁIDEOIR an seachfhreastalaí.\n"
+msgstr ""
+"       --proxy-user=ÚSÁIDEOIR  socraigh ÚSÁIDEOIR an seachfhreastalaí.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
-msgstr "       --proxy-passwd=FF       socraigh focal faire seachfhreastalaí.\n"
+msgstr ""
+"       --proxy-passwd=FF       socraigh focal faire seachfhreastalaí.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           iniaigh ceanntásc `Referer: URL' san iarracht.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           iniaigh ceanntásc `Referer: URL' san "
+"iarracht.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          sábháil na ceanntásca HTTP i gcomhad.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AINM       cuir thusa féin in aithne le hAINM vs. Wget/LEAGAN.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AINM       cuir thusa féin in aithne le hAINM vs. Wget/"
+"LEAGAN.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    díchumasaigh keep-alive HTTP (naisc sheasmhach).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    díchumasaigh keep-alive HTTP (ceangail "
+"sheasmhacha).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            ná húsáid fianáin.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=COMHAD   luchtaigh fianáin ó CHOMHAD roimh an seisiún.\n"
+msgstr ""
+"       --load-cookies=COMHAD   luchtaigh fianáin ó CHOMHAD roimh an "
+"seisiún.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=COMHAD   sábháil fianáin i gCOMHAD tar éis an tseisiúin.\n"
+msgstr ""
+"       --save-cookies=COMHAD   sábháil fianáin i gCOMHAD tar éis an "
+"tseisiúin.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  luchtaigh agus sábháil fianáin (sealadacha) an tseisiúin.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  luchtaigh agus sábháil fianáin (sealadacha) "
+"an tseisiúin.\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=TEAGHRÁN    úsáid an modh POST; seol TEAGHRÁN mar sonraí.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=TEAGHRÁN    úsáid an modh POST; seol TEAGHRÁN mar "
+"sonraí.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=COMHAD      úsáid an modh POST; seol na sonraí as COMHAD.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=COMHAD      úsáid an modh POST; seol na sonraí as "
+"COMHAD.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   géill do cheanntásc Content-Disposition agus\n"
+"                               ainmneacha logánta á roghnú (TRIALACH).\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "Roghanna HTTPS (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
@@ -1155,387 +1262,491 @@ msgstr ""
 "                                SSLv3, nó TLSv1.\n"
 "                                SSLv3, and TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   ná bailíochtaigh teastas an fhreastalaí.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   ná bailíochtaigh teastas an fhreastalaí.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=COMHAD     comhad teastais an chliaint.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=CINL  cineál teastais an chliaint: PEM nó DER.\n"
+msgstr ""
+"       --certificate-type=CINL  cineál teastais an chliaint: PEM nó DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=COMHAD     comhad don eochair phríobháideach.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=CINL  cineál na heochrach príobháidí, PEM nó DER.\n"
+msgstr ""
+"       --private-key-type=CINL  cineál na heochrach príobháidí, PEM nó DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=COMHAD  comhad le burla den CAnna.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=COMHADLN  comhadlann leis an liosta haiseáilte de CAnna.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=COMHADLN  comhadlann leis an liosta haiseáilte de "
+"CAnna.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=COMHAD     comhad le sonraí randamacha chun SSL PRNG a shíolrú.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=COMHAD     comhad le sonraí randamacha chun SSL PRNG a "
+"shíolrú.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=COMHAD        comhad a ainmníonn an soicéad EGD le sonraí randamacha.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=COMHAD        comhad a ainmníonn an soicéad EGD le sonraí "
+"randamacha.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "Roghanna FTP:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=ÚSÁIDEOIR    socraigh an tÚSÁIDEOIR ftp.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=FF       socraigh an focal faire ftp.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     ná bain comhaid `.listing' amach.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               ná húsáid globáil le hainmneacha comhaid FTP.\n"
+msgstr ""
+"       --no-glob               ná húsáid globáil le hainmneacha comhaid "
+"FTP.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        díchumasaigh an mód aistrithe \"passive\".\n"
+msgstr ""
+"       --no-passive-ftp        díchumasaigh an mód aistrithe \"passive\".\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
-msgstr "       --retr-symlinks         faigh comhaid lena nasctar, le linn athchúrsála.\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         faigh comhaid lena nasctar, le linn "
+"athchúrsála.\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  caomhnaigh ceadanna ó na cianchomhaid.\n"
+msgstr ""
+"       --preserve-permissions  caomhnaigh ceadanna ó na cianchomhaid.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Íosluchtú athchúrsach:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          íosluchtaigh go hathchúrsach.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=UIMHIR       uasmhéid doimhneachta (inf nó 0 = gan teorainn).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=UIMHIR       uasmhéid doimhneachta (inf nó 0 = gan "
+"teorainn).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after       scrios comhaid logánta i ndiaidh íosluchtaithe.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       scrios comhaid logánta i ndiaidh íosluchtaithe.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links      nasc le comhaid logánta i HTML íosluchtaithe.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      nasc le comhaid logánta i HTML íosluchtaithe.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   roimh X a thiontú, déan cúltaca mar X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   roimh X a thiontú, déan cúltaca mar X.orig.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             rogha aicearra ar comhbhrí le -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             rogha aicearra ar comhbhrí le -N -r -l inf --no-"
+"remove-listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
 "  -p,  --page-requisites    faigh gach íomhá, srl. riachtanach chun an\n"
 "                               leathanach HTML a thaispeáint go ceart.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    glac le nótaí tráchta HTML go docht (mar SGML).\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    glac le nótaí tráchta HTML go docht (mar SGML).\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Glacadh/Diúltú Athchúrsach:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=LIOSTA             sínteáin ghlactha, scartha le camóga.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LIOSTA             iarmhíreanna inghlactha, scartha le "
+"camóga.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=LIOSTA             sínteáin diúltaithe, scartha le camóga.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LIOSTA             iarmhíreanna diúltaithe, scartha le "
+"camóga.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=LIOSTA            fearainn ghlactha, scartha le camóga.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LIOSTA            fearainn ghlactha, scartha le camóga.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=LIOSTA    fearainn diúltaithe, scartha le camóga.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIOSTA    fearainn diúltaithe, scartha le camóga.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
 msgstr "       --follow-ftp                lean naisc FTP i gcáipéisí HTML.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=LIOSTA        clibeanna HTML le leanúint, scartha le camóga.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIOSTA        clibeanna HTML le leanúint, scartha le "
+"camóga.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=LIOSTA        clibeanna HTML le scipeáil, scartha le camóga.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIOSTA        clibeanna HTML le scipeáil, scartha le "
+"camóga.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                téigh go cianóstaí más athchúrsach é.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                téigh go cianóstaí más athchúrsach é.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  ná lean ach naisc choibhneasta.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=LIOSTA comhadlanna ceadaithe.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LIOSTA comhadlanna neamhcheadaithe.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                 ná téigh suas go comhadlanna níos airde.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 ná téigh suas go comhadlanna níos airde.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Seol tuairiscí fabhtanna agus moltaí chuig <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget, leagan %s, faighteoir cianchomhad nach idirghníomhach.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright © 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Scaiptear an ríomhchlár seo le súil go mbeidh sé áisiúil,\n"
-"ach GAN AON BARÁNTA; go fiú gan an barántas intuigthe\n"
-"d'INDÍOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH.  Féach ar an\n"
-"GNU General Public License chun níos mó sonraí a fháil.\n"
-
-#: src/main.c:665
+"Ceadúnas GPLv3+: GNU GPL, leagan 3 nó níos nuaí\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Is saorbhogearra é seo: ceadaítear duit é a athrú agus a athdháileadh.\n"
+"Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
 msgstr ""
 "\n"
-"Scríofa ar dtús le Hrvoje Niksic <hniksic@xemacs.org>.\n"
+"Scríofa ar dtús ag Hrvoje Niksic <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Cothaitheoir reatha: Micah Cowan <micah@cowan.name>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Bain triail as `%s --help' chun tuilleadh roghanna a fheiceáil.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: rogha neamhcheadaithe -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Ní féidir a bheith foclach agus tostach san am céanna.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Ní féidir stampaí ama a dhéanamh gan forscríobh ar do chuid sheanchomhaid.\n"
+msgstr ""
+"Ní féidir stampaí ama a dhéanamh gan forscríobh ar do chuid sheanchomhaid.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Ní féidir --inet4-only agus --inet6-only a shonrú araon.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Ní féidir -r, -p nó -N a shonrú má tá -O ann.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Ní féidir -k agus -O araon a shonrú má tá URLanna iomadúla ann.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL ar iarraidh\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Níor aimsíodh aon URL i %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "CRÍOCHNAITHE --%s--\n"
-"Luchtaithe: %s beart i %d comhad\n"
+"Íosluchtaithe: %d comhad, %s i %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Sáraíodh an cuóta luchtaithe de %s beart!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Sáraíodh an cuóta íosluchtaithe de %s!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Á leanúint sa chúlra.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Á leanúint sa chúlra, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Scríobhfar aschur i `%s'.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Níorbh fhéidir tiománaí inúsáidte soicéid a aimsiú.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: rabhadh: tagann an teaghrán \"%s\" roimh aon ainm meaisín\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: teaghrán anaithnid comharthach \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Úsáid: %s NETRC [ÓSTAINM]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: ní féidir %s a stat: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "RABHADH: síol lag randamach in úsáid.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr "Níorbh fhéidir PRNG a shíolú; b'fhéidir --random-file a úsáid.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "EARRÁID"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "RABHADH"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: Níor thaispeáin %s teastas ar bith.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: Earráid agus teastas á bhailíochtú le haghaidh %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: ní féidir teastas %s a fhíorú, eisithe ag `%s':\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Ní féidir údarás an eisitheora a fhíorú go logánta.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Teastas féinsínithe.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Níl an teastas eisithe bailí fós.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Tá an teastas imithe as feidhm.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: níl ainm coitianta an teastais `%s' comhoiriúnach leis an óstainm iarrtha `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: níl ainm coitianta an teastais `%s' comhoiriúnach leis an óstainm "
+"iarrtha `%s'.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Chun nasc neamhdhaingean a dhéanamh le %s, úsáid `--no-check-certificate'.\n"
+msgstr ""
+"Chun ceangal neamhdhaingean a dhéanamh le %s, úsáid `--no-check-"
+"certificate'.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ %dK á scipeáil ]"
+"%*s[ %sK á scipeáil ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Sonrú neamhbhailí ar stíl phonc `%s'; ag fágáil gan athrú.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  eta %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   i  "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "Ní féidir minicíocht an chloig REALTIME a fháil: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Ag baint %s toisc gur ceart é a dhiúltú.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Ní féidir %s a oscailt: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "robots.txt á luchtú; déan neamhaird d'earráidí le do thoil.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Earráid agus URL an seachfhreastalaí %s á pharsáil: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Earráid i URL seachfhreastalaí %s: Ní foláir a bheith HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "níos mó ná %d atreorú.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1543,7 +1754,7 @@ msgstr ""
 "Á éirí as.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1551,59 +1762,134 @@ msgstr ""
 "Á triail arís.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Níor aimsíodh aon nasc briste.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Aimsíodh %d nasc briste.\n"
+"\n"
+msgstr[1] ""
+"Aimsíodh %d nasc briste.\n"
+"\n"
+msgstr[2] ""
+"Aimsíodh %d nasc briste.\n"
+"\n"
+msgstr[3] ""
+"Aimsíodh %d nasc briste.\n"
+"\n"
+msgstr[4] ""
+"Aimsíodh %d nasc briste.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Ní raibh aon earráid"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Scéim gan tacú"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Óstainm neamhbhailí"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Drochuimhir phoirt"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Ainm neamhbhailí úsáideora"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Seoladh uimhriúil IPv6 gan chríochnú"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Níl seoltaí IPv6 ar fáil"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Seoladh uimhriúil IPv6 neamhbhailí"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Á leanúint sa chúlra, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
-msgstr "Theip ar dínascadh an naisc shiombalaigh `%s': %s\n"
+msgstr "Theip ar dhínascadh an naisc shiombalaigh `%s': %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: Theip ar leithdháileadh %ld beart; cuimhne ídithe.\n"
 
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                  úsáid seachfhreastalaí.\n"
+
+#~ msgid ""
+#~ "       --no-content-disposition  don't honor Content-Disposition header.\n"
+#~ msgstr ""
+#~ "       --no-content-disposition  ná géill do cheanntásc Content-"
+#~ "Disposition.\n"
+
+#~ msgid "%s referred by:\n"
+#~ msgstr "%s tagartha ag:\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Earráid i Set-Cookie, réimse `%s'"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Ceangal dúnta ag beart %s/%s. "
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: Slonn neamhbhailí Boole sínithe `%s';\n"
+#~ "úsáid ceann de `on', `off', `always', nó `never'.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Scaiptear an ríomhchlár seo le súil go mbeidh sé áisiúil,\n"
+#~ "ach GAN AON BARÁNTA; go fiú gan an barántas intuigthe\n"
+#~ "d'INDÍOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH.  Féach ar an\n"
+#~ "GNU General Public License chun níos mó sonraí a fháil.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: Earráid agus teastas á bhailíochtú le haghaidh %s: %s\n"
+
 #~ msgid "Failed writing to proxy: %s.\n"
 #~ msgstr "Theip ar scríobh go seachfhreastalaí: %s.\n"
 
 #~ msgid "File `%s' already there, will not retrieve.\n"
-#~ msgstr "Tá an comhad `%s' ann cheana, ní aisghabhfar.\n"
+#~ msgstr "Tá an comhad `%s' ann cheana, ní aisghabhfar é.\n"
 
 #~ msgid ""
 #~ "%s (%s) - `%s' saved [%s/%s])\n"
index 4c611214baf185cb49c46668213999e3186b9463..cc768f5e8e7f72fa795ff24ada90ad568332c515 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -5,7 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2003-11-15 02:13+0100\n"
 "Last-Translator: Jacobo Tarrío Barreiro <jtarrio@trasno.net>\n"
 "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -13,28 +14,93 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "Non se puido converter `%s' a un enderezo de asignación. Cambiando a CALQUERA.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: a opción `%s' é ambigua\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Conectando con %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: a opción `--%s' non admite argumentos\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: a opción `%c%s' non admite argumentos\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: a opción `%s' precisa dun argumento\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opción descoñecida `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opción descoñecida `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opción incorrecta -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opción non válida -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: a opción precisa dun argumento -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: a opción `-W %s' é ambigua\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: a opción `-W %s' non admite argumentos\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Conectando con %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Conectando con %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "conectado.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "fallou: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Non se puido borrar `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Convertéronse %d ficheiros en %.2f segundos.\n"
 
 #: src/convert.c:197
@@ -56,129 +122,153 @@ msgstr "Non se poden converte-las ligaz
 msgid "Unable to delete `%s': %s\n"
 msgstr "Non se puido borrar `%s': %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Non se pode copiar %s coma %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Erro en Set-Cookie, campo `%s'"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Erro de sintaxe en Set-Cookie: %s na posición %d.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Non se pode abri-lo ficheiro de cookies `%s': %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Non se pode escribir en `%s': %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Erro ao pechar `%s': %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Tipo de listado non soportado, probando o analizador de listados Unix.\n"
+msgstr ""
+"Tipo de listado non soportado, probando o analizador de listados Unix.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Índice de /%s en %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "data descoñecida   "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Ficheiro    "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Directorio  "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Ligazón     "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Non seguro  "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bytes)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Lonxitude: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (dato non fidedigno)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Identificándome coma %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Erro na resposta do servidor, pechando a conexión de control.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Erro no saúdo do servidor.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Erro escribindo, pechando a conexión de control.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "O servidor rexeita o login.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Login incorrecto.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "¡Conectado!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Erro no servidor, non se pode determina-lo tipo do sistema.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "feito.   "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "feito.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tipo `%c' descoñecido, pechando a conexión de control.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "feito.  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD non foi necesario.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -187,43 +277,33 @@ msgstr ""
 "Non existe tal ficheiro ou directorio `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD non foi preciso.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Non se puido comeza-la transferencia PASV.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Non se puido analiza-la resposta PASV.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "non se puido conectar a %s:%hu: %s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Erro facendo bind (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORT incorrecto.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST fallou; non se ha truncar `%s'.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -231,7 +311,7 @@ msgstr ""
 "\n"
 "REST fallou, comezando dende o principio.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -240,7 +320,7 @@ msgstr ""
 "Non hai tal ficheiro `%s'.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -249,84 +329,74 @@ msgstr ""
 "Non hai tal ficheiro ou directorio `%s'.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Lonxitude: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [quedan %s por descargar]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (dato non fidedigno)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, pechando a conexión de control.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Conexión de datos: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Conexión de control pechada.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Transferencia de datos abortada.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "O ficheiro `%s' xa está aí, non se ha descargar.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(intento:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr "%s (%s) - `%s' gardado [%ld]\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Borrando %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Usando `%s' coma un ficheiro temporal de listado.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Borrado `%s'.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "A profundidade de recursión %d excedeu a máxima %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "O ficheiro remoto non é máis novo có ficheiro local `%s' -- non se descarga.\n"
+msgstr ""
+"O ficheiro remoto non é máis novo có ficheiro local `%s' -- non se "
+"descarga.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -335,21 +405,20 @@ msgstr ""
 "O ficheiro remoto é máis novo có ficheiro local `%s' -- descargando.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "Os tamaños non coinciden (local %ld) -- descargando.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "O nome da ligazón simbólica é incorrecto, omitindo.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -358,235 +427,189 @@ msgstr ""
 "Xa ten unha ligazón simbólica correcta %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Creando a ligazón simbólica %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Ligazóns simbólicas non soportadas, omitindo `%s'.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Omitindo o directorio `%s'.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tipo de ficheiro descoñecido ou non soportado.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: data e hora corrompidas.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Non se han descargar directorios, porque a profundidade chegou a %d (máximo %d).\n"
+msgstr ""
+"Non se han descargar directorios, porque a profundidade chegou a %d (máximo %"
+"d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Non se ha descender a %s' porque está excluído ou non incluído.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Rexeitando `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Non se pode escribir en `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Non encaixa no patron `%s'.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Escrito un índice en HTML en `%s' [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Escrito un índice en HTML en `%s'.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Non se puido sementa-lo xerador de números aleatorios de OpenSSL; desactivando SSL.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: a opción `%s' é ambigua\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: a opción `--%s' non admite argumentos\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: a opción `%c%s' non admite argumentos\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: a opción `%s' precisa dun argumento\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opción descoñecida `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opción descoñecida `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opción incorrecta -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opción non válida -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: a opción precisa dun argumento -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Erro descoñecido"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: a opción `-W %s' é ambigua\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: a opción `-W %s' non admite argumentos\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Erro descoñecido"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Resolvendo %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "fallou: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "fallou: tempo esgotado.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Non se atopou o servidor"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Erro descoñecido"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Non se pode resolve-la ligazón incompleta %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Non se puido estabrecer un contexto SSL\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Valor `%s' non válido.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Non se puideron carga-los certificados de %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Probando sen o certificado especificado\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Fallo ao escribir unha petición HTTP: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Non se puido obte-la clave do certificado de %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Non se puido estabrece-la conexión SSL.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Reutilizando a conexión de %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Fallo ao escribir unha petición HTTP: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "Petición %s enviada, agardando unha resposta... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Fin de ficheiro mentres se analizaban as cabeceiras.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Non se recibiron datos"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Erro ao ler (%s) nas cabeceiras.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Non se recibiron datos"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "O ficheiro `%s' xa está aí, non se ha descargar.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Sistema de autenticación descoñecido.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Fallo na autorización.\n"
 
-#: src/http.c:1130
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Liña de estado mal formada"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(sen descripción)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Fallo na autorización.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Sistema de autenticación descoñecido.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Lugar: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "non especificado"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [seguíndoo]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -596,196 +619,210 @@ msgstr ""
 "    O ficheiro xa está completo; non hai nada que facer.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Non se puido continua-la descarga do ficheiro, o que é incompatible con `-c'.\n"
-"Non se ha trunca-lo ficheiro existente `%s'.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Lonxitude: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (quedan %s por descargar)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignorado"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Omitindo o directorio `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Aviso: comodíns non soportados en HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "O ficheiro `%s' xa está aí, non se ha descargar.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Non se pode escribir en `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Non se puido estabrece-la conexión SSL.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ERROR: Redirección (%d) sen destino.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERRO %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Falta a cabeceira Last-modified -- marcas de data e hora desactivadas.\n"
+msgstr ""
+"Falta a cabeceira Last-modified -- marcas de data e hora desactivadas.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Cabeceira Last-modified incorrecta -- a marca de data e hora foi ignorada.\n"
+msgstr ""
+"Cabeceira Last-modified incorrecta -- a marca de data e hora foi ignorada.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"O ficheiro do servidor non é máis novo có ficheiro local `%s' -- non se descarga.\n"
+"O ficheiro do servidor non é máis novo có ficheiro local `%s' -- non se "
+"descarga.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Os tamaños non coinciden (local %ld) -- descargando.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "O ficheiro remoto é máis novo, descargando.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' gardado [%ld/%ld]\n"
+"O ficheiro remoto é máis novo có ficheiro local `%s' -- descargando.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Conexión pechada no byte %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro remoto non é máis novo có ficheiro local `%s' -- non se "
+"descarga.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro remoto non é máis novo có ficheiro local `%s' -- non se "
+"descarga.\n"
+
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' gardado [%ld/%ld])\n"
+"%s (%s) - `%s' gardado [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Conexión pechada no byte %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Conexión pechada no byte %ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Erro de lectura no byte %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Erro de lectura no byte %ld/%ld (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC apunta a %s, que non existe.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Non se pode ler %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Erro en %s na liña %d.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Erro en %s na liña %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: BUG: comando descoñecido `%s', valor `%s'.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Aviso: Os ficheiros wgetrc do sistema e do usuario apuntan a `%s'.\n"
+msgstr ""
+"%s: Aviso: Os ficheiros wgetrc do sistema e do usuario apuntan a `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Orde --execute non válida `%s'\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Booleano `%s' non válido, empregue `on' ou `off'.\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Booleano '%s' non válido, empregue always (sempre), on, off ou never (nunca).\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Número `%s' non válido.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Valor de byte `%s' non válido.\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Periodo de tempo `%s' non válido.\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Valor `%s' non válido.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Cabeceira `%s' non válida.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Tipo de progreso `%s' non válido.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Restricción `%s' non válida, empregue `unix' ou `windows'.\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Valor `%s' non válido.\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -794,28 +831,26 @@ msgstr ""
 "\n"
 "%s recibido, redireccionando a saída a `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Non se recibiron datos"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; desactivando o rexistro.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Uso: %s [OPCIÓN]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, un descargador de ficheiros de rede non interactivo.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -823,311 +858,567 @@ msgstr ""
 "Os argumentos obrigatorios nas opcións largas sono tamén nas curtas.\n"
 "\n"
 
-#: src/main.c:144
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Comezo:\n"
-"  -V,  --version           amosa a versión de Wget e sae.\n"
-"  -h,  --help              amosa esta axuda.\n"
-"  -b,  --background        deixa o proceso en segundo plano.\n"
-"  -e,  --execute=COMANDO   executa un comando estoñp `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"Rexistro e ficheiro de entrada:\n"
-"  -o,  --output-file=FICHEIRO   rexistra-las mensaxes no FICHEIRO.\n"
-"  -a,  --append-output=FICHEIRO engadir mensaxes ao FICHEIRO.\n"
-"  -d,  --debug                  amosar información de depuración.\n"
-"  -q,  --quiet                  en silencio (sen mensaxes).\n"
-"  -v,  --verbose                moi falador (esta é a opción por defecto).\n"
-"  -nv, --non-verbose            non moi falador, sen estar en silencio.\n"
-"  -i,  --input-file=FICHEIRO    descarga-las URLs indicadas no FICHEIRO.\n"
-"  -F,  --force-html             trata-lo ficheiro de entrada coma HTML.\n"
-"  -B,  --base=URL               precede-la URL nas ligazóns relativas\n"
-"                                   en -F -i ficheiro.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"Descarga de ficheiros:\n"
-"  -t,  --tries=NÚMERO             facer NÚMERO tentativas (0 é sen límite).\n"
-"       --retry-connrefused        volver tentar se se rexeita a conexión.\n"
-"  -O   --output-document=FICHEIRO escribi-los documentos ao FICHEIRO.\n"
-"  -nc, --no-clobber               non esmaga-los ficheiros que xa existan\n"
-"                                        ou empregar sufixos .nº\n"
-"  -c,  --continue                 seguir descargando un ficheiro que xa exista.\n"
-"       --progress=TIPO            escolle-lo tipo de indicador de progreso.\n"
-"  -N,  --timestamping             non descarga-los ficheiros se son máis\n"
-"                                        vellos que os locais.\n"
-"  -S,  --server-response          amosa-las respostas do servidor.\n"
-"       --spider                   non descargar nada.\n"
-"  -T,  --timeout=SEGUNDOS         estabrecer tódolos tempos de vencemento\n"
-"                                        en SEGUNDOS.\n"
-"       --dns-timeout=SEGUNDOS     estabrece-lo tempo de vencemento de busca\n"
-"                                        en DNS en SEGUNDOS.\n"
-"       --connect-timeout=SEGUNDOS estabrece-lo tempo de vencemento de conexión\n"
-"                                        en SEGUNDOS.\n"
-"       --read-timeout=SEGUNDOS    estabrece-lo tempo de vencemento de lectura\n"
-"                                        en SEGUNDOS.\n"
-"  -w,  --wait=SEGUNDOS            agardar SEGUNDOS entre descargas.\n"
-"       --waitretry=SEGUNDOS       agardar 1...SEGUNDOS entre intentos.\n"
-"       --random-wait              agardar de 0 a 2*ESPERA seg. entre intentos.\n"
-"  -Y,  --proxy=on/off             activar ou desactiva-lo proxy.\n"
-"  -Q,  --quota=NÚMERO             establece-lo límite de descarga a NÚMERO.\n"
-"       --bind-address=ENDEREZO    emprega-lo ENDEREZO (nome/IP) desta máquina.\n"
-"       --limit-rate=RAZON         limita-la velocidade de descarga a RAZÓN.\n"
-"       --dns-cache=off            desactiva-la caché de buscas DNS.\n"
-"       --restric-file-names=SO    restrinxi-los caracteres dos nomes dos\n"
-"                                        ficheiros aos que admite o SO.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:407
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"Directorios:\n"
-"  -nd, --no-directories            non crear directorios.\n"
-"  -x,  --force-directories         forza-la creación de directorios.\n"
-"  -nH, --no-host-directories       non crea-los directorios do servidor.\n"
-"  -P,  --directory-prefix=PREFIXO  garda-los ficheiros a PREFIXO/...\n"
-"       --cut-dirs=NÚMERO           ignorar NUMERO compoñentes dos directorios\n"
-"                                        remotos.\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:411
+msgid "Download:\n"
 msgstr ""
-"Opcións HTTP:\n"
-"       --http-user=USUARIO   establece-lo USUARIO coma o usuario de http.\n"
-"       --http-passwd=CLAVE   establece-la CLAVE coma a clave de http.\n"
-"  -C,  --cache=on/off        (non) admitir datos da caché do servidor\n"
-"                                (normalmente admítense).\n"
-"  -E,  --html-extension      gravar tódolos documentos text/html con\n"
-"                                extensión .html\n"
-"       --ignore-length       ignora-lo campo da cabeceira `Content-Length'.\n"
-"       --header=CADEA        inserta-la CADEA entre as cabeceiras.\n"
-"       --proxy-user=USUARIO  establece-lo USUARIO coma o usuario do proxy.\n"
-"       --proxy-passwd=CLAVE  establece-la CLAVE coma a clave do proxy.\n"
-"       --referer=URL         incluir `Referer: URL' na petición HTTP\n"
-"  -s,  --save-headers        garda-las cabeceiras HTTP ao ficheiro.\n"
-"  -U,  --user-agent=AXENTE   identificar coma AXENTE no canto de Wget/VERSION.\n"
-"       --no-http-keep-alive  desactiva-las conexións persistentes de HTTP.\n"
-"       --cookies=off         non empregar cookies.\n"
-"       --load-cookies=FICH   carga-las cookies do FICHeiro antes da sesión\n"
-"       --save-cookies=FICH   grava-las cookies no FICHeiro trala sesión\n"
-"       --post-data=CADEA     emprega-lo método POST; envia-la CADEA coma datos.\n"
-"       --post-file=FICH      emprega-lo método POST; envia-lo FICHeiro.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr ""
-"Opcións de HTTPS (SSL):\n"
-"       --sslcertfile=FICHEIRO  certificado opcional do cliente.\n"
-"       --sslcertkey=FICHCLAVE  ficheiro de clave opcional para o certificado.\n"
-"       --egd-file=FICHEIRO     nome de ficheiro do socket EGD.\n"
-"       --sslcadir=DIR          directorio no que se armacena a lista de CAs.\n"
-"       --sslcafile=FICHEIRO    ficheiro cun lote de CAs\n"
-"       --sslcerttype=0/1       tipo de certificado de cliente\n"
-"                               0=PEM (valor por defecto) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1      compara-lo certificado do servidor coa CA dada\n"
-"       --sslprotocol=0-3       escolle-lo protocolo SSL; 0=automático,\n"
-"                               1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:419
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
 msgstr ""
-"Opcións FTP:\n"
-"  -nr, --dont-remove-listing   non elimina-los ficheiros `.listing'.\n"
-"  -g,  --glob=on/off           usar ou non comparación de nomes de ficheiros\n"
-"                                  con patróns.\n"
-"       --passive-ftp           usa-lo modo de transferencia \"passive\".\n"
-"       --retr-symlinks         ao descargar recursivamente, descarga-los\n"
-"                                  ficheiros ligados (non os directorios).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Directorio  "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Descarga recursiva:\n"
-"  -r,  --recursive             descarga recursiva.\n"
-"  -l,  --level=NUMERO          máximo nivel de recursión (empregue inf ou 0\n"
-"                                  para infinito).\n"
-"       --delete-after          borra-los ficheiros despois de descargalos.\n"
-"  -k,  --convert-links         converti-las ligazóns non relativas a relativas.\n"
-"  -K,  --backup-converted      antes de converti-lo ficheiro X, facer unha\n"
-"                                  copia chamada X.orig\n"
-"  -m,  --mirror                opción atallo equivalente a -r -N -l inf -nr.\n"
-"  -nr, --dont-remove-listing   non borra-los ficheiros `.listing'.\n"
-"  -p,  --page-requisites       obter tódalas imaxes, etc. necesarias para\n"
-"                                  amosa-la páxina HTML.\n"
-"       --strict-comments       activa-lo manexo estricto (SGML) dos\n"
-"                                  comentarios HTML.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr ""
-"Aceptar/rexeitar en descargas recursivas:\n"
-"  -A,  --accept=LISTA               lista de extensións aceptadas,\n"
-"                                        separadas por comas.\n"
-"  -R,  --reject=LISTA               lista de extensións rexeitadas,\n"
-"                                        separadas por comas.\n"
-"  -D,  --domains=LISTA              lista de dominios aceptados,\n"
-"                                        separadas por comas.\n"
-"       --exclude-domains=LISTA      lista de dominios rexeitados,\n"
-"                                        separadas por comas.\n"
-"       --follow-ftp                 segui-las ligazóns a FTP dende documentos\n"
-"                                        en HTML.\n"
-"       --follow-tags=LISTA          lista de etiquetas HTML que se siguen,\n"
-"                                        separadas por comas.\n"
-"  -G,  --ignore-tags=LISTA          lista de etiquetas HTML que se ignoran,\n"
-"                                        separadas por comas.\n"
-"  -H,  --span-hosts                 ir a servidores de fóra durante a\n"
-"                                        recursión.\n"
-"  -L,  --relative                   seguir só as ligazóns relativas.\n"
-"  -I,  --include-directories=LISTA  lista de directorios admitidos.\n"
-"  -X,  --exclude-directories=LISTA  lista de directorios excluídos.\n"
-"  -np, --no-parent                  non ascender ao directorio pai.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "Envíe os seus informes sobre erros e suxerencias a <bug-wget@gnu.org>.\n"
+msgstr ""
+"Envíe os seus informes sobre erros e suxerencias a <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: non se compilou con soporte de depuración.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, un descargador de ficheiros de rede non interactivo.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Este programa distribúese coa intención de que sexa útil, pero SEN\n"
-"NINGUNHA GARANTIA; nin sequera a garantía implícita de MERCABILIDADE\n"
-"ou APTITUDE PARA UN FIN PARTICULAR.  Vexa a Licencia Pública Xeral de\n"
-"GNU para obter máis detalles.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1135,134 +1426,228 @@ msgstr ""
 "\n"
 "Escrito orixinalmente por Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: opción incorrecta -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Escriba `%s --help' para ver máis opcións.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: opción incorrecta -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Non se pode ser moi falador e estar en silencio ao mesmo tempo.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Non se pode poñer unha marca de data e hora e non machaca-los ficheiros antigos ao mesmo tempo.\n"
+msgstr ""
+"Non se pode poñer unha marca de data e hora e non machaca-los ficheiros "
+"antigos ao mesmo tempo.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: falta a URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Non se atoparon URLs en %s.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "REMATADO --%s--\n"
 "Descargados: %s bytes en %d ficheiros\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "¡O límite de descarga (%s bytes) foi SUPERADO!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Seguindo en segundo plano.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Seguindo en segundo plano, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Vaise escribi-la saida a `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Comezando WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Non se puido atopar un controlador de sockets utilizable.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: aviso: o elemento \"%s\" aparece antes dun nome de máquina\n"
+msgstr ""
+"%s: %s:%d: aviso: o elemento \"%s\" aparece antes dun nome de máquina\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: elemento \"%s\" descoñecido\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Uso: %s NETRC [SERVIDOR]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: non se pode obter información de %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr ""
+"Non se puido sementa-lo xerador de números aleatorios de OpenSSL; "
+"desactivando SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
 #, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ omitindo %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "Especificación de estilo dos pountos `%s' non válida; queda sen cambiar.\n"
+msgstr ""
+"Especificación de estilo dos pountos `%s' non válida; queda sen cambiar.\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Borrando %s porque debería ser rexeitado.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Non se poden converte-las ligazóns en %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Cargando robots.txt; por favor, ignore os erros.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Erro ao analiza-lo URL do proxy %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Erro no URL do proxy %s: Debe ser HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "Superáronse %d redireccións.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1270,7 +1655,7 @@ msgstr ""
 "Abandonando.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1278,60 +1663,506 @@ msgstr ""
 "Intentándoo de novo.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Ningún erro"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Esquema non soportado"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Nome baleiro"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "O nome do usuario non é válido"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Número de porto incorrecto"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "O nome do usuario non é válido"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Enderezo IPv6 numérico sen rematar"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Non se soportan os enderezos IPv6"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Enderezo IPv6 numérico non válido"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Non hai memoria dabondo.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Seguindo en segundo plano, pid %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Fallo ao desligar `%s': %s\n"
 
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr ""
+#~ "Non se puido converter `%s' a un enderezo de asignación. Cambiando a "
+#~ "CALQUERA.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Erro en Set-Cookie, campo `%s'"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST fallou; non se ha truncar `%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [quedan %s por descargar]"
+
+#~ msgid "Host not found"
+#~ msgstr "Non se atopou o servidor"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Non se puido estabrecer un contexto SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Non se puideron carga-los certificados de %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Probando sen o certificado especificado\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Non se puido obte-la clave do certificado de %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Fin de ficheiro mentres se analizaban as cabeceiras.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Non se puido continua-la descarga do ficheiro, o que é incompatible con `-"
+#~ "c'.\n"
+#~ "Non se ha trunca-lo ficheiro existente `%s'.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (quedan %s por descargar)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "O ficheiro `%s' xa está aí, non se ha descargar.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' gardado [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Conexión pechada no byte %ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: Booleano '%s' non válido, empregue always (sempre), on, off ou "
+#~ "never (nunca).\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Comezo:\n"
+#~ "  -V,  --version           amosa a versión de Wget e sae.\n"
+#~ "  -h,  --help              amosa esta axuda.\n"
+#~ "  -b,  --background        deixa o proceso en segundo plano.\n"
+#~ "  -e,  --execute=COMANDO   executa un comando estoñp `.wgetrc'.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rexistro e ficheiro de entrada:\n"
+#~ "  -o,  --output-file=FICHEIRO   rexistra-las mensaxes no FICHEIRO.\n"
+#~ "  -a,  --append-output=FICHEIRO engadir mensaxes ao FICHEIRO.\n"
+#~ "  -d,  --debug                  amosar información de depuración.\n"
+#~ "  -q,  --quiet                  en silencio (sen mensaxes).\n"
+#~ "  -v,  --verbose                moi falador (esta é a opción por "
+#~ "defecto).\n"
+#~ "  -nv, --non-verbose            non moi falador, sen estar en silencio.\n"
+#~ "  -i,  --input-file=FICHEIRO    descarga-las URLs indicadas no FICHEIRO.\n"
+#~ "  -F,  --force-html             trata-lo ficheiro de entrada coma HTML.\n"
+#~ "  -B,  --base=URL               precede-la URL nas ligazóns relativas\n"
+#~ "                                   en -F -i ficheiro.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Descarga de ficheiros:\n"
+#~ "  -t,  --tries=NÚMERO             facer NÚMERO tentativas (0 é sen "
+#~ "límite).\n"
+#~ "       --retry-connrefused        volver tentar se se rexeita a "
+#~ "conexión.\n"
+#~ "  -O   --output-document=FICHEIRO escribi-los documentos ao FICHEIRO.\n"
+#~ "  -nc, --no-clobber               non esmaga-los ficheiros que xa "
+#~ "existan\n"
+#~ "                                        ou empregar sufixos .nº\n"
+#~ "  -c,  --continue                 seguir descargando un ficheiro que xa "
+#~ "exista.\n"
+#~ "       --progress=TIPO            escolle-lo tipo de indicador de "
+#~ "progreso.\n"
+#~ "  -N,  --timestamping             non descarga-los ficheiros se son máis\n"
+#~ "                                        vellos que os locais.\n"
+#~ "  -S,  --server-response          amosa-las respostas do servidor.\n"
+#~ "       --spider                   non descargar nada.\n"
+#~ "  -T,  --timeout=SEGUNDOS         estabrecer tódolos tempos de "
+#~ "vencemento\n"
+#~ "                                        en SEGUNDOS.\n"
+#~ "       --dns-timeout=SEGUNDOS     estabrece-lo tempo de vencemento de "
+#~ "busca\n"
+#~ "                                        en DNS en SEGUNDOS.\n"
+#~ "       --connect-timeout=SEGUNDOS estabrece-lo tempo de vencemento de "
+#~ "conexión\n"
+#~ "                                        en SEGUNDOS.\n"
+#~ "       --read-timeout=SEGUNDOS    estabrece-lo tempo de vencemento de "
+#~ "lectura\n"
+#~ "                                        en SEGUNDOS.\n"
+#~ "  -w,  --wait=SEGUNDOS            agardar SEGUNDOS entre descargas.\n"
+#~ "       --waitretry=SEGUNDOS       agardar 1...SEGUNDOS entre intentos.\n"
+#~ "       --random-wait              agardar de 0 a 2*ESPERA seg. entre "
+#~ "intentos.\n"
+#~ "  -Y,  --proxy=on/off             activar ou desactiva-lo proxy.\n"
+#~ "  -Q,  --quota=NÚMERO             establece-lo límite de descarga a "
+#~ "NÚMERO.\n"
+#~ "       --bind-address=ENDEREZO    emprega-lo ENDEREZO (nome/IP) desta "
+#~ "máquina.\n"
+#~ "       --limit-rate=RAZON         limita-la velocidade de descarga a "
+#~ "RAZÓN.\n"
+#~ "       --dns-cache=off            desactiva-la caché de buscas DNS.\n"
+#~ "       --restric-file-names=SO    restrinxi-los caracteres dos nomes dos\n"
+#~ "                                        ficheiros aos que admite o SO.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Directorios:\n"
+#~ "  -nd, --no-directories            non crear directorios.\n"
+#~ "  -x,  --force-directories         forza-la creación de directorios.\n"
+#~ "  -nH, --no-host-directories       non crea-los directorios do servidor.\n"
+#~ "  -P,  --directory-prefix=PREFIXO  garda-los ficheiros a PREFIXO/...\n"
+#~ "       --cut-dirs=NÚMERO           ignorar NUMERO compoñentes dos "
+#~ "directorios\n"
+#~ "                                        remotos.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opcións HTTP:\n"
+#~ "       --http-user=USUARIO   establece-lo USUARIO coma o usuario de "
+#~ "http.\n"
+#~ "       --http-passwd=CLAVE   establece-la CLAVE coma a clave de http.\n"
+#~ "  -C,  --cache=on/off        (non) admitir datos da caché do servidor\n"
+#~ "                                (normalmente admítense).\n"
+#~ "  -E,  --html-extension      gravar tódolos documentos text/html con\n"
+#~ "                                extensión .html\n"
+#~ "       --ignore-length       ignora-lo campo da cabeceira `Content-"
+#~ "Length'.\n"
+#~ "       --header=CADEA        inserta-la CADEA entre as cabeceiras.\n"
+#~ "       --proxy-user=USUARIO  establece-lo USUARIO coma o usuario do "
+#~ "proxy.\n"
+#~ "       --proxy-passwd=CLAVE  establece-la CLAVE coma a clave do proxy.\n"
+#~ "       --referer=URL         incluir `Referer: URL' na petición HTTP\n"
+#~ "  -s,  --save-headers        garda-las cabeceiras HTTP ao ficheiro.\n"
+#~ "  -U,  --user-agent=AXENTE   identificar coma AXENTE no canto de Wget/"
+#~ "VERSION.\n"
+#~ "       --no-http-keep-alive  desactiva-las conexións persistentes de "
+#~ "HTTP.\n"
+#~ "       --cookies=off         non empregar cookies.\n"
+#~ "       --load-cookies=FICH   carga-las cookies do FICHeiro antes da "
+#~ "sesión\n"
+#~ "       --save-cookies=FICH   grava-las cookies no FICHeiro trala sesión\n"
+#~ "       --post-data=CADEA     emprega-lo método POST; envia-la CADEA coma "
+#~ "datos.\n"
+#~ "       --post-file=FICH      emprega-lo método POST; envia-lo FICHeiro.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opcións de HTTPS (SSL):\n"
+#~ "       --sslcertfile=FICHEIRO  certificado opcional do cliente.\n"
+#~ "       --sslcertkey=FICHCLAVE  ficheiro de clave opcional para o "
+#~ "certificado.\n"
+#~ "       --egd-file=FICHEIRO     nome de ficheiro do socket EGD.\n"
+#~ "       --sslcadir=DIR          directorio no que se armacena a lista de "
+#~ "CAs.\n"
+#~ "       --sslcafile=FICHEIRO    ficheiro cun lote de CAs\n"
+#~ "       --sslcerttype=0/1       tipo de certificado de cliente\n"
+#~ "                               0=PEM (valor por defecto) / 1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1      compara-lo certificado do servidor coa CA "
+#~ "dada\n"
+#~ "       --sslprotocol=0-3       escolle-lo protocolo SSL; 0=automático,\n"
+#~ "                               1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opcións FTP:\n"
+#~ "  -nr, --dont-remove-listing   non elimina-los ficheiros `.listing'.\n"
+#~ "  -g,  --glob=on/off           usar ou non comparación de nomes de "
+#~ "ficheiros\n"
+#~ "                                  con patróns.\n"
+#~ "       --passive-ftp           usa-lo modo de transferencia \"passive\".\n"
+#~ "       --retr-symlinks         ao descargar recursivamente, descarga-los\n"
+#~ "                                  ficheiros ligados (non os "
+#~ "directorios).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Descarga recursiva:\n"
+#~ "  -r,  --recursive             descarga recursiva.\n"
+#~ "  -l,  --level=NUMERO          máximo nivel de recursión (empregue inf ou "
+#~ "0\n"
+#~ "                                  para infinito).\n"
+#~ "       --delete-after          borra-los ficheiros despois de "
+#~ "descargalos.\n"
+#~ "  -k,  --convert-links         converti-las ligazóns non relativas a "
+#~ "relativas.\n"
+#~ "  -K,  --backup-converted      antes de converti-lo ficheiro X, facer "
+#~ "unha\n"
+#~ "                                  copia chamada X.orig\n"
+#~ "  -m,  --mirror                opción atallo equivalente a -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -nr, --dont-remove-listing   non borra-los ficheiros `.listing'.\n"
+#~ "  -p,  --page-requisites       obter tódalas imaxes, etc. necesarias "
+#~ "para\n"
+#~ "                                  amosa-la páxina HTML.\n"
+#~ "       --strict-comments       activa-lo manexo estricto (SGML) dos\n"
+#~ "                                  comentarios HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Aceptar/rexeitar en descargas recursivas:\n"
+#~ "  -A,  --accept=LISTA               lista de extensións aceptadas,\n"
+#~ "                                        separadas por comas.\n"
+#~ "  -R,  --reject=LISTA               lista de extensións rexeitadas,\n"
+#~ "                                        separadas por comas.\n"
+#~ "  -D,  --domains=LISTA              lista de dominios aceptados,\n"
+#~ "                                        separadas por comas.\n"
+#~ "       --exclude-domains=LISTA      lista de dominios rexeitados,\n"
+#~ "                                        separadas por comas.\n"
+#~ "       --follow-ftp                 segui-las ligazóns a FTP dende "
+#~ "documentos\n"
+#~ "                                        en HTML.\n"
+#~ "       --follow-tags=LISTA          lista de etiquetas HTML que se "
+#~ "siguen,\n"
+#~ "                                        separadas por comas.\n"
+#~ "  -G,  --ignore-tags=LISTA          lista de etiquetas HTML que se "
+#~ "ignoran,\n"
+#~ "                                        separadas por comas.\n"
+#~ "  -H,  --span-hosts                 ir a servidores de fóra durante a\n"
+#~ "                                        recursión.\n"
+#~ "  -L,  --relative                   seguir só as ligazóns relativas.\n"
+#~ "  -I,  --include-directories=LISTA  lista de directorios admitidos.\n"
+#~ "  -X,  --exclude-directories=LISTA  lista de directorios excluídos.\n"
+#~ "  -np, --no-parent                  non ascender ao directorio pai.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: non se compilou con soporte de depuración.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Este programa distribúese coa intención de que sexa útil, pero SEN\n"
+#~ "NINGUNHA GARANTIA; nin sequera a garantía implícita de MERCABILIDADE\n"
+#~ "ou APTITUDE PARA UN FIN PARTICULAR.  Vexa a Licencia Pública Xeral de\n"
+#~ "GNU para obter máis detalles.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Comezando WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Nome baleiro"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Non hai memoria dabondo.\n"
+
 #~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
 #~ msgstr "Erro de sintaxe en Set-Cookie no carácter `%c'.\n"
 
-#~ msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-#~ msgstr "%s: BUG: comando descoñecido `%s', valor `%s'.\n"
-
 #~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
 #~ msgstr "%s: %s: Non se pode convertir `%s' a un enderezo IP.\n"
 
@@ -1383,7 +2214,8 @@ msgstr "Fallo ao desligar `%s': %s\n"
 #~ msgstr "%s: Aviso: non se pode facer unha resolución inversa da IP local.\n"
 
 #~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
-#~ msgstr "%s: Aviso: a resolución inversa do enderezo local non devolveu un FQDN\n"
+#~ msgstr ""
+#~ "%s: Aviso: a resolución inversa do enderezo local non devolveu un FQDN\n"
 
 #~ msgid "%s: Out of memory.\n"
 #~ msgstr "%s: Memoria esgotada.\n"
index 4433a06aeb55b23a3234e34f38810f0887d17d2b..d17afd81822927dc3af81c9a7a1575e28146dc7a 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -5,7 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.8.1\n"
-"POT-Creation-Date: 2001-12-17 16:30+0100\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2002-02-03 20:08+0200\n"
 "Last-Translator: Eli Zaretskii <eliz@gnu.org>\n"
 "Language-Team: Hebrew <eliz@gnu.org>\n"
@@ -13,1100 +14,2088 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: src/cookies.c:588
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "éåâù Set-Cookie úøúåë ìù `%s' äãù"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s úéðëú øåáò éòîùî-ãç åðéà `%s' ïééôàî\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `--%s' ïééôàî\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `%c%s' ïééôàî\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s úéðëú øåáò èðîåâøà áééçî `%s' ïééôàî\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s úéðëú é\"ò øëåî åðéà `--%s' ïééôàî\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s úéðëú é\"ò øëåî åðéà `%c%s' ïééôàî\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: é÷åç-éúìá ïééôàî -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, fuzzy, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: é÷åç-éúìá ïééôàî -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: èðîåâøà áééçî ïééôàî -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, fuzzy, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s úéðëú øåáò éòîùî-ãç åðéà `%s' ïééôàî\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, fuzzy, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `--%s' ïééôàî\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+# FIXME: this is lame!  The method of printing "Frobbing...done" etc.
+# does not lend itself to good translations into languages where
+# such sentences have a different structure, and should be rethought.
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "%s:%hu-ì úåøù÷úä ïåéñð"
+
+# FIXME: this is lame!  The method of printing "Frobbing...done" etc.
+# does not lend itself to good translations into languages where
+# such sentences have a different structure, and should be rethought.
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
+msgstr "%s:%hu-ì úåøù÷úä ïåéñð"
+
+# Pay attention: this is written to the RIGHT of "Connecting.." !!
+#: src/connect.c:330
+#, fuzzy
+msgid "connected.\n"
+msgstr "á äçìöä\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr ""
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "`%s' ÷åçîì ïåéñðá (%s) äì÷ú\n"
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr ""
+
+# Note: the following 5 messages are all written on the same line!
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "%s úøîä"
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "á êøåö ïéà\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "á (%s: %s) íéøåùé÷ úøîä úì÷ú\n"
 
-#: src/cookies.c:612
+#: src/convert.c:233
 #, c-format
-msgid "Syntax error in Set-Cookie at character `%c'.\n"
-msgstr ".`%c' åú úáø÷á Set-Cookie úøúåë ìù éåâù øéáçú\n"
+msgid "Unable to delete `%s': %s\n"
+msgstr "`%s' ÷åçîì ïåéñðá (%s) äì÷ú\n"
+
+#: src/convert.c:442
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "%s-ì éåáéâë %s úáéúëá (%s) äì÷ú\n"
 
-#: src/cookies.c:620
-msgid "Syntax error in Set-Cookie: premature end of string.\n"
+#: src/cookies.c:443
+#, fuzzy, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr ".éãî íã÷åî úîééúñî úæåøçîä :Set-Cookie úøúåë ìù éåâù øéáçú\n"
 
-#: src/cookies.c:1352
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "`%s' úåéâåò õáå÷ úçéúô úòá (%s) äì÷ú äòøéà\n"
 
-#: src/cookies.c:1364
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "`%s'-ì äáéúëá (%s) äì÷ú\n"
 
-#: src/cookies.c:1368
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "`%s' úøéâñá (%s) äì÷ú\n"
 
-#: src/ftp-ls.c:787
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr ".Unix èîøåô åîë ùøôì äñðî ,øëåî-éúìá âåñî íéöá÷ úîéùø\n"
 
-#: src/ftp-ls.c:832 src/ftp-ls.c:834
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s äé÷éúá %s:%d-á íéöá÷ úîéùø"
 
-#: src/ftp-ls.c:856
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "  òåãé àì ïåëãò ïîæ"
 
-#: src/ftp-ls.c:860
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "        õáå÷"
 
-#: src/ftp-ls.c:863
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "       äé÷éú"
 
-#: src/ftp-ls.c:866
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "       øåùé÷"
 
-#: src/ftp-ls.c:869
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr " òåãé àì âåñ"
 
-#: src/ftp-ls.c:887
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr "  (íéúá %s)"
 
-# FIXME: this is lame!  The method of printing "Frobbing...done" etc.
-# does not lend itself to good translations into languages where
-# such sentences have a different structure, and should be rethought.
-#. Login to the server:
-#. First: Establish the control connection.
-#: src/ftp.c:150 src/http.c:624
+# FIXME: This 3-part message will look totally messed up in a
+# right-to-left language such as Hebrew!  The maintainers
+# should _really_ fix the code!
+#: src/ftp.c:214
 #, c-format
-msgid "Connecting to %s:%hu... "
-msgstr "%s:%hu-ì úåøù÷úä ïåéñð"
+msgid "Length: %s"
+msgstr "%s :êøåà"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
 
-#: src/ftp.c:172 src/ftp.c:539 src/http.c:641
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
-msgid "Connection to %s:%hu refused.\n"
-msgstr ".äçãð %s:%hu-ì úåøù÷úä ïåéñð\n"
+msgid ", %s remaining"
+msgstr ""
 
-# Pay attention: this is written to the RIGHT of "Connecting.." !!
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:193 src/http.c:652
-msgid "connected!\n"
-msgstr "á äçìöä\n"
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (äëøòä)\n"
 
-#: src/ftp.c:194
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "%s-ë äñéðë ïåéñð"
 
-#: src/ftp.c:203 src/ftp.c:256 src/ftp.c:288 src/ftp.c:336 src/ftp.c:429
-#: src/ftp.c:481 src/ftp.c:575 src/ftp.c:648 src/ftp.c:709 src/ftp.c:757
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr ".øâñð äø÷áä ÷éôà ,úøù ìù éåâù äðòî\n"
 
-#: src/ftp.c:211
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr ".éåâù úøùä ìù äçéúô øñî\n"
 
-#: src/ftp.c:219 src/ftp.c:345 src/ftp.c:438 src/ftp.c:490 src/ftp.c:585
-#: src/ftp.c:658 src/ftp.c:719 src/ftp.c:767
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr ".øâñð äø÷áä ÷éôà ,äáéúëá äì÷ú\n"
 
-#: src/ftp.c:226
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr ".äñéðë äùøî åðéà úøùä\n"
 
-#: src/ftp.c:233
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr ".äéåâù äñéðë\n"
 
 # Note: this is written to the right of "Logging in as", with no newline!
-#: src/ftp.c:240
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "á äçìöä\n"
 
-#: src/ftp.c:265
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr ".úëøòî âåñ òåá÷ì úåøùôà ïéà ,úøù ìù éåâù äðòî\n"
 
-#: src/ftp.c:275 src/ftp.c:560 src/ftp.c:632 src/ftp.c:689
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr " <== äçìöäá òöåá"
 
-#: src/ftp.c:325 src/ftp.c:459 src/ftp.c:740 src/ftp.c:788 src/url.c:1429
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr " <== äçìöäá òöåá\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr ".øâñð äø÷áä ÷éôà ,øëåî åðéà `%c' äøáòä âåñ\n"
 
-#: src/ftp.c:366
+#: src/ftp.c:470
 msgid "done.  "
 msgstr " <== äçìöäá òöåá"
 
-#: src/ftp.c:372
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> .úùøãð äðéà CWD úãå÷ô\n"
 
-#: src/ftp.c:445
+#: src/ftp.c:569
 #, c-format
-msgid "No such directory `%s'.\n\n"
-msgstr ".úîéé÷ äðéà `%s' äé÷éú\n\n"
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+".úîéé÷ äðéà `%s' äé÷éú\n"
+"\n"
 
-#. do not CWD
-#: src/ftp.c:463
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> .CWD úãå÷ôá êøåö ïéà\n"
 
-#: src/ftp.c:497
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr ".PASV úèéùá äøáòä òéðúäì ïúéð àì\n"
 
-#: src/ftp.c:501
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr ".PASV úãå÷ôì äðòî ùøôì ïúéð àì\n"
 
-#: src/ftp.c:515
+#: src/ftp.c:665
 #, c-format
-msgid "Will try connecting to %s:%hu.\n"
-msgstr ".%s:%hu-ì øù÷úäì äñðî\n"
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr ""
 
-#: src/ftp.c:602
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr ".(%s) úåøù÷úä úì÷ú\n"
 
-#: src/ftp.c:618
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr ".PORT úì÷ú\n"
 
-#: src/ftp.c:671
-#, c-format
-msgid "\nREST failed; will not truncate `%s'.\n"
-msgstr "\n.`%s' ìù íãå÷ ïëåú ÷åçîì éàùø éððéà ;äìùëð REST úãå÷ô\n"
-
-#: src/ftp.c:678
-msgid "\nREST failed, starting from scratch.\n"
-msgstr "\n.äìçúäî ìéçúî ;äìùëð REST úãå÷ô\n"
-
-#: src/ftp.c:727
-#, c-format
-msgid "No such file `%s'.\n\n"
-msgstr ".íéé÷ åðéà `%s' õáå÷\n\n"
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+".äìçúäî ìéçúî ;äìùëð REST úãå÷ô\n"
 
-#: src/ftp.c:775
+#: src/ftp.c:826
 #, c-format
-msgid "No such file or directory `%s'.\n\n"
-msgstr ".íéîéé÷ äé÷éú åà õáå÷ åðéà `%s'\n\n"
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+".íéé÷ åðéà `%s' õáå÷\n"
+"\n"
 
-# FIXME: This 3-part message will look totally messed up in a
-# right-to-left language such as Hebrew!  The maintainers
-# should _really_ fix the code!
-#: src/ftp.c:859 src/ftp.c:867
+#: src/ftp.c:873
 #, c-format
-msgid "Length: %s"
-msgstr "%s :êøåà"
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+".íéîéé÷ äé÷éú åà õáå÷ åðéà `%s'\n"
+"\n"
 
-#: src/ftp.c:861 src/ftp.c:869
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s ãåò øàùð]"
-
-#: src/ftp.c:871
-msgid " (unauthoritative)\n"
-msgstr " (äëøòä)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:898
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr ".øâñð äø÷áä ÷éôà ,%s-á (%s) äì÷ú\n"
 
 # Note: the rightmost colon is for the message that will be printed
 # later.
-#: src/ftp.c:906
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "(%s :äòù  %s :áö÷) íéðåúðä ÷éôàá (%s) äì÷ú :"
 
 # Note: this and the next one don't have the period because they get
 # printed to the right of the previous message.
-#: src/ftp.c:923
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "øâñð äø÷áä ÷éôà\n"
 
-#: src/ftp.c:941
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "ä÷ñôåä íéðåúð úøáòä\n"
 
-#: src/ftp.c:1005
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr ".åúåà êåùîì êøåö ïéà ,ïàë øáë `%s' õáå÷\n"
 
-#: src/ftp.c:1075 src/http.c:1502
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(%2d 'ñî ïåéñð)"
 
 # I give up!
-#: src/ftp.c:1139 src/http.c:1753
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld]\n\n"
-msgstr "%s (%s) - `%s' saved [%ld]\n\n"
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' saved [%ld]\n"
+"\n"
 
-#: src/ftp.c:1181 src/main.c:810 src/recur.c:483 src/retr.c:566
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr ".%s ÷çåî\n"
 
-#: src/ftp.c:1221
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr ".íéöá÷ úîéùø úìá÷ì éðîæ õáå÷ë `%s'-á ùîúùî\n"
 
-#: src/ftp.c:1233
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr ".÷çîð `%s' õáå÷\n"
 
-#: src/ftp.c:1269
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr ".åéìò äìåò %d ìòåôá ÷îåò êà ,%d àåä éáøéî äéñøå÷ø ÷îåò\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1330
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr ".êùîéé àì õáå÷ä -- `%s' éîå÷î õáå÷î øúåé éðëãò åðéà ÷çåøî õáå÷\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1337
+#: src/ftp.c:1444
 #, c-format
-msgid "Remote file is newer than local file `%s' -- retrieving.\n\n"
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
 msgstr ".êùîéé õáå÷ä -- `%s' éîå÷î õáå÷î øúåé éðëãò ÷çåøî õáå÷\n"
 
-#. Sizes do not match
-#: src/ftp.c:1344
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n\n"
+#: src/ftp.c:1451
+#, fuzzy, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
 msgstr ".êùîéé õáå÷ä -- (%ld :éîå÷î õáå÷) ääæ åðéà ìãåâ\n"
 
-#: src/ftp.c:1361
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr ".èîùåé õáå÷ä ,øëåî åðéà éìåáîéñ øåùé÷ õáå÷ ìù åîù\n"
 
-#: src/ftp.c:1378
+#: src/ftp.c:1486
 #, c-format
-msgid "Already have correct symlink %s -> %s\n\n"
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
 msgstr ".íéé÷ øáë %s -> %s éìåáîéñ øåùé÷\n"
 
-#: src/ftp.c:1386
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr ".%s -> %s éìåáîéñ øåùé÷ øöåé\n"
 
-#: src/ftp.c:1397
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr ".`%s' õáå÷ èéîùî ,íéëîúð íðéà éìåáîéñ øåùé÷ éöá÷\n"
 
-#: src/ftp.c:1409
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr ".`%s' äé÷éú èéîùî\n"
 
-#: src/ftp.c:1418
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr ".êîúð åðéà åà øëåî-éúìá âåñî åðéä `%s' õáå÷\n"
 
-#: src/ftp.c:1445
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr ".äéåâù ïîæ úîéúç ìòá àåä `%s' õáå÷\n"
 
-#: src/ftp.c:1466
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr ".øúåé áø %d ï÷îåò ïëù åëùîéé àì úåé÷éú ;%d éáøéî ÷îåò\n"
 
-#: src/ftp.c:1512
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr ".äîéùøäî äàöåä åà äììëð àìù íåùî `%s'-ì ñðëéäìî òðîð\n"
 
-#: src/ftp.c:1559
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr ".äçãð `%s'\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1606
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "`%s'-ì äáéúëá (%s) äì÷ú\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr ".`%s' úéðáúì úåîàúä ïéà\n"
 
-#: src/ftp.c:1671
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "`%s'-ì äáúëð íéúá %ld ìãåâáå HTML èîøåôá íéöá÷ úîéùø\n"
 
-#: src/ftp.c:1676
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "`%s'-ì äáúëð HTML èîøåôá íéöá÷ úîéùø\n"
 
-#: src/getopt.c:454
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s úéðëú øåáò éòîùî-ãç åðéà `%s' ïééôàî\n"
-
-#: src/getopt.c:478
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `--%s' ïééôàî\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "ääåæî-éúìá äì÷ú"
 
-#: src/getopt.c:483
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `%c%s' ïééôàî\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:498
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s úéðëú øåáò èðîåâøà áééçî `%s' ïééôàî\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "ääåæî-éúìá äì÷ú"
 
-#. --option
-#: src/getopt.c:528
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s úéðëú é\"ò øëåî åðéà `--%s' ïééôàî\n"
+#: src/host.c:715
+#, fuzzy, c-format
+msgid "Resolving %s... "
+msgstr ".%s ÷çåî\n"
 
-#. +option or -option
-#: src/getopt.c:532
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s úéðëú é\"ò øëåî åðéà `%c%s' ïééôàî\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:563
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: é÷åç-éúìá ïééôàî -- %c\n"
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr ""
 
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:602
+#: src/html-url.c:289
 #, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: èðîåâøà áééçî ïééôàî -- %c\n"
-
-#: src/host.c:374
-msgid "Host not found"
-msgstr "àöîð àì çøàî áùçî"
-
-#: src/host.c:376
-msgid "Unknown error"
-msgstr "ääåæî-éúìá äì÷ú"
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr ""
 
-#. this is fatal
-#: src/http.c:555
-msgid "Failed to set up an SSL context\n"
-msgstr "(SSL) çèáåàî øåãéù úáéáñ úøéöéá äì÷ú\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr ".%s äàøåäá `%s' éåâù êøò\n"
 
-#: src/http.c:561
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "%s-î (certificates) øåùéà úåéåú úðéòèá äì÷ú\n"
-
-#: src/http.c:565 src/http.c:573
-msgid "Trying without the specified certificate\n"
-msgstr "úùøãð øåùéà úéåú àìì êéùîäì ïåéñð\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr ".HTTP úééðô ìù äçéìùá (%s) äì÷ú\n"
 
-#: src/http.c:569
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "%s-î øåùéà çúôî úìá÷á äì÷ú\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:663 src/http.c:1593
-msgid "Unable to establish SSL connection.\n"
-msgstr ".(SSL) çèáåàî øù÷ õåøò íé÷äì ïúéð àì\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:671
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr ".%s:%hu-ì øåáéçá ùîúùäì êéùîî\n"
 
-#: src/http.c:861
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr ".HTTP úééðô ìù äçéìùá (%s) äì÷ú\n"
 
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
 # FIXME: This message can be followed by "%d %s", which prints
 # the operation status code and error message.  I don't see how
 # can I make this look right in Hebrew...
-#: src/http.c:866
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "...äáåùú úìá÷ì ïéúîî ,äçìùð %s úééðô "
 
-#: src/http.c:910
-msgid "End of file while parsing headers.\n"
-msgstr ".úåøúåëä çåúéð éãë êåú èì÷ øîâ\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "èì÷ éðåúð åìá÷úä àì"
 
-#: src/http.c:920
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr ".úåøúåë úàéø÷ úòá (%s) úì÷ú\n"
 
-#: src/http.c:959
-msgid "No data received"
-msgstr "èì÷ éðåúð åìá÷úä àì"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ".åúåà êåùîì êøåö ïéà ,ïàë øáë `%s' õáå÷\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr ".úøëåî-éúìá úåîéà úèéù\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr ".úåîéàä áìùá ïåìùë\n"
 
-#: src/http.c:961
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "áöîä úøåù ìù éåâù äðáî"
 
-#: src/http.c:966
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(äòåãé-éúìá äáéñ)"
 
-#: src/http.c:1089
-msgid "Authorization failed.\n"
-msgstr ".úåîéàä áìùá ïåìùë\n"
-
-#: src/http.c:1096
-msgid "Unknown authentication scheme.\n"
-msgstr ".úøëåî-éúìá úåîéà úèéù\n"
-
 # Pay attention: the translation of "unspecified" goes to the
 # left of this, the translation of "[following]" goes to the right.
-#: src/http.c:1136
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "%s :øúàì áåúéð éåðéù%s\n"
 
-#: src/http.c:1137 src/http.c:1269
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "unspecified"
 
-#: src/http.c:1138
+#: src/http.c:2084
 msgid " [following]"
 msgstr " øçà á÷åò"
 
-#: src/http.c:1200
-msgid "\n    The file is already fully retrieved; nothing to do.\n\n"
-msgstr "\n  .éäùìë äìåòôá êøö ïéà ;êùîð æàî äðúùä àì õáå÷ä ìù åìãåâ\n\n"
-
-#: src/http.c:1216
-#, c-format
+#: src/http.c:2140
 msgid ""
 "\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
+"    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-",ó÷åúá `-c' ïééôàîå úåéä .äìùëð äæ õáå÷ ìù êùîä-úëéùî\n"
-".`%s' íéé÷ õáå÷ áúëùì éúåøùôàá ïéà\n"
+"  .éäùìë äìåòôá êøö ïéà ;êùîð æàî äðúùä àì õáå÷ä ìù åìãåâ\n"
 "\n"
 
 # The next 3 messages are printed in order on the same line, and
 # this one is followed by a number!  I give up!!
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1259
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Length: "
 
-#: src/http.c:1264
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s to go)"
-
-#: src/http.c:1269
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignored"
 
-#: src/http.c:1399
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr ".`%s' äé÷éú èéîùî\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr ".HTTP-á íéëîúð íðéà (wildcards) äììëä éåú :äøäæà\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1417
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr ".êùîéé àì ïë-ìòå ,íéé÷ øáë `%s' õáå÷\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1585
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr ".`%s' úáéúëá (%s) äì÷ú\n"
 
-#: src/http.c:1602
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr ".(SSL) çèáåàî øù÷ õåøò íé÷äì ïúéð àì\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr ".øúà íù àìì áåúéð (%d) éåðéù :äì÷ú\n"
 
-#: src/http.c:1630
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERROR %d: %s.\n"
 
-#: src/http.c:1642
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr ".úåðéîæ åéäé àì ïîæ úåîéúç -- äàöîð àì ïåøçà éåðéù ïîæ úøúåë\n"
 
-#: src/http.c:1650
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr ".ïîæä úîéúçî íìòúî -- äéåâù ïåøçà éåðéù ïîæ úøúåë\n"
 
-#: src/http.c:1673
+#: src/http.c:2619
 #, c-format
-msgid "Server file no newer than local file `%s' -- not retrieving.\n\n"
-msgstr ".êùîéé àì õáå÷ä -- `%s' éîå÷î õáå÷î øúåé éðëãò åðéà úøùá õáå÷\n\n"
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+".êùîéé àì õáå÷ä -- `%s' éîå÷î õáå÷î øúåé éðëãò åðéà úøùá õáå÷\n"
+"\n"
 
-#: src/http.c:1680
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr ".êùîéé õáå÷ä -- (%ld :éîå÷î õáå÷) ääæ åðéà ìãåâ\n"
 
-#: src/http.c:1684
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr ".êùîéé õáå÷ä ,øúåé éðëãò ÷çåøî õáå÷\n"
 
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ".êùîéé õáå÷ä -- `%s' éîå÷î õáå÷î øúåé éðëãò ÷çåøî õáå÷\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ".êùîéé àì õáå÷ä -- `%s' éîå÷î õáå÷î øúåé éðëãò åðéà ÷çåøî õáå÷\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ".êùîéé àì õáå÷ä -- `%s' éîå÷î õáå÷î øúåé éðëãò åðéà ÷çåøî õáå÷\n"
+
 # Come on, are they serious??
-#: src/http.c:1728
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld]\n\n"
-msgstr "%s (%s) - `%s' saved [%ld/%ld]\n\n"
+#: src/http.c:2715
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' saved [%ld/%ld]\n"
+"\n"
 
-#: src/http.c:1774
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
 msgstr ".øâñð øåáéçä ,%s-á (%s) íéúá %ld éøçà äì÷ú "
 
-#: src/http.c:1782
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld])\n\n"
-msgstr "%s (%s) - `%s' saved [%ld/%ld]\n\n"
-
-#: src/http.c:1801
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr ".øâñð øåáéçä ,%s-á (%s) íéúá %ld/%ld éøçà äì÷ú "
-
-#: src/http.c:1812
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr ".%s-á %s áö÷á åìá÷úðù íéúá %ld éøçà (%s) äàéø÷ úì÷ú"
 
-#: src/http.c:1820
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr ".%s-á %s áö÷á åìá÷úðù íéúá %ld/%ld éøçà (%s) äàéø÷ úì÷ú "
 
-#: src/init.c:349 src/netrc.c:267
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr ""
+
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr ".%s úéðëú é\"ò %s õáå÷ úçéúôá (%s) äì÷ú\n"
 
-#: src/init.c:367 src/init.c:373
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr ".%s úéðëú øåáò äéåâù %s õáå÷á %d äøåù\n"
 
-#: src/init.c:405
-#, c-format
-msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: ùîúùîä ìù ïäå úëøòîä ìù ïä wgetrc õáå÷ë ùîùî `%s' :äøäæà\n"
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr ".%s úéðëú øåáò äéåâù %s õáå÷á %d äøåù\n"
 
 # This message is under "ifdef DEBUG", so no need to translate it.
-#: src/init.c:497
-#, c-format
-msgid "%s: BUG: unknown command `%s', value `%s'.\n"
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: BUG: unknown command `%s', value `%s'.\n"
 
-#: src/init.c:529
+#: src/init.c:524
 #, c-format
-msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
-msgstr "%s: IP úáåúëì äøîäì úðúéð äððéà %s úàøåäá `%s'\n"
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr "%s: ùîúùîä ìù ïäå úëøòîä ìù ïä wgetrc õáå÷ë ùîùî `%s' :äøäæà\n"
 
-#: src/init.c:559
-#, c-format
-msgid "%s: %s: Please specify on or off.\n"
+#: src/init.c:677
+#, fuzzy, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr ".%s äàøåäá `%s' éåâù êøò\n"
+
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: ãáìá off åà on íéëøò úìá÷î %s äàøåä\n"
 
-#: src/init.c:603
-#, c-format
-msgid "%s: %s: Please specify always, on, off, or never.\n"
-msgstr "%s: never åà off ,on ,always íéëøò ÷ø úìá÷î %s äàøåä\n"
+#: src/init.c:739
+#, fuzzy, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s äàøåäá `%s' éåâù êøò\n"
 
-#: src/init.c:622 src/init.c:919 src/init.c:941 src/init.c:1005
-#, c-format
-msgid "%s: %s: Invalid specification `%s'.\n"
+#: src/init.c:970 src/init.c:989
+#, fuzzy, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s äàøåäá `%s' éåâù êøò\n"
 
-#: src/init.c:775 src/init.c:797 src/init.c:819 src/init.c:845
-#, c-format
-msgid "%s: Invalid specification `%s'\n"
-msgstr ".%s äàøåäá `%s' éåâù êøò\n"
+#: src/init.c:1014
+#, fuzzy, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s äàøåäá `%s' éåâù êøò\n"
 
-#: src/main.c:120
-#, c-format
-msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "%s [ïééôàî]... [URL]... :ùåîéù ïôåà\n"
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, fuzzy, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s äàøåäá `%s' éåâù êøò\n"
 
-#: src/main.c:128
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr ".ìéòôî úåôúúùä àìì úùøäî íéöá÷ úëéùî ,%s àñøéâ GNU Wget úéðëú\n"
+#: src/init.c:1105
+#, fuzzy, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s äàøåäá `%s' éåâù êøò\n"
 
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:133
-msgid "\nMandatory arguments to long options are mandatory for short options too.\n\n"
-msgstr "\n.íéøö÷ íéðééôàîì íâ íééçøëä ,íéëåøà íéðééôàîì íééçøëää íéèðîåâøà\n\n"
+#: src/init.c:1171
+#, fuzzy, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s äàøåäá `%s' éåâù êøò\n"
 
-#: src/main.c:137
+#: src/init.c:1230
+#, c-format
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr ""
-"                                                                     :ìåçéú\n"
-"                           úéðëúä úñøéâ úà âöä  -V,  --version\n"
-"                               äæ äøæò êñî âöä       --help\n"
-"                   ìåçéú øîâá ò÷øá äãåáòì øåáò  -b,  --background\n"
-"                       wgetrc ïåðâñá äãå÷ô òöá  -e,  --execute=COMMAND\n"
+
+#: src/log.c:784
+#, fuzzy, c-format
+msgid ""
 "\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr "%s åìá÷úä ,`%%s'-ì èìô úééðôä\n"
 
-#: src/main.c:144
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
 "\n"
+"%s received.\n"
+msgstr "èì÷ éðåúð åìá÷úä àì"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
 msgstr ""
-"                                                            :ïîåéå èì÷ éöá÷\n"
-"                         FILE õáå÷ì úåòãåä çìù  -o,  --output-file=FILE\n"
-"                        FILE õáå÷ì úåòãåä óñåä  -a,  --append-output=FILE\n"
-"               úåàéâù éåôéðá äøæòì úåòãåä ñôãä  -d,  --debug\n"
-"                       (úåòãåä àìì) äè÷ù äìåòô  -q,  --quiet\n"
-"        (ìãçîä úøéøá éäåæ)  øéáëîì úåòãåä ñôãä  -v,  --verbose\n"
-"     äè÷ù äìåòôì øåáòú ìà êà ,úåòãåä éåáéø ìèá  -nv, --non-verbose\n"
-"               FILE õáå÷ êåúî äëéùîì íé-URL ç÷  -i,  --input-file=FILE\n"
-"         HTML èîøåôá åðéä -i-á èì÷ õáå÷ éë çðä  -F,  --force-html\n"
-" URL-ì íééñçé íðéä -i-ì èðîåâøàá íéîåùøä íéöá÷  -B,  --base=URL\n"
-"             çå÷ì áùçîì øåùéà õáå÷ ïåéö úåøùôà       --sslcertfile=FILE\n"
-"           äæ øåùéà øåáò çúôî õáå÷ ïåéö úåøùôà       --sslcertkey=KEYFILE\n"
-"\n"
 
-#: src/main.c:158
-msgid ""
-"Download:\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --dot-style=STYLE        set retrieval display style.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "%s [ïééôàî]... [URL]... :ùåîéù ïôåà\n"
+
+#: src/main.c:369
+#, fuzzy
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"                                                               :íéöá÷ úëéùî\n"
-" éîå÷î áùçîá (IP åà áùçî íù) ADDR úáåúëì øù÷úä       --bind-address=ADDR\n"
-"  (äìáâî ïéà åòîùî 0) úåøù÷úä úåðåéñð øôñî òá÷  -t,  --tries=NUMBER\n"
-"                                FILE-ì èìô çìù  -O   --output-document=FILE\n"
-"íäî úåàñøâ äîë øåîùú ìàå íéîéé÷ íéöá÷ ñåøäú ìà  -nc, --no-clobber\n"
-"             ú÷ñôä äá äãå÷ðäî õáå÷ ãéøåäì êùîä  -c,  --continue\n"
-"                äëéùîä úåîã÷úä úâåöú ïåðâñ òá÷       --dot-style=STYLE\n"
-"  íééîå÷î íéöá÷î íéðëãåòî íðéàù íéöá÷ êåùîú ìà  -N,  --timestamping\n"
-"                       úøùäî íéòéâîä íéøñî âöä  -S,  --server-response\n"
-"                                  øáã êåùîú ìà       --spider\n"
-"                     èì÷ì äðúîäì éáøéî ïîæ òá÷  -T,  --timeout=SECONDS\n"
-"                         úåëéùî ïéá äééäùä òá÷  -w,  --wait=SECONDS\n"
-"                   úåðåéñð ïéá úåéðù N ãò ïúîä       --waitretry=N\n"
-"                     äùøåî úøùá ùîúùú ìà\\ùîúùä  -Y,  --proxy=on/off\n"
-"(äìáâî ïéà åòîùî 0) äëéùîì íéúá úåîë úìáâî òá÷  -Q,  --quota=NUMBER\n"
 "\n"
+".íéøö÷ íéðééôàîì íâ íééçøëä ,íéëåøà íéðééôàîì íééçøëää íéèðîåâøà\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
 
-#: src/main.c:175
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Directories:\n"
-"  -nd  --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"                                                                    :úé÷éåú\n"
-"                         úåùãç úåé÷éú øåöéú ìà  -nd  --no-directories\n"
-"                       úåùãç úåé÷éú øåöéú ãéîú  -x,  --force-directories\n"
-"    íéöá÷ä åãøåä åðîî øúàä íùá úåé÷éú øåöéú ìà  -nH, --no-host-directories\n"
-"           PFX/... äé÷éú úçú íéöá÷ä ìë úà øåîù  -P,  --directory-prefix=PFX\n"
-"            úåé÷éúä úåîùî íéðåùàø íé÷ìç N èîùä       --cut-dirs=N\n"
-"\n"
 
-#: src/main.c:183
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr ""
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"                                                              :HTTP éðééôàî\n"
-"                    HTTP ùîúùî ìù åîù USER éäé       --http-user=USER\n"
-"                 HTTP ùîúùî ìù åúîñéñ PASS éäé       --http-passwd=PASS\n"
-"        úøùá ïåîèîá åøîùðù íéðåúð äùøú ìà\\äùøä  -C,  --cache=on/off\n"
-"                     .html úîåéñ íéöá÷ä ìëì ïú  -E,  --html-extension\n"
-"                 `Content-Length' úøúåëî íìòúä       --ignore-length\n"
-"               úåøúåëä êåúá STRING úæåøçî ìåúù       --header=STRING\n"
-"             äùøåî úøùá ùîúùîä ìù åîù USER éäé       --proxy-user=USER\n"
-"          äùøåî úøùá ùîúùîä ìù åúîñéñ PASS éäé       --proxy-passwd=PASS\n"
-"         HTTP úééðôì `Referer: URL' úøúåë óñåä       --referer=URL\n"
-"                    èìô éöá÷á HTTP úåøúåë øåîù  -s,  --save-headers\n"
-"   ìéâøë Wget/VERSION íå÷îá AGENT úéðëúë ääãæä  -U,  --user-agent=AGENT\n"
-"     (ãéîúî HTTP øåáéç) keep-alive-á ùåîéù ìèá       --no-http-keep-alive\n"
-"                    (cookies) úåéâåòá ùîúùú ìà       --cookies=off\n"
-"       äãåáòä úìéçú éðôì FILE õáå÷î úåéâåò ïòè       --load-cookies=FILE\n"
-"            äãåáòä øîâá FILE õáå÷á úåéâåò øåîù       --save-cookies=FILE\n"
-"\n"
 
-#: src/main.c:201
+#: src/main.c:407
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "       äé÷éú"
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr ""
-"                                                               :FTP éðééôàî\n"
-"                          listing éöá÷ ÷çîú ìà  -nr, --dont-remove-listing\n"
-"    íéöá÷ úåîùá äáçøä éåúá äëéîú ìéòôú ìà\\ìòôä  -g,  --glob=on/off\n"
-"             (\"PASV\") úéáéñô äøáòä úèéùá ùîúùä       --passive-ftp\n"
-"   íéøåùé÷ ìù äøèî éöá÷ êåùî ,úéáéñøå÷ø äëéùîá       --retr-symlinks\n"
-"\n"
 
-#: src/main.c:208
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive web-suck -- use with care!\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"\n"
 msgstr ""
-"                                                           :úéáéñøå÷ø äëéùî\n"
-"  (!úøäæåä äàø !ïëåñî) -- úéáéñøå÷ø äëéùî øùôà  -r,  --recursive\n"
-"ìáâåî-éúìá ÷îåòì åà 0 ,äéñøå÷øì éáøéî ÷îåò òá÷  -l,  --level=NUMBER\n"
-"            äëéùî øîâá úéîå÷î íéöá÷ä ìë úà ÷çî       --delete-after\n"
-"                          íééñçéì íéøåùé÷ êåôä  -k,  --convert-links\n"
-"                äëéôä éðôì éåáéâë õáå÷ ìë øåîù  -K,  --backup-converted\n"
-"       -r -N -l inf -nr íéðééôàîä óåøéöì øåöé÷  -m,  --mirror\n"
-"         HTML úâåöúì íéùøãðä íéöá÷ä ìë úà êåùî  -p,  --page-requisites\n"
-"\n"
 
-#: src/main.c:218
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -nh, --no-host-lookup             don't DNS-lookup hosts.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
 msgstr ""
-"                                         :úéáéñøå÷ø äëéùî úòá äééçã åà äìá÷\n"
-"        íé÷éñô é\"ò úåãøôåî úåøúåî úåîåéñ úîéùø  -A,  --accept=LIST\n"
-"        íé÷éñô é\"ò úåãøôåî úåøåñà úåîåéñ úîéùø  -R,  --reject=LIST\n"
-"   íé÷éñô é\"ò íéãøôåî íéøúåî íéîåçú úåîù úîéùø  -D,  --domains=LIST\n"
-"   íé÷éñô é\"ò íéãøôåî íéøåñà íéîåçú úåîù úîéùø       --exclude-domains=LIS\n"
-"                 HTML éôãá FTP éøåùé÷ øçà áå÷ò       --follow-ftp\n"
-" íé÷éñô é\"ò íéãøôåî áå÷òì ùé íäéøçà HTML úîéùø       --follow-tags=LIST\n"
-"                      íìòúäì ùé íäî HTML úîéùø  -G,  --ignore-tags=LIST\n"
-"   íéøçà íéáùçîì úùâì ïúéð úéáéñøå÷ø äëéùî úòá  -H,  --span-hosts\n"
-"             éñçé íù éìòá íéøåùé÷ éøçà ÷ø áå÷ò  -L,  --relative\n"
-"                           úåøúåî úåé÷éú úîéùø  -I,  --include-directories=L\n"
-"                           úåøåñà úåé÷éú úîéùø  -X,  --exclude-directories=L\n"
-"             úùøá íéáùçî ùåôéçì DNS-á ùîúùú ìà  -nh, --no-host-lookup\n"
-"                            áà úéé÷éúì äìòú ìà  -np, --no-parent\n"
-"\n"
 
-#: src/main.c:234
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "    .<bug-wget@gnu.org> úáåúëì øåôéùì úåòöäå (bugs) äì÷ú éçååéã åçìù\n"
 
-#: src/main.c:420
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr ".`--debug' ïééôàîá äëéîú íò äúðáð àì %s úéðëúä\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr ".ìéòôî úåôúúùä àìì úùøäî íéöá÷ úëéùî ,%s àñøéâ GNU Wget úéðëú\n"
 
-#: src/main.c:472
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/main.c:679
 msgid ""
-"Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
-"                                 ,úìòåú àéáú àéäù äåå÷ú êåúî úöôåî åæ úéðëú\n"
-"                             òîúùîá-úåéøçà àì åìéôà ;úåéøçà áúë ìë àìì íìåà\n"
-"                             ,íéèøôì .úîéåñî úéìëú åæéàì äîàúä åà úåøéçñ ìù\n"
-"                                    .GNU General Public License-á åðééò àðà\n"
 
-#: src/main.c:478
-msgid "\nOriginally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"
-msgstr "\n.Hrvoje Niksic <hniksic@arsdigita.com> é\"ò øå÷îá äáúëð åæ úéðëú\n"
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+#, fuzzy
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+".Hrvoje Niksic <hniksic@arsdigita.com> é\"ò øå÷îá äáúëð åæ úéðëú\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#: src/main.c:569
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
-msgid "%s: %s: invalid command\n"
-msgstr "%s: %s äéåâù äãå÷ô\n"
+msgid "Try `%s --help' for more options.\n"
+msgstr ".øúåé áø òãéî úâöäì `%s --help' ùé÷äì äñð\n"
 
-#: src/main.c:625
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: `-n%c' éåâù ïééôàî\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:628 src/main.c:670 src/main.c:728
+#: src/main.c:859
 #, c-format
-msgid "Try `%s --help' for more options.\n"
-msgstr ".øúåé áø òãéî úâöäì `%s --help' ùé÷äì äñð\n"
-
-#: src/main.c:708
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr ".äæ úà äæ íéøúåñ quiet-å verbose\n"
 
-#: src/main.c:714
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr ".äæ úà äæ íéøúåñ ïåøçà ïåëãò ïîæ íåùéøå íéîéé÷ íéöá÷ ìò äøéîù\n"
 
-#. No URL specified.
-#: src/main.c:723
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: øñç URL\n"
 
-#: src/main.c:825
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr ".%s-á URL óà àöîð àì\n"
 
-#: src/main.c:834
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "--%s-- äòùá íééúñä\n"
 "íéúá %s ,íéöá÷ %d åëùîð\n"
 
-#: src/main.c:842
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "!(íéúá %s) äëéùî úìáâîî äâéøç\n"
 
-#. Please note that the double `%' in `%%s' is intentional, because
-#. redirect_output passes tmp through printf.
-#: src/main.c:876
+#: src/mswindows.c:99
 #, c-format
-msgid "%s received, redirecting output to `%%s'.\n"
-msgstr "%s åìá÷úä ,`%%s'-ì èìô úééðôä\n"
-
-#: src/mswindows.c:89
-#, c-format
-msgid ""
-"\n"
-"CTRL+Break received, redirecting output to `%s'.\n"
-"Execution continued in background.\n"
-"You may stop Wget by pressing CTRL+ALT+DELETE.\n"
-msgstr ""
-"\n"
-"       .`%s'-ì èìô úééðôä ,CTRL+Break õçìð\n"
-"                        .ò÷øá êùîéé òåöéáä\n"
-".CTRL+ALT+DELETE úù÷ä é\"ò Wget øåöòì ïúéð\n"
-
-#. parent, no error
-#: src/mswindows.c:106 src/utils.c:458
 msgid "Continuing in background.\n"
 msgstr ".ò÷øá êéùîî\n"
 
-#: src/mswindows.c:108 src/utils.c:460
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr ".ò÷øá êéùîî\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr ".`%s'-ì áúëéé èìô\n"
 
-#: src/mswindows.c:188
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr ".\"WinHelp %s\" ìéòôî\n"
-
-#: src/mswindows.c:215 src/mswindows.c:222
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Couldn't find usable socket driver.\n"
 
-#: src/netrc.c:367
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: áùçîä íù øãâåäù éðôì äòéôåî \"%s\" çúôî úìéî :äøäæà\n"
 
-#: src/netrc.c:398
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: \"%s\" úøëåî-éúìá çúôî úìéî\n"
 
-#: src/netrc.c:462
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "%s NETRC [çøàî-áùçî íù]  :ùåîéùä ïôåà\n"
 
-#: src/netrc.c:472
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s úéðëúá %s õáå÷ì äùéâá (%s) äì÷ú\n"
 
-#: src/recur.c:484
-#, c-format
-msgid "Removing %s since it should be rejected.\n"
-msgstr ".÷çîéé ïë-ìòå äçãð %s\n"
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
 
-#: src/recur.c:679
-msgid "Loading robots.txt; please ignore errors.\n"
-msgstr ".äàéâù úåòãåäî íìòúäì àð ;robots.txt õáå÷ ïòåè\n"
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr ""
 
-#: src/retr.c:227
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
 #, c-format
-msgid "\n          [ skipping %dK ]"
-msgstr "\n          [ %dK ìò âìãî ]"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
 
-#: src/retr.c:373
-msgid "Could not find proxy host.\n"
-msgstr ".äùøåî úøù àöîð àì\n"
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
 
-#: src/retr.c:387
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
-msgid "Proxy %s: Must be HTTP.\n"
-msgstr ".HTTP úåéäì áééç :%s äùøåî úøù\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
 
-#: src/retr.c:481
+#: src/openssl.c:581
 #, c-format
-msgid "%s: Redirection cycle detected.\n"
-msgstr ".%s úéðëúá úéìâòî äééðôä äúìâúä\n"
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
 
-#: src/retr.c:587
-msgid "Giving up.\n\n"
-msgstr "!òðëð éðà\n\n"
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"          [ %dK ìò âìãî ]"
 
-#: src/retr.c:587
-msgid "Retrying.\n\n"
-msgstr ".óñåð ïåéñð\n\n"
+#: src/progress.c:456
+#, fuzzy, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr ".%s äàøåäá `%s' éåâù êøò\n"
 
-# Note: the following 5 messages are all written on the same line!
-#: src/url.c:1329
+#: src/progress.c:802
 #, c-format
-msgid "Converting %s... "
-msgstr "%s úøîä"
+msgid "  eta %s"
+msgstr ""
 
-#: src/url.c:1342
-msgid "nothing to do.\n"
-msgstr "á êøåö ïéà\n"
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
 
-#: src/url.c:1350 src/url.c:1374
+#: src/ptimer.c:160
 #, c-format
-msgid "Cannot convert links in %s: %s\n"
-msgstr "á (%s: %s) íéøåùé÷ úøîä úì÷ú\n"
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
 
-#: src/url.c:1365
+#: src/recur.c:379
 #, c-format
-msgid "Unable to delete `%s': %s\n"
-msgstr "`%s' ÷åçîì ïåéñðá (%s) äì÷ú\n"
+msgid "Removing %s since it should be rejected.\n"
+msgstr ".÷çîéé ïë-ìòå äçãð %s\n"
+
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "á (%s: %s) íéøåùé÷ úøîä úì÷ú\n"
+
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr ".äàéâù úåòãåäî íìòúäì àð ;robots.txt õáå÷ ïòåè\n"
+
+#: src/retr.c:652
+#, fuzzy, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "`%s'-ì äáéúëá (%s) äì÷ú\n"
+
+#: src/retr.c:660
+#, fuzzy, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr ".HTTP úåéäì áééç :%s äùøåî úøù\n"
+
+#: src/retr.c:746
+#, fuzzy, c-format
+msgid "%d redirections exceeded.\n"
+msgstr ".%s úéðëúá úéìâòî äééðôä äúìâúä\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"!òðëð éðà\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+".óñåð ïåéñð\n"
+"\n"
 
-#: src/url.c:1555
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
 #, c-format
-msgid "Cannot back up %s as %s: %s\n"
-msgstr "%s-ì éåáéâë %s úáéúëá (%s) äì÷ú\n"
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
 
-#: src/utils.c:94
+#: src/spider.c:91
 #, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr ".%s úéðëú ìù %s äøâùá ïåøëæ ÷éôñî ïéà\n"
+msgid "%s\n"
+msgstr ""
 
-#: src/utils.c:417
-msgid "Unknown/unsupported protocol"
-msgstr "êîúð åðéà åà øëåî-éúìá ìå÷åèåøô"
+#: src/url.c:620
+#, fuzzy
+msgid "No error"
+msgstr "ääåæî-éúìá äì÷ú"
 
-#: src/utils.c:420
-msgid "Invalid port specification"
-msgstr "éåâù äàéöé ïåéö"
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr ""
 
-#: src/utils.c:423
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "çøàî-áùçî ìù éåâù íù"
 
-#: src/utils.c:620
+#: src/url.c:626
+msgid "Bad port number"
+msgstr ""
+
+#: src/url.c:628
+#, fuzzy
+msgid "Invalid user name"
+msgstr "çøàî-áùçî ìù éåâù íù"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr ""
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr ""
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr ""
+
+#: src/utils.c:328
+#, fuzzy, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr ".ò÷øá êéùîî\n"
+
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "`%s' éìåáîéñ øåùé÷ ú÷éçîá (%s) äì÷ú\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "éåâù Set-Cookie úøúåë ìù `%s' äãù"
+
+#~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
+#~ msgstr ".`%c' åú úáø÷á Set-Cookie úøúåë ìù éåâù øéáçú\n"
+
+#~ msgid "Connection to %s:%hu refused.\n"
+#~ msgstr ".äçãð %s:%hu-ì úåøù÷úä ïåéñð\n"
+
+#~ msgid "Will try connecting to %s:%hu.\n"
+#~ msgstr ".%s:%hu-ì øù÷úäì äñðî\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ ".`%s' ìù íãå÷ ïëåú ÷åçîì éàùø éððéà ;äìùëð REST úãå÷ô\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s ãåò øàùð]"
+
+#~ msgid "Host not found"
+#~ msgstr "àöîð àì çøàî áùçî"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "(SSL) çèáåàî øåãéù úáéáñ úøéöéá äì÷ú\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "%s-î (certificates) øåùéà úåéåú úðéòèá äì÷ú\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "úùøãð øåùéà úéåú àìì êéùîäì ïåéñð\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "%s-î øåùéà çúôî úìá÷á äì÷ú\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr ".úåøúåëä çåúéð éãë êåú èì÷ øîâ\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ ",ó÷åúá `-c' ïééôàîå úåéä .äìùëð äæ õáå÷ ìù êùîä-úëéùî\n"
+#~ ".`%s' íéé÷ õáå÷ áúëùì éúåøùôàá ïéà\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s to go)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr ".êùîéé àì ïë-ìòå ,íéé÷ øáë `%s' õáå÷\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' saved [%ld/%ld]\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr ".øâñð øåáéçä ,%s-á (%s) íéúá %ld/%ld éøçà äì÷ú "
+
+#~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
+#~ msgstr "%s: IP úáåúëì äøîäì úðúéð äððéà %s úàøåäá `%s'\n"
+
+#~ msgid "%s: %s: Please specify always, on, off, or never.\n"
+#~ msgstr "%s: never åà off ,on ,always íéëøò ÷ø úìá÷î %s äàøåä\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                                                     :"
+#~ "ìåçéú\n"
+#~ "                           úéðëúä úñøéâ úà âöä  -V,  --version\n"
+#~ "                               äæ äøæò êñî âöä       --help\n"
+#~ "                   ìåçéú øîâá ò÷øá äãåáòì øåáò  -b,  --background\n"
+#~ "                       wgetrc ïåðâñá äãå÷ô òöá  -e,  --execute=COMMAND\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                                            :ïîåéå èì÷ "
+#~ "éöá÷\n"
+#~ "                         FILE õáå÷ì úåòãåä çìù  -o,  --output-file=FILE\n"
+#~ "                        FILE õáå÷ì úåòãåä óñåä  -a,  --append-"
+#~ "output=FILE\n"
+#~ "               úåàéâù éåôéðá äøæòì úåòãåä ñôãä  -d,  --debug\n"
+#~ "                       (úåòãåä àìì) äè÷ù äìåòô  -q,  --quiet\n"
+#~ "        (ìãçîä úøéøá éäåæ)  øéáëîì úåòãåä ñôãä  -v,  --verbose\n"
+#~ "     äè÷ù äìåòôì øåáòú ìà êà ,úåòãåä éåáéø ìèá  -nv, --non-verbose\n"
+#~ "               FILE õáå÷ êåúî äëéùîì íé-URL ç÷  -i,  --input-file=FILE\n"
+#~ "         HTML èîøåôá åðéä -i-á èì÷ õáå÷ éë çðä  -F,  --force-html\n"
+#~ " URL-ì íééñçé íðéä -i-ì èðîåâøàá íéîåùøä íéöá÷  -B,  --base=URL\n"
+#~ "             çå÷ì áùçîì øåùéà õáå÷ ïåéö úåøùôà       --sslcertfile=FILE\n"
+#~ "           äæ øåùéà øåáò çúôî õáå÷ ïåéö úåøùôà       --"
+#~ "sslcertkey=KEYFILE\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --dot-style=STYLE        set retrieval display style.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                                               :íéöá÷ "
+#~ "úëéùî\n"
+#~ " éîå÷î áùçîá (IP åà áùçî íù) ADDR úáåúëì øù÷úä       --bind-address=ADDR\n"
+#~ "  (äìáâî ïéà åòîùî 0) úåøù÷úä úåðåéñð øôñî òá÷  -t,  --tries=NUMBER\n"
+#~ "                                FILE-ì èìô çìù  -O   --output-"
+#~ "document=FILE\n"
+#~ "íäî úåàñøâ äîë øåîùú ìàå íéîéé÷ íéöá÷ ñåøäú ìà  -nc, --no-clobber\n"
+#~ "             ú÷ñôä äá äãå÷ðäî õáå÷ ãéøåäì êùîä  -c,  --continue\n"
+#~ "                äëéùîä úåîã÷úä úâåöú ïåðâñ òá÷       --dot-style=STYLE\n"
+#~ "  íééîå÷î íéöá÷î íéðëãåòî íðéàù íéöá÷ êåùîú ìà  -N,  --timestamping\n"
+#~ "                       úøùäî íéòéâîä íéøñî âöä  -S,  --server-response\n"
+#~ "                                  øáã êåùîú ìà       --spider\n"
+#~ "                     èì÷ì äðúîäì éáøéî ïîæ òá÷  -T,  --timeout=SECONDS\n"
+#~ "                         úåëéùî ïéá äééäùä òá÷  -w,  --wait=SECONDS\n"
+#~ "                   úåðåéñð ïéá úåéðù N ãò ïúîä       --waitretry=N\n"
+#~ "                     äùøåî úøùá ùîúùú ìà\\ùîúùä  -Y,  --proxy=on/off\n"
+#~ "(äìáâî ïéà åòîùî 0) äëéùîì íéúá úåîë úìáâî òá÷  -Q,  --quota=NUMBER\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd  --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                                                    :"
+#~ "úé÷éåú\n"
+#~ "                         úåùãç úåé÷éú øåöéú ìà  -nd  --no-directories\n"
+#~ "                       úåùãç úåé÷éú øåöéú ãéîú  -x,  --force-directories\n"
+#~ "    íéöá÷ä åãøåä åðîî øúàä íùá úåé÷éú øåöéú ìà  -nH, --no-host-"
+#~ "directories\n"
+#~ "           PFX/... äé÷éú úçú íéöá÷ä ìë úà øåîù  -P,  --directory-"
+#~ "prefix=PFX\n"
+#~ "            úåé÷éúä úåîùî íéðåùàø íé÷ìç N èîùä       --cut-dirs=N\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                                              :HTTP "
+#~ "éðééôàî\n"
+#~ "                    HTTP ùîúùî ìù åîù USER éäé       --http-user=USER\n"
+#~ "                 HTTP ùîúùî ìù åúîñéñ PASS éäé       --http-passwd=PASS\n"
+#~ "        úøùá ïåîèîá åøîùðù íéðåúð äùøú ìà\\äùøä  -C,  --cache=on/off\n"
+#~ "                     .html úîåéñ íéöá÷ä ìëì ïú  -E,  --html-extension\n"
+#~ "                 `Content-Length' úøúåëî íìòúä       --ignore-length\n"
+#~ "               úåøúåëä êåúá STRING úæåøçî ìåúù       --header=STRING\n"
+#~ "             äùøåî úøùá ùîúùîä ìù åîù USER éäé       --proxy-user=USER\n"
+#~ "          äùøåî úøùá ùîúùîä ìù åúîñéñ PASS éäé       --proxy-passwd=PASS\n"
+#~ "         HTTP úééðôì `Referer: URL' úøúåë óñåä       --referer=URL\n"
+#~ "                    èìô éöá÷á HTTP úåøúåë øåîù  -s,  --save-headers\n"
+#~ "   ìéâøë Wget/VERSION íå÷îá AGENT úéðëúë ääãæä  -U,  --user-agent=AGENT\n"
+#~ "     (ãéîúî HTTP øåáéç) keep-alive-á ùåîéù ìèá       --no-http-keep-"
+#~ "alive\n"
+#~ "                    (cookies) úåéâåòá ùîúùú ìà       --cookies=off\n"
+#~ "       äãåáòä úìéçú éðôì FILE õáå÷î úåéâåò ïòè       --load-cookies=FILE\n"
+#~ "            äãåáòä øîâá FILE õáå÷á úåéâåò øåîù       --save-cookies=FILE\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                                               :FTP "
+#~ "éðééôàî\n"
+#~ "                          listing éöá÷ ÷çîú ìà  -nr, --dont-remove-"
+#~ "listing\n"
+#~ "    íéöá÷ úåîùá äáçøä éåúá äëéîú ìéòôú ìà\\ìòôä  -g,  --glob=on/off\n"
+#~ "             (\"PASV\") úéáéñô äøáòä úèéùá ùîúùä       --passive-ftp\n"
+#~ "   íéøåùé÷ ìù äøèî éöá÷ êåùî ,úéáéñøå÷ø äëéùîá       --retr-symlinks\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive web-suck -- use with care!\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                                           :úéáéñøå÷ø "
+#~ "äëéùî\n"
+#~ "  (!úøäæåä äàø !ïëåñî) -- úéáéñøå÷ø äëéùî øùôà  -r,  --recursive\n"
+#~ "ìáâåî-éúìá ÷îåòì åà 0 ,äéñøå÷øì éáøéî ÷îåò òá÷  -l,  --level=NUMBER\n"
+#~ "            äëéùî øîâá úéîå÷î íéöá÷ä ìë úà ÷çî       --delete-after\n"
+#~ "                          íééñçéì íéøåùé÷ êåôä  -k,  --convert-links\n"
+#~ "                äëéôä éðôì éåáéâë õáå÷ ìë øåîù  -K,  --backup-converted\n"
+#~ "       -r -N -l inf -nr íéðééôàîä óåøéöì øåöé÷  -m,  --mirror\n"
+#~ "         HTML úâåöúì íéùøãðä íéöá÷ä ìë úà êåùî  -p,  --page-requisites\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -nh, --no-host-lookup             don't DNS-lookup hosts.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "                                         :úéáéñøå÷ø äëéùî úòá äééçã åà "
+#~ "äìá÷\n"
+#~ "        íé÷éñô é\"ò úåãøôåî úåøúåî úåîåéñ úîéùø  -A,  --accept=LIST\n"
+#~ "        íé÷éñô é\"ò úåãøôåî úåøåñà úåîåéñ úîéùø  -R,  --reject=LIST\n"
+#~ "   íé÷éñô é\"ò íéãøôåî íéøúåî íéîåçú úåîù úîéùø  -D,  --domains=LIST\n"
+#~ "   íé÷éñô é\"ò íéãøôåî íéøåñà íéîåçú úåîù úîéùø       --exclude-"
+#~ "domains=LIS\n"
+#~ "                 HTML éôãá FTP éøåùé÷ øçà áå÷ò       --follow-ftp\n"
+#~ " íé÷éñô é\"ò íéãøôåî áå÷òì ùé íäéøçà HTML úîéùø       --follow-tags=LIST\n"
+#~ "                      íìòúäì ùé íäî HTML úîéùø  -G,  --ignore-tags=LIST\n"
+#~ "   íéøçà íéáùçîì úùâì ïúéð úéáéñøå÷ø äëéùî úòá  -H,  --span-hosts\n"
+#~ "             éñçé íù éìòá íéøåùé÷ éøçà ÷ø áå÷ò  -L,  --relative\n"
+#~ "                           úåøúåî úåé÷éú úîéùø  -I,  --include-"
+#~ "directories=L\n"
+#~ "                           úåøåñà úåé÷éú úîéùø  -X,  --exclude-"
+#~ "directories=L\n"
+#~ "             úùøá íéáùçî ùåôéçì DNS-á ùîúùú ìà  -nh, --no-host-lookup\n"
+#~ "                            áà úéé÷éúì äìòú ìà  -np, --no-parent\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr ".`--debug' ïééôàîá äëéîú íò äúðáð àì %s úéðëúä\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software "
+#~ "Foundation, Inc.\n"
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software "
+#~ "Foundation, Inc.\n"
+#~ "                                 ,úìòåú àéáú àéäù äåå÷ú êåúî úöôåî åæ "
+#~ "úéðëú\n"
+#~ "                             òîúùîá-úåéøçà àì åìéôà ;úåéøçà áúë ìë àìì "
+#~ "íìåà\n"
+#~ "                             ,íéèøôì .úîéåñî úéìëú åæéàì äîàúä åà úåøéçñ "
+#~ "ìù\n"
+#~ "                                    .GNU General Public License-á åðééò "
+#~ "àðà\n"
+
+#~ msgid "%s: %s: invalid command\n"
+#~ msgstr "%s: %s äéåâù äãå÷ô\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "CTRL+Break received, redirecting output to `%s'.\n"
+#~ "Execution continued in background.\n"
+#~ "You may stop Wget by pressing CTRL+ALT+DELETE.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "       .`%s'-ì èìô úééðôä ,CTRL+Break õçìð\n"
+#~ "                        .ò÷øá êùîéé òåöéáä\n"
+#~ ".CTRL+ALT+DELETE úù÷ä é\"ò Wget øåöòì ïúéð\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr ".\"WinHelp %s\" ìéòôî\n"
+
+#~ msgid "Could not find proxy host.\n"
+#~ msgstr ".äùøåî úøù àöîð àì\n"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr ".%s úéðëú ìù %s äøâùá ïåøëæ ÷éôñî ïéà\n"
+
+#~ msgid "Unknown/unsupported protocol"
+#~ msgstr "êîúð åðéà åà øëåî-éúìá ìå÷åèåøô"
+
+#~ msgid "Invalid port specification"
+#~ msgstr "éåâù äàéöé ïåéö"
index b1f47033699e06342ccccfbb0d4cbf96a1b7b354..0ff0545ed2e759fce0081b58d5d45ad48c661914 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.10-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-05-12 11:00-0400\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2005-07-06 17:42+0200\n"
 "Last-Translator: Hrvoje Nik¹iæ <hniksic@xemacs.org>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -14,230 +14,294 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: opcija `%s' je dvosmislena\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: uz opciju `--%s' ne ide argument\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: opcija `%c%s' ne dopu¹ta argument\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: opcija `%s' tra¾i argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: nepoznata opcija `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: nepoznata opcija `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: nedopu¹tena opcija -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: neispravna opcija -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opcija tra¾i argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: opcija `-W %s' je dvosmislena\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: uz opciju `-W %s' ne ide argument\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr "%s: ne mogu pronaæi adresu `%s' u svrhu binda; bindanje onemoguæeno.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Spajam se na %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Spajam se na %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "spojen.\n"
 
-#: src/convert.c:176
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "nije uspjelo: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: ne mogu pronaæi adresu `%s' u svrhu binda; bindanje onemoguæeno.\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Konvertirao %d spisa za %.*f sekundi.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Konvertiram %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "nema posla.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Ne mogu konvertirati linkove u %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Ne mogu izbrisati `%s': %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Ne mogu snimiti backup iz %s u %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Gre¹ka u Set-Cookie, polje `%s'"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Gre¹ka u Set-Cookie: %s na poziciji %d.\n"
 
-#: src/cookies.c:1469
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie s adrese %s poku¹ao je postaviti domenu na %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Ne mogu otvoriti spis s cookiejima `%s': %s\n"
 
-#: src/cookies.c:1481
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Gre¹ka pri pisanju u `%s': %s\n"
 
-#: src/cookies.c:1484
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Gre¹ka pri zatvaranju `%s': %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Nepodr¾ana vrsta ispisa, poku¹avat æu s razluèiteljem Unixovog ispisa.\n"
+msgstr ""
+"Nepodr¾ana vrsta ispisa, poku¹avat æu s razluèiteljem Unixovog ispisa.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Indeks direktorija /%s na %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "nepoznato vrijeme    "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Spis        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Direktorij  "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Link        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Ne znam     "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bajtova)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Duljina: %s"
 
-#: src/ftp.c:232 src/http.c:1859
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) preostaje"
 
-#: src/ftp.c:236 src/http.c:1863
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s preostaje"
 
-#: src/ftp.c:240
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (nepouzdano)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:315
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Prijavljujem se kao %s ... "
 
-#: src/ftp.c:328 src/ftp.c:374 src/ftp.c:403 src/ftp.c:455 src/ftp.c:567
-#: src/ftp.c:613 src/ftp.c:641 src/ftp.c:699 src/ftp.c:760 src/ftp.c:820
-#: src/ftp.c:867
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Gre¹ka u odgovoru, zatvaram kontrolnu vezu.\n"
 
-#: src/ftp.c:335
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Gre¹ka u poslu¾iteljevom pozdravu.\n"
 
-#: src/ftp.c:342 src/ftp.c:463 src/ftp.c:575 src/ftp.c:649 src/ftp.c:709
-#: src/ftp.c:770 src/ftp.c:830 src/ftp.c:877
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Pisanje je zakazalo, zatvaram kontrolnu vezu.\n"
 
-#: src/ftp.c:348
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Poslu¾itelj odbija prijavu.\n"
 
-#: src/ftp.c:354
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Pogre¹na prijava.\n"
 
-#: src/ftp.c:360
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Ulogiran!\n"
 
-#: src/ftp.c:382
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Gre¹ka na serveru, ne mogu utvrditi vrstu sustava.\n"
 
-#: src/ftp.c:391 src/ftp.c:686 src/ftp.c:743 src/ftp.c:786
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "gotovo.  "
 
-#: src/ftp.c:443 src/ftp.c:592 src/ftp.c:625 src/ftp.c:850 src/ftp.c:896
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "gotovo.\n"
 
-#: src/ftp.c:470
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Nepoznat tip `%c', zatvaram kontrolnu vezu.\n"
 
-#: src/ftp.c:482
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "gotovo."
 
-#: src/ftp.c:488
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD nepotreban.\n"
 
-#: src/ftp.c:581
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
 "\n"
 msgstr "Ne postoji direktorij `%s'.\n"
 
-#. do not CWD
-#: src/ftp.c:596
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD se ne tra¾i.\n"
 
-#: src/ftp.c:655
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Ne mogu otpoèeti PASV prijenos.\n"
 
-#: src/ftp.c:659
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Ne mogu ra¹èlaniti PASV odgovor.\n"
 
-#: src/ftp.c:677
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "nemoguæe spajanje na %s, port %d: %s\n"
 
-#: src/ftp.c:725
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Gre¹ka pri bindu (%s).\n"
 
-#: src/ftp.c:731
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Neispravan PORT.\n"
 
-#: src/ftp.c:777
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -245,7 +309,7 @@ msgstr ""
 "\n"
 "REST nije uspio, poèinjem ispoèetka.\n"
 
-#: src/ftp.c:838
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -254,7 +318,7 @@ msgstr ""
 "Nema spisa `%s'.\n"
 "\n"
 
-#: src/ftp.c:885
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -263,44 +327,40 @@ msgstr ""
 "Nema spisa ili direktorija `%s'.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:947 src/http.c:1915
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s se nenadano pojavio.\n"
 
-#: src/ftp.c:1009
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, zatvaram kontrolnu vezu.\n"
 
-#: src/ftp.c:1017
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Podatkovna veza: %s; "
 
-#: src/ftp.c:1032
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Kontrolna veza prekinuta.\n"
 
-#: src/ftp.c:1050
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Prijenos podataka prekinut.\n"
 
-#: src/ftp.c:1115
+#: src/ftp.c:1097
 #, fuzzy, c-format
-msgid "File `%s' already there, not retrieving.\n"
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Spis `%s' veæ postoji; ne dohvaæam.\n"
 
-#: src/ftp.c:1179 src/http.c:2132
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(pok:%2d)"
 
-#: src/ftp.c:1249 src/http.c:2406
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -309,54 +369,51 @@ msgstr ""
 "%s (%s) - `%s' snimljen [%s]\n"
 "\n"
 
-#: src/ftp.c:1291 src/main.c:948 src/recur.c:376 src/retr.c:842
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Bri¹em %s.\n"
 
-#: src/ftp.c:1333
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Koristim `%s' kao privremeni spis za listing.\n"
 
-#: src/ftp.c:1348
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Izbrisao `%s'.\n"
 
-#: src/ftp.c:1383
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Dubina rekurzije %d prelazi najveæu dopu¹tenu %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1453
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Spis na poslu¾itelju nije noviji od lokalnog spisa `%s' -- ne dohvaæam.\n"
+msgstr ""
+"Spis na poslu¾itelju nije noviji od lokalnog spisa `%s' -- ne dohvaæam.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1460
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr "Spis na poslu¾itelju noviji od lokalnog spisa `%s' -- dohvaæam.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1467
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr "Velièine se ne sla¾u (lokalno %s) -- dohvaæam.\n"
 
-#: src/ftp.c:1485
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Neispravno ime simbolièkog linka, preskaèem.\n"
 
-#: src/ftp.c:1502
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -365,242 +422,185 @@ msgstr ""
 "Veæ postoji ispravan link %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1510
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Stvaram simbolièki link %s -> %s\n"
 
-#: src/ftp.c:1520
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Linkovi nisu podr¾ani, preskaèem link `%s'.\n"
 
-#: src/ftp.c:1532
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Preskaèem direktorij `%s'.\n"
 
-#: src/ftp.c:1541
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: nepoznata/nepodr¾ana vrsta spisa.\n"
 
-#: src/ftp.c:1568
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: pogre¹no vrijeme.\n"
 
-#: src/ftp.c:1596
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Ne dohvaæam direktorije jer je dubina %d (najvi¹e %d).\n"
 
-#: src/ftp.c:1646
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Ne ponirem u `%s' jer je iskljuèen ili nije ukljuèen.\n"
 
-#: src/ftp.c:1712 src/ftp.c:1726
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Odbijam `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1772
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Gre¹ka pri pisanju u `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Ni¹ta ne ide uz `%s'.\n"
 
-#: src/ftp.c:1838
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Snimio HTML-iziran indeks u `%s' [%s].\n"
 
-#: src/ftp.c:1843
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Snimio HTML-iziran indeks u `%s'.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcija `%s' je dvosmislena\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: uz opciju `--%s' ne ide argument\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcija `%c%s' ne dopu¹ta argument\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcija `%s' tra¾i argument\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nepoznata opcija `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nepoznata opcija `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: nedopu¹tena opcija -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: neispravna opcija -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcija tra¾i argument -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opcija `-W %s' je dvosmislena\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: uz opciju `-W %s' ne ide argument\n"
-
-#: src/host.c:370
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Nepoznat host"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:374
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Privremena pogre¹ka pri pronala¾enju adrese"
 
-#: src/host.c:376
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Nepoznata gre¹ka"
 
-#: src/host.c:755
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Tra¾im %s... "
 
-#: src/host.c:799 src/host.c:828
-#, c-format
-msgid "failed: %s.\n"
-msgstr "nije uspjelo: %s.\n"
-
-#: src/host.c:808
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "neuspjeh: raèunalo nema IPv4/IPv6 adresa.\n"
 
-#: src/host.c:831
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "neuspjeh: isteklo vrijeme.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Ne mogu sastaviti nepotpun link %s.\n"
 
-#: src/http.c:373 src/http.c:1545
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Neispravan URL %s: %s\n"
+
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Nisam uspio poslati HTTP zahtjev: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Nema zaglavlja, pretpostavljam HTTP/0.9"
 
-#: src/http.c:1194
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "Iskljuèujem SSL zbog navedenih gre¹aka.\n"
 
-#: src/http.c:1413
+#: src/http.c:1570
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr "Nema spisa `%s' za POST: %s\n"
+
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Koristim postojeæu vezu prema %s:%d.\n"
 
-#: src/http.c:1475
-#, fuzzy, c-format
-msgid "Failed writing to proxy: %s.\n"
-msgstr "Nisam uspio poslati HTTP zahtjev: %s.\n"
-
-#: src/http.c:1484
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Nisam uspio procitati proxyjev odgovor: %s.\n"
 
-#: src/http.c:1504
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Neuspjeh tuneliranja kroz proxy: %s"
 
-#: src/http.c:1551
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s zahtjev poslan, i¹èekujem odgovor... "
 
-#: src/http.c:1562
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Podaci nisu primljeni.\n"
 
-#: src/http.c:1569
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Gre¹ka pri èitanju zaglavlja (%s).\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1657
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Spis `%s' veæ postoji; ne dohvaæam.\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Nepoznata metoda ovjere.\n"
 
-#: src/http.c:1681
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Ovjera nije uspjela.\n"
 
-#: src/http.c:1695
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Deformirana statusna linija"
 
-#: src/http.c:1697
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(bez opisa)"
 
-#: src/http.c:1768
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Polo¾aj: %s%s\n"
 
-#: src/http.c:1769 src/http.c:1869
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nenaznaèen"
 
-#: src/http.c:1770
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [pratim]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1819
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -610,191 +610,202 @@ msgstr ""
 "    Spis je veæ u potpunosti dohvaæen; nema se ¹to napraviti.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1849
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Duljina: "
 
-#: src/http.c:1869
+#: src/http.c:2193
 msgid "ignored"
 msgstr "zanemarena"
 
-#: src/http.c:2009
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Preskaèem direktorij `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Upozorenje: wildcardi nisu podr¾ani za HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2044
-#, fuzzy, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Spis `%s' veæ postoji; ne dohvaæam.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:2229
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Ne mogu pisati u `%s' (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2236
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Ne mogu uspostaviti SSL vezu.\n"
 
-#: src/http.c:2245
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "GRE©KA: Redirekcija (%d) bez novog polo¾aja (location).\n"
 
-#: src/http.c:2275
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s GRE©KA %d: %s.\n"
 
-#: src/http.c:2288
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Nedostaje zaglavlje Last-Modified -- ignoriram vremensku granicu.\n"
 
-#: src/http.c:2296
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Neispravno zaglavlje Last-Modified -- ignoriram vremensku oznaku.\n"
 
-#: src/http.c:2319
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
-msgstr "Spis na poslu¾itelju nije noviji od lokalnog spisa `%s' -- ne dohvaæam.\n"
+msgstr ""
+"Spis na poslu¾itelju nije noviji od lokalnog spisa `%s' -- ne dohvaæam.\n"
 
-#: src/http.c:2327
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Velièine se ne sla¾u (lokalno %s) -- dohvaæam.\n"
 
-#: src/http.c:2332
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Spis na poslu¾itelju je noviji, dohvaæam.\n"
 
-#: src/http.c:2374
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%s/%s]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr "Spis na poslu¾itelju noviji od lokalnog spisa `%s' -- dohvaæam.\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' snimljen [%s/%s]\n"
+"Spis na poslu¾itelju nije noviji od lokalnog spisa `%s' -- ne dohvaæam.\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
 "\n"
+msgstr ""
+"Spis na poslu¾itelju nije noviji od lokalnog spisa `%s' -- ne dohvaæam.\n"
 
-#: src/http.c:2431
+#: src/http.c:2715
 #, c-format
-msgid "%s (%s) - Connection closed at byte %s. "
-msgstr "%s (%s) - Veza zatvorena na bajtu %s. "
-
-#: src/http.c:2440
-#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%s/%s])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' snimljen [%s/%s]\n"
 "\n"
 
-#: src/http.c:2466
+#: src/http.c:2770
 #, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Veza zatvorena na bajtu %s/%s. "
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Veza zatvorena na bajtu %s. "
 
-#: src/http.c:2480
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Gre¹ka pri èitanju na bajtu %s (%s)."
 
-#: src/http.c:2490
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Gre¹ka pri èitanju na bajtu %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC pokazuje na %s, koji ne postoji.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Ne mogu proèitati %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Gre¹ka u %s na liniji %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Sintaksna gre¹ka u %s na liniji %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Nepoznata naredba `%s' u %s na liniji %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Upozorenje: sistemski i korisnikov wgetrc su `%s'.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Neispravna --execute naredba `%s'\n"
 
-#: src/init.c:707
-#, fuzzy, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
-msgstr "%s: %s: Neispravan boolean `%s'; navedite `on' ili `off'.\n"
-
-#: src/init.c:750
+#: src/init.c:722
 #, fuzzy, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Neispravan boolean `%s'; navedite `on' ili `off'.\n"
 
-#: src/init.c:767
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Neispravan broj `%s'.\n"
 
-#: src/init.c:998 src/init.c:1017
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Neispravna bajtovna vrijednost `%s'\n"
 
-#: src/init.c:1042
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Neispravan vremenski period `%s'\n"
 
-#: src/init.c:1096 src/init.c:1177 src/init.c:1272 src/init.c:1297
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Neispravna vrijednost `%s'.\n"
 
-#: src/init.c:1125
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Neispravno zaglavlje `%s'.\n"
 
-#: src/init.c:1189
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Neispravan indikator napretka `%s'.\n"
 
-#: src/init.c:1240
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Neispravna restrikcija `%s', upotrijebite `unix' ili `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Neispravna restrikcija `%s', upotrijebite `unix' ili `windows'.\n"
 
-#: src/log.c:796
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -803,9 +814,7 @@ msgstr ""
 "\n"
 "%s primljen, preusmjeravam izlaz u `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:806
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -814,17 +823,17 @@ msgstr ""
 "\n"
 "dobio %s.\n"
 
-#: src/log.c:807
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; iskljuèujem logiranje.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Uporaba: %s [OPCIJA]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -832,518 +841,672 @@ msgstr ""
 "Ako dugaèka opcija zahtijeva argument, to vrijedi i za kratku.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Pokretanje:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           prika¾i verziju Wgeta i izaði.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              ispi¹i pomoæ.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        radi u pozadini nakon pokretanja.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=NAREDBA    izv¹i NAREDBU poput onih u `.wgetrc'-u.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Logiranje i ulazni spis:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=SPIS    spremaj poruke u SPIS.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=SPIS  spremaj poruke na kraj SPISA.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr ""
 "  -d,  --debug               ispisuj veliku kolièinu poruka korisnih pri\n"
 "                             ispravljanju gre¹aka.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+#, fuzzy
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+"  -d,  --debug               ispisuj veliku kolièinu poruka korisnih pri\n"
+"                             ispravljanju gre¹aka.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               ti¹ina (bez ipisa).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             rjeèit ispis (podrazumijevano).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --no-verbose          iskljuèi rjeèitost, ali ipak pone¹to ispisuj.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          iskljuèi rjeèitost, ali ipak pone¹to ispisuj.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i, --input-file=SPIS      dohvati URL-ove navedene u SPISU.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
-msgstr "  -F,  --force-html          tretiraj sadr¾aj ulaznog spisa kao HTML.\n"
+msgstr ""
+"  -F,  --force-html          tretiraj sadr¾aj ulaznog spisa kao HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            polazni URL za relativne linkove pri obradi -F -i.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            polazni URL za relativne linkove pri obradi -F -"
+"i.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Dohvat:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=BROJ              postavi broj poku¹aja na BROJ (0 za bezbroj).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=BROJ              postavi broj poku¹aja na BROJ (0 za "
+"bezbroj).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       poku¹avaj iznova i kad je spajanje odbijeno.\n"
+msgstr ""
+"       --retry-connrefused       poku¹avaj iznova i kad je spajanje "
+"odbijeno.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O,  --output-document=SPIS    spremaj dohvaæene dokumente u SPIS.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
-msgstr "  -nc, --no-clobber              ne dohvaæaj spise koji postoje lokalno.\n"
+msgstr ""
+"  -nc, --no-clobber              ne dohvaæaj spise koji postoje lokalno.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                nastavi s dohvatom napola skinutog spisa.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                nastavi s dohvatom napola skinutog spisa.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=VRSTA          promijeni izgled pokazatelj dohvata.\n"
+msgstr ""
+"       --progress=VRSTA          promijeni izgled pokazatelj dohvata.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping            skidaj samo spise novije od lokalnih.\n"
+msgstr ""
+"  -N,  --timestamping            skidaj samo spise novije od lokalnih.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         ispisuj poslu¾iteljeve odgovore.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  ne dohvaæaj sadr¾aje URL-ova.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=VRIJEME         postavi sve vrijednosti isteka vremena.\n"
+msgstr ""
+"  -T,  --timeout=VRIJEME         postavi sve vrijednosti isteka vremena.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=VRIJEME     postavi maksimalno vrijeme DNS pretrage.\n"
+msgstr ""
+"       --dns-timeout=VRIJEME     postavi maksimalno vrijeme DNS pretrage.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=VRIJEME postavi maksimalno vrijeme spajanja.\n"
+msgstr ""
+"       --connect-timeout=VRIJEME postavi maksimalno vrijeme spajanja.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=VRIJEME    postavi maksimalno vrijeme èitanja.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=VRIJEME            napravi pauzu od VREMENA izmeðu dohvata.\n"
+msgstr ""
+"  -w,  --wait=VRIJEME            napravi pauzu od VREMENA izmeðu dohvata.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
 "       --waitretry=VRIJEME       èekaj 1..VRIJEME sekundi izmeðu ponovnih\n"
 "                                 poku¹aja dohvata.\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr ""
-"       --random-wait             èekaj od 0..2*s sekundi izmeðu dohvata, gdje\n"
+"       --random-wait             èekaj od 0..2*s sekundi izmeðu dohvata, "
+"gdje\n"
 "                                 je s vrijeme zadano s --wait.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   ukljuèi upotrebu proxyja.\n"
-
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                iskljuèi upotrebu proxyja.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quote=KOLIÈINA          ogranièi kolièinu dohvaæenih podataka.\n"
+msgstr ""
+"  -Q,  --quote=KOLIÈINA          ogranièi kolièinu dohvaæenih podataka.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=ADRESA     koristi lokalnu ADRESU (ime ili IP) za bind.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADRESA     koristi lokalnu ADRESU (ime ili IP) za "
+"bind.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=BRZINA       ogranièi brzinu dohvata u bajtovima u sekundi.\n"
+msgstr ""
+"       --limit-rate=BRZINA       ogranièi brzinu dohvata u bajtovima u "
+"sekundi.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr "       --no-dns-cache            ne pamti rezultate pretraga DNS-a.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
 "       --restrict-file-names=OS  ogranièi znakove u nazivima spisâ na one\n"
 "                                 koje dopu¹ta OS.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+#, fuzzy
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-length         ne uva¾avaj zaglavlje `Content-Length'.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              spajaj se samo na IPv4 adrese.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              spajaj se samo na IPv6 adrese.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=VRSTA     daj prednost navedenoj vrsti IP adresa, jednoj\n"
+"       --prefer-family=VRSTA     daj prednost navedenoj vrsti IP adresa, "
+"jednoj\n"
 "                                 od IPv6, IPv4 ili none.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=KORISNIK           postavi KORISNIKA za http i ftp korisnika.\n"
+msgstr ""
+"       --user=KORISNIK           postavi KORISNIKA za http i ftp korisnika.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr "       --password=ZAPORKA        ¹alji ZAPORKU za http i ftp.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Direktoriji:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           ne stvaraj direktorije.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories       uvijek stvaraj direktorije.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
-msgstr "  -nH, --no-host-directories      ne stvaraj direktorije po imenu poslu¾itelja.\n"
+msgstr ""
+"  -nH, --no-host-directories      ne stvaraj direktorije po imenu "
+"poslu¾itelja.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
 msgstr "       --protocol-directories     stavi ime protokola u direktorij.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PREFIX  spremaj spise u PREFIX/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=N               ignoriraj N stranih komponenti direktorija.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=N               ignoriraj N stranih komponenti "
+"direktorija.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "Opcije HTTP-a:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=KORISNIK    postavi KORISNIKA za http korisnika.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=ZAPORKA ¹alji ZAPORKU za http.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              tra¾i od servera da ne ¹alje ke¹irane podatke.\n"
+msgstr ""
+"       --no-cache              tra¾i od servera da ne ¹alje ke¹irane "
+"podatke.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        spremaj HTML dokumente s ekstenzijom `.html'.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        spremaj HTML dokumente s ekstenzijom `."
+"html'.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         ne uva¾avaj zaglavlje `Content-Length'.\n"
+msgstr ""
+"       --ignore-length         ne uva¾avaj zaglavlje `Content-Length'.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=ZAGLAVLJE      umetni ZAGLAVLJE meðu ostala zaglavlja.\n"
+msgstr ""
+"       --header=ZAGLAVLJE      umetni ZAGLAVLJE meðu ostala zaglavlja.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=KORISNIK   postavi KORISNIKA za korisnika proxyja.\n"
+msgstr ""
+"       --proxy-user=KORISNIK   postavi KORISNIKA za korisnika proxyja.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-password=ZAPORKA ¹alji ZAPORKU za proxy.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr "       --referer=URL           ¹alji zaglavlje `Referer: URL'.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          snimaj HTTP zaglavlja na disk.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
 msgstr ""
 "  -U,  --user-agent=KLIJENT    identificiraj se kao KLIJENT umjesto kao\n"
 "                               Wget/VERZIJA.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    ne koristi neprekinutu HTTP vezu (keep-alive).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    ne koristi neprekinutu HTTP vezu (keep-"
+"alive).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            ne koristi cookieje.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=SPIS     uèitaj cookieje iz SPISA na poèetku rada.\n"
+msgstr ""
+"       --load-cookies=SPIS     uèitaj cookieje iz SPISA na poèetku rada.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
 msgstr "       --save-cookies=SPIS     spremi cookieje u SPIS na kraju rada.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  uèitaj i snimi cookieje ogranièene na \"session\".\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  uèitaj i snimi cookieje ogranièene na "
+"\"session\".\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=PODACI      koristi metodu POST, ¹aljuæi PODATKE u zahtjevu.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=PODACI      koristi metodu POST, ¹aljuæi PODATKE u "
+"zahtjevu.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=SPIS        koristi metodu POST, ¹aljuæi sadr¾aj SPISA.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=SPIS        koristi metodu POST, ¹aljuæi sadr¾aj SPISA.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "Opcije HTTPS-a (SSL-a/TLS-a):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR     izaberi sigurni protokol, jedan od auto, SSLv2,\n"
+"       --secure-protocol=PR     izaberi sigurni protokol, jedan od auto, "
+"SSLv2,\n"
 "                                SSLv3 ili TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   ne provjeravaj poslu¾iteljevu ovjeru.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   ne provjeravaj poslu¾iteljevu ovjeru.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=SPIS       datoteka s klijentovom ovjerom.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=VRSTA vrsta klijentove ovjere, PEM ili DER.\n"
+msgstr ""
+"       --certificate-type=VRSTA vrsta klijentove ovjere, PEM ili DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FILE       spis s privatnim kljuèem.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TYPE  vrsta privatnog kljuèa, PEM ili DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=SPIS    spis s CA-ovima na okupu.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
 msgstr "       --ca-directory=DIR       direktorij s pojedinaènim CA-ovima.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
 msgstr ""
-"       --random-file=SPIS       spis s nasumiènim podacima za zametak SSL-ovog\n"
+"       --random-file=SPIS       spis s nasumiènim podacima za zametak SSL-"
+"ovog\n"
 "                                generatora sluèajnih brojeva.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr ""
-"       --egd-file=SPIS          naziv spisa u kojem je EGD socket s nasumiènim\n"
+"       --egd-file=SPIS          naziv spisa u kojem je EGD socket s "
+"nasumiènim\n"
 "                                podacima.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "Opcije FTP-a:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=KORISNIK     postavi KORISNIKA za ftp korisnika.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=ZAPORKA  ¹alji ZAPORKU za ftp.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
-msgstr "       --no-remove-listing     ne bri¹i ispise direktorija `.listing'.\n"
+msgstr ""
+"       --no-remove-listing     ne bri¹i ispise direktorija `.listing'.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               nemoj interpretirati * i ? u nazivu spisa.\n"
+msgstr ""
+"       --no-glob               nemoj interpretirati * i ? u nazivu spisa.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr "       --no-passive-ftp        onemoguæi \"pasivni\" mod prijenosa.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
 "       --retr-symlinks         pri rekurziji, dohvaæaj datoteke na koje\n"
 "                               pokazuju linkovi (ne radi za direktorije).\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  saèuvaj dozvole na datotekama skinutim FTP-om.\n"
+msgstr ""
+"       --preserve-permissions  saèuvaj dozvole na datotekama skinutim FTP-"
+"om.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Rekurzivni dohvat:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          rekurzivni dohvat.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=BROJ         najveæa dubina rekurzije (0 za neogranièenu).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=BROJ         najveæa dubina rekurzije (0 za neogranièenu).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr "       --delete-after       pobri¹i lokalne spise nakon dohvata.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr ""
 "  -k,  --convert-links      promijeni linkove u lokalnom HTML-u tako da\n"
 "                            pokazuju na dohvaæene spise.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   prije konverzije spisa X, spremi sadr¾aj u X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   prije konverzije spisa X, spremi sadr¾aj u X."
+"orig.\n"
 
-#: src/main.c:603
+#: src/main.c:594
 #, fuzzy
-msgid "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-msgstr "  -m,  --mirror             kraæi oblik za -N -r -l inf --no-remove-listing.\n"
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             kraæi oblik za -N -r -l inf --no-remove-"
+"listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    dohvati sve slike itd. potrebne za prikaz HTML-a.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    dohvati sve slike itd. potrebne za prikaz HTML-"
+"a.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    ukljuèi strog (SGML) tretman HTML komentara.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    ukljuèi strog (SGML) tretman HTML komentara.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Rekurzivno prihvaæanje/odbijanje:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=POPIS              zarezom odvojen popis prihvaæenih nastavaka.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=POPIS              zarezom odvojen popis prihvaæenih "
+"nastavaka.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=POPIS              zarezom odvojen popis odbijenih nastavaka.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=POPIS              zarezom odvojen popis odbijenih "
+"nastavaka.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=POPIS             zarezom odvojen popis prihvaæenih domena.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=POPIS             zarezom odvojen popis prihvaæenih "
+"domena.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=POPIS     zarezom odvojen popis odbijenih domena.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=POPIS     zarezom odvojen popis odbijenih domena.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                prati linkove na FTP iz HTML dokumenata.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                prati linkove na FTP iz HTML dokumenata.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=POPIS         popis HTML tagova koje treba pratiti.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=POPIS         popis HTML tagova koje treba pratiti.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=POPIS         popis HTML tagova koje ne treba pratiti.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=POPIS         popis HTML tagova koje ne treba pratiti.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr ""
-"  -H,  --span-hosts                skaèi sa servera na server pri rekurzivnom\n"
+"  -H,  --span-hosts                skaèi sa servera na server pri "
+"rekurzivnom\n"
 "                                   dohvatu.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  prati samo relativne linkove.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr ""
 "  -I,  --include-directories=POPIS\n"
 "                                   popis dopu¹tenih direktorija.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr ""
 "  -X,  --exclude-directories=POPIS\n"
 "                                    popis nedopu¹tenih direktorija.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                 ne uspinji se u direktorij iznad trenutnog.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 ne uspinji se u direktorij iznad "
+"trenutnog.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Uoèene gre¹ke i prijedloge ¹aljite na <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s, program za neinteraktivni dohvat s mre¾e.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"Sva prava zadr¾ana.  Ovaj program distribuira se u nadi da æe biti\n"
-"koristan, ali BEZ IKAKVOG JAMSTVA; bez èak i impliciranog jamstva\n"
-"PROIZVODNOSTI ili UPOTREBLJIVOSTI ZA ODREÐENU SVRHU.  Pogledajte GNU\n"
-"General Public License za vi¹e detalja.\n"
 
-#: src/main.c:665
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1351,179 +1514,224 @@ msgstr ""
 "\n"
 "Izvorno napisao Hrvoje Nik¹iæ <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Poku¹ajte `%s --help' za vi¹e opcija.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: nedopu¹tena opcija -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Ne mogu istovremeno biti rjeèit i tih.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Ne mogu istovremeno paziti na vrijeme i ne gaziti stare spise.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Nije dopu¹teno navesti i --inet4-only i --inet6-only.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, fuzzy, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Nije dopu¹teno navesti i --inet4-only i --inet6-only.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: nedostaje URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Nijedan URL nije pronaðen u %s.\n"
 
-#: src/main.c:972
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "ZAVR©IO --%s--\n"
 "Dohvatio: %s bajtova u %d spisa\n"
 
-#: src/main.c:978
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Ogranièenje dohvata (%s bajtova) je PREKORAÈENO!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Nastavljam u pozadini.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Nastavljam u pozadini, s pid-om %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:348
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Izlaz se sprema u `%s'.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Ne mogu naæi upotrebljiv pogonitelj za sockete.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: upozorenje: \"%s\" token se pojavljuje prije naziva stroja\n"
+msgstr ""
+"%s: %s:%d: upozorenje: \"%s\" token se pojavljuje prije naziva stroja\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: nepoznat token \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Uporaba: %s NETRC [RAÈUNALO]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: ne mogu stat-irati %s: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "UPOZORENJE: rabi se slab zametak sluèajnih brojeva.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr "Nije postavljen zametak PRNG-a; razmisli o --random-file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:404
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "GRE©KA"
 
-#: src/openssl.c:404
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "UPOZORENJE"
 
-#: src/openssl.c:412
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: %s nije predoèio ovjeru.\n"
 
-#: src/openssl.c:434
-#, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: gre¹ka pri verifikaciji ovjere od %s: %s\n"
+#: src/openssl.c:518
+#, fuzzy, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: %s nije predoèio ovjeru.\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
 
-#: src/openssl.c:457
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: \"common name\" `%s' navedeno u ovjeri ne odgovara tra¾enom imenu `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: \"common name\" `%s' navedeno u ovjeri ne odgovara tra¾enom imenu `%s'.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/openssl.c:581
 #, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr "Za nesigurno spajanje na %s upotrijebite `--no-check-certificate'.\n"
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ preskaèem %dK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "Neispravna naznaka stila toèkica `%s': ostavljam prija¹nju vrijednost.\n"
+msgstr ""
+"Neispravna naznaka stila toèkica `%s': ostavljam prija¹nju vrijednost.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
 
-#: src/recur.c:377
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Nedostupna frekvencija REALTIME clocka: %s\n"
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Uklanjam %s buduæi da bi ga trebalo odbiti.\n"
 
-#: src/res.c:544
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Ne mogu otvoriti %s: %s"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Uèitavam robots.txt; molim ne obazirati se na gre¹ke.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Gre¹ka pri ra¹èlani proxy URL-a %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Gre¹ka u proxy URL-u %s: Mora biti HTTP.\n"
 
-#: src/retr.c:738
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "Vi¹e od %d preusmjeravanja.\n"
 
-#: src/retr.c:863
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1531,7 +1739,7 @@ msgstr ""
 "Odustajem.\n"
 "\n"
 
-#: src/retr.c:863
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1539,6 +1747,28 @@ msgstr ""
 "Poku¹avam ponovo.\n"
 "\n"
 
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
 #: src/url.c:620
 msgid "No error"
 msgstr "Nema gre¹ke"
@@ -1548,8 +1778,8 @@ msgid "Unsupported scheme"
 msgstr "Nepodr¾ana shema"
 
 #: src/url.c:624
-msgid "Empty host"
-msgstr ""
+msgid "Invalid host name"
+msgstr "Neispravno ime poslu¾itelja"
 
 #: src/url.c:626
 msgid "Bad port number"
@@ -1571,35 +1801,72 @@ msgstr "IPv6 adrese nisu podr
 msgid "Invalid IPv6 numeric address"
 msgstr "Neispravna IPv6 numerièka adresa"
 
-#. parent, no error
-#: src/utils.c:346
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Nastavljam u pozadini, s pid-om %d.\n"
 
-#: src/utils.c:394
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Ne mogu izbrisati link `%s': %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: Nije uspjela alokacija %ld bajtova; memorija je potro¹ena.\n"
 
-#~ msgid "Cookie coming from %s attempted to set domain to %s\n"
-#~ msgstr "Cookie s adrese %s poku¹ao je postaviti domenu na %s\n"
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Gre¹ka u Set-Cookie, polje `%s'"
+
+#, fuzzy
+#~ msgid "File `%s' already there, not retrieving.\n"
+#~ msgstr "Spis `%s' veæ postoji; ne dohvaæam.\n"
 
-#~ msgid "%s: Invalid URL %s: %s\n"
-#~ msgstr "%s: Neispravan URL %s: %s\n"
+#, fuzzy
+#~ msgid "Failed writing to proxy: %s.\n"
+#~ msgstr "Nisam uspio poslati HTTP zahtjev: %s.\n"
 
-#~ msgid "POST data file `%s' missing: %s\n"
-#~ msgstr "Nema spisa `%s' za POST: %s\n"
+#, fuzzy
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Spis `%s' veæ postoji; ne dohvaæam.\n"
 
+#, fuzzy
 #~ msgid ""
-#~ "File `%s' already there; not retrieving.\n"
+#~ "%s (%s) - `%s' saved [%s/%s])\n"
 #~ "\n"
-#~ msgstr "Spis `%s' veæ postoji; ne dohvaæam.\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' snimljen [%s/%s]\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Veza zatvorena na bajtu %s/%s. "
+
+#, fuzzy
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr "%s: %s: Neispravan boolean `%s'; navedite `on' ili `off'.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   ukljuèi upotrebu proxyja.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ "\n"
+#~ "Sva prava zadr¾ana.  Ovaj program distribuira se u nadi da æe biti\n"
+#~ "koristan, ali BEZ IKAKVOG JAMSTVA; bez èak i impliciranog jamstva\n"
+#~ "PROIZVODNOSTI ili UPOTREBLJIVOSTI ZA ODREÐENU SVRHU.  Pogledajte GNU\n"
+#~ "General Public License za vi¹e detalja.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: gre¹ka pri verifikaciji ovjere od %s: %s\n"
 
 #~ msgid ""
 #~ "%s: %s: Invalid extended boolean `%s';\n"
@@ -1607,15 +1874,3 @@ msgstr "%s: %s: Nije uspjela alokacija %ld bajtova; memorija je potro
 #~ msgstr ""
 #~ "%s: %s: Neispravan boolean `%s';\n"
 #~ "navedite `always', `on', `off' ili `never'.\n"
-
-#~ msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-#~ msgstr "Za nesigurno spajanje na %s upotrijebite `--no-check-certificate'.\n"
-
-#~ msgid "Cannot get REALTIME clock frequency: %s\n"
-#~ msgstr "Nedostupna frekvencija REALTIME clocka: %s\n"
-
-#~ msgid "Cannot open %s: %s"
-#~ msgstr "Ne mogu otvoriti %s: %s"
-
-#~ msgid "Invalid host name"
-#~ msgstr "Neispravno ime poslu¾itelja"
index 11cb53f0376e2df1ed182ec988d5b183411009d8..d6dcb1883f7184024145fbf07b9a3e22e1ee2a0e 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
 # Hungarian translation of wget.
-# Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
 #
 # Pal Szasz <szpal@Maria.UTCluj.Ro>, 2001-2003.
 # Javitasok: Laszlo Dvornik <dvornik@gnome.hu>, 2004.
-# Gabor Kelemen <kelemeng@gnome.hu>, 2006.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007.
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2006-01-24 14:08+0100\n"
-"Last-Translator: Emese Kovacs <emese@instantweb.hu>\n"
+"Project-Id-Version: wget 1.11-b2405\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-11-06 12:22+0100\n"
+"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.1\n"
-"Plural-Forms:  nplurals=1; plural=0;\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: a(z) \"%s\" kapcsoló nem egyértelmű\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: a(z) \"--%s\" kapcsoló nem enged meg argumentumot\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: a(z) \"%c%s\" kapcsoló nem enged meg argumentumot\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: a(z) \"%s\" kapcsolóhoz argumentum szükséges\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: a(z) \"--%s\" kapcsoló ismeretlen\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: a(z) \"%c%s\" kapcsoló ismeretlen\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: illegális kapcsoló -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: érvénytelen kapcsoló -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: a kapcsoló egy argumentumot igényel -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: a \"-W %s\" kapcsoló nem egyértelmű\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: a \"-W %s\" kapcsoló nem enged meg argumentumot\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr "%s: a(z) \"%s\" bind cím nem oldható fel; a bind le lesz tiltva.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Csatlakozás a következőhöz: %s[%s]:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Csatlakozás a következőhöz: %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "kapcsolódva.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "sikertelen: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: a(z) \"%s\" gépcím nem oldható fel\n"
+
+#: src/convert.c:170
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "%d fájl átalakítva %.*f másodperc alatt.\n"
+msgid "Converted %d files in %s seconds.\n"
+msgstr "%d fájl átalakítva %s másodperc alatt.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "%s átalakítása... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "nincs teendő.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "A hivatkozások nem alakíthatók át a következőben: %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "\"%s\" nem törölhető: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "%s nem menthető mint %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Hiba a Set-Cookie-ban, mező: \"%s\""
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Szintaktikai hiba a Set-Cookie-ban: %s a(z) %d pozíciónál.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
-msgstr "A(z) %s helyről érkező süti megkísérelte a tartományt a következőre állítani: %s\n"
+msgstr ""
+"A(z) %s helyről érkező süti megkísérelte a tartományt a következőre "
+"állítani: %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Nem lehet megnyitni a(z) \"%s\" sütifájlt: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Hiba \"%s\" írása közben: %s.\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Hiba \"%s\" bezárásakor: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Nem támogatott listatípus, a Unix listaértelmező kerül felhasználásra.\n"
+msgstr ""
+"Nem támogatott listatípus, a Unix listaértelmező kerül felhasználásra.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s tartalma %s:%d-n"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "idő ismeretlen     "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Fájl        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Könyvtár    "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Link        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Nem biztos  "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bájt)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Hossz: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) van hátra"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s van hátra"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (nem hiteles)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Belépés mint %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Hiba a kiszolgáló válaszában, vezérlő kapcsolat bezárva.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Hiba a kiszolgáló üdvözlésében.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Írás sikertelen, vezérlőkapcsolat bezárva.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "A kiszolgáló visszautasítja a belépést.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "A belépés helytelen.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Belépve!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Kiszolgálóhiba, a rendszer típusa nem határozható meg.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "kész.    "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "kész.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Ismeretlen típus: \"%c\", a vezérlőkapcsolat lezárásra kerül.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "kész.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD nem szükséges.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -226,34 +283,33 @@ msgstr ""
 "Nincs ilyen könyvtár: \"%s\".\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD nem szükséges.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Nem kezdeményezhető PASV átvitel.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "A PASV válasz nem dolgozható fel.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "nem lehet csatlakozni %s %d. portjához: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Hozzárendelési hiba (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Érvénytelen PORT.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -261,7 +317,7 @@ msgstr ""
 "\n"
 "REST sikertelen, kezdés elölről.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -270,7 +326,7 @@ msgstr ""
 "Nincs ilyen fájl: \"%s\".\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -279,44 +335,40 @@ msgstr ""
 "Nincs ilyen fájl vagy könyvtár: \"%s\".\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s létrejött.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, vezérlőkapcsolat lezárása.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Adatkapcsolat: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Vezérlőkapcsolat lezárva.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Adatátvitel megszakítva.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "A(z) \"%s\" fájl már létezik, nem kerül letöltésre.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(próba:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -325,35 +377,33 @@ msgstr ""
 "%s (%s) - \"%s\" mentve [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "%s eltávolítása.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "\"%s\" kerül felhasználásra ideiglenes listafájlként.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "\"%s\" eltávolítva.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "A(z) %d rekurziós mélység túllépte a maximális %d mélységet.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "A kiszolgálón lévő \"%s\" fájl nem újabb mint a helyi -- nem töltöm le.\n"
+msgstr ""
+"A kiszolgálón lévő \"%s\" fájl nem újabb mint a helyi -- nem töltöm le.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -362,8 +412,7 @@ msgstr ""
 "A kiszolgálón lévő \"%s\" fájl újabb mint a helyi -- letöltöm.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -372,11 +421,11 @@ msgstr ""
 "A méretek nem egyeznek (a helyi: %s) -- letöltöm.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "A szimbolikus link neve érvénytelen, kihagyom.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -385,242 +434,190 @@ msgstr ""
 "Már létezik a(z) %s -> %s helyes szimbolikus link\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Létrehozom a(z) %s -> %s szimbolikus linket\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "A szimbolikus linkek nem támogatottak, a(z) \"%s\" szimbolikus linket kihagyom.\n"
+msgstr ""
+"A szimbolikus linkek nem támogatottak, a(z) \"%s\" szimbolikus linket "
+"kihagyom.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "A(z) \"%s\" könyvtárat kihagyom.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: ismeretlen/nem támogatott fájltípus.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: sérült időpecsét.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Könyvtárakat nem töltöm le, mivel a mélység %d (max %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Nem lépek be a következőbe: \"%s\", mert ki van zárva/nincs kijelölve.\n"
+msgstr ""
+"Nem lépek be a következőbe: \"%s\", mert ki van zárva/nincs kijelölve.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Visszautasítom \"%s\"-t.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Hiba \"%s\" írása közben: %s.\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Nincs találat a(z) \"%s\" mintához .\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "A HTML-esített index kiírva a(z) \"%s\" [%s] fájlba.\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "A HTML-esített index kiírva a(z) \"%s\" fájlba.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: a(z) \"%s\" kapcsoló nem egyértelmű\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: a(z) \"--%s\" kapcsoló nem enged meg argumentumot\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: a(z) \"%c%s\" kapcsoló nem enged meg argumentumot\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: a(z) \"%s\" kapcsolóhoz argumentum szükséges\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: a(z) \"--%s\" kapcsoló ismeretlen\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: a(z) \"%c%s\" kapcsoló ismeretlen\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: illegális kapcsoló -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: érvénytelen kapcsoló -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: a kapcsoló egy argumentumot igényel -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: a \"-W %s\" kapcsoló nem egyértelmű\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: a \"-W %s\" kapcsoló nem enged meg argumentumot\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Ismeretlen kiszolgáló"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Átmeneti névfeloldási hiba"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Ismeretlen hiba"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "%s feloldása... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "meghiúsult: nem található IPv4/IPv6 cím a géphez.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "meghiúsult: időtúllépés.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: nem oldható fel a hiányos %s hivatkozás.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: Érvénytelen URL: %s: %s.\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "A HTTP kérés írása meghiúsult: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Nincsenek fejlécek, HTTP/0.9 feltételezése"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "A tapasztalt hibák miatt az SSL letiltásra kerül.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "A(z) \"%s\" POST adatfájl hiányzik: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Újrahasználom a kapcsolatot a következőhöz: %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "A proxy válasz olvasása meghiúsult: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "A proxy alagutazás meghiúsult: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s kérés elküldve, várom a választ... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Nem érkezett adat.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Olvasási hiba (%s) a fejlécekben.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"A(z) \"%s\" fájl már létezik, nem töltöm le.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Ismeretlen hitelesítési séma.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "A hitelesítés meghiúsult.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Rosszul formázott állapotsor"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(nincs leírás)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Hely: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nincs megadva"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [következik]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -630,61 +627,61 @@ msgstr ""
 "    A fájl már teljesen le van töltve; nincs teendő.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Hossz: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "figyelmen kívül hagyva"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Mentés ide: \"%s\"\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Figyelmeztetés: a helyettesítő karaktereket a HTTP nem támogatja.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr ""
-"A(z) \"%s\" fájl már létezik, nem töltöm le.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "A \"spider\" mód bekapcsolva. A távoli fájl létezésének ellenőrzése.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "\"%s\" nem írható (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Nem lehet létrehozni SSL-kapcsolatot.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "HIBA: Átirányítás (%d) hely nélkül.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "A távoli fájl nem létezik - hibás hivatkozás!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s HIBA %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Az Utolsó módosítás fejléc hiányzik -- az időbélyegek kikapcsolva.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Az Utolsó módosítás fejléc érvénytelen -- az időbélyeg figyelmen kívül hagyva.\n"
+msgstr ""
+"Az Utolsó módosítás fejléc érvénytelen -- az időbélyeg figyelmen kívül "
+"hagyva.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -693,16 +690,39 @@ msgstr ""
 "A kiszolgálón lévő \"%s\" fájl nem újabb mint a helyi -- nem töltöm le.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "A méretek nem egyeznek (a helyi: %s) -- letöltöm.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "A távoli fájl újabb, letöltöm.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"A távoli fájl létezik és hivatkozásokat tartalmazhat más erőforrásokra -- "
+"letöltöm.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"A távoli fájl létezik, de nem tartalmaz hivatkozásokat -- nem töltöm le.\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "A távoli fájl létezik, de a rekurzió le van tiltva -- nem töltöm le.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -711,109 +731,105 @@ msgstr ""
 "%s (%s) - \"%s\" mentve [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - A kapcsolat lezárva a(z) %s. bájtnál. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - A kapcsolat lezárva a(z) %s./%s bájtnál. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Olvasási hiba a(Z) %s. bájtnál (%s). "
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Olvasási hiba a(z) %s/%s. bájtnál (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: A WGETRC a nem létező %s elemre mutat.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: %s nem olvasható (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Hiba a következőben: %s, a(z) %d. sornál.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Szintaktikai hiba a következőben: %s, a(z) %d. sornál.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Ismeretlen parancs (%s) a következőben: %s, a(z) %d. sornál.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Figyelmeztetés: Mind a rendszer, mind a felhasználói szintű wgetrc a(z) \"%s\" elemre mutat.\n"
+msgstr ""
+"%s: Figyelmeztetés: Mind a rendszer, mind a felhasználói szintű wgetrc a(z) "
+"\"%s\" elemre mutat.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Érvénytelen --execute parancs: \"%s\"\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
-msgstr "%s: %s: Érvénytelen logikai érték: \"%s\", használja az \"on\" vagy \"off\" szavakat.\n"
-
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr "%s: %s: Érvénytelen kiterjesztett logikai érték: \"%s\", használja az \"always\", \"on\", \"off\" vagy \"never\" szavak egyikét.\n"
+msgstr ""
+"%s: %s: Érvénytelen logikai érték: \"%s\", használja az \"on\" vagy \"off\" "
+"szavakat.\n"
 
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s:Érvénytelen szám: \"%s\".\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Érvénytelen bájtérték: \"%s\".\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Érvénytelen időintervallum: \"%s\".\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Érvénytelen érték: \"%s\".\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Érvénytelen fejléc: \"%s\".\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Érvénytelen folyamattípus: \"%s\".\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Érvénytelen korlátozás: \"%s\", használja a \"unix\" vagy a \"windows\" egyikét.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Érvénytelen korlátozás: \"%s\", használja a [unix|windows],"
+"[lowercase|uppercase],[nocontrol] egyikét.\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -822,9 +838,7 @@ msgstr ""
 "\n"
 "%s érkezett, a kimenet átirányítása \"%s\" fájlba.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -833,108 +847,123 @@ msgstr ""
 "\n"
 "%s érkezett.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; naplózás kikapcsolva.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Használat: %s [KAPCSOLÓ]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Ha egy hosszú kapcsolóhoz kötelező argumentumot megadni, akkor ez a megfelelő\n"
+"Ha egy hosszú kapcsolóhoz kötelező argumentumot megadni, akkor ez a "
+"megfelelő\n"
 "rövid kapcsolónál is kötelező.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Indítás:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           a Wget verziójának kiírása és kilépés.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              ezen súgó megjelenítése.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        indítás után folytatás a háttérben.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-msgstr "  -e,  --execute=PARANCS   egy \".wgetrc\" stílusú parancs végrehajtása.\n"
+msgstr ""
+"  -e,  --execute=PARANCS   egy \".wgetrc\" stílusú parancs végrehajtása.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Naplózás és bemeneti fájl:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=FÁJL    üzenetek naplózása a FÁJLBA.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=FÁJL  üzenetek hozzáfűzése a FÁJLHOZ.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
-msgstr "  -d,  --debug               rengeteg hibakeresési információ kiírása.\n"
+msgstr ""
+"  -d,  --debug               rengeteg hibakeresési információ kiírása.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+"       --wdebug              Watt-32 hibakeresési információk kiírása.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               csendes (nincs kimenet).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             bőbeszédű (ez az alapértelmezés).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --no-verbose          bőbeszédűség kikapcsolása csendes mód nélkül.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          bőbeszédűség kikapcsolása csendes mód nélkül.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=FÁJL     a FÁJLBAN található URL-ek letöltése.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          a bemeneti fájl kezelése HTML-ként.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"  -B,  --base=URL            az URL-t a -F -i fájlban található relatív linkek\n"
+"  -B,  --base=URL            az URL-t a -F -i fájlban található relatív "
+"linkek\n"
 "                               elé szúrja.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Letöltés:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
 msgstr ""
-"  -t,  --tries=SZÁM              újrapróbálkozások számának beállítása a SZÁMRA\n"
+"  -t,  --tries=SZÁM              újrapróbálkozások számának beállítása a "
+"SZÁMRA\n"
 "                                   (0=végtelen).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
 msgstr ""
 "       --retry-connrefused       újrapróbálkozás, még ha a kapcsolat\n"
 "                                   visszautasításra kerül is.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O,  --output-document=FÁJL    dokumentumok írása a FÁJLBA.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
@@ -942,15 +971,21 @@ msgstr ""
 "  -nc, --no-clobber              azon letöltések kihagyása, amelyek létező\n"
 "                                   fájlokra töltenének le.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                részben letöltött fájl letöltésének folytatása.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                részben letöltött fájl letöltésének "
+"folytatása.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=TÍPUS          az előrehaladás mérése típusának kiválasztása.\n"
+msgstr ""
+"       --progress=TÍPUS          az előrehaladás mérése típusának "
+"kiválasztása.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
@@ -958,463 +993,593 @@ msgstr ""
 "  -N,  --timestamping            ne töltse le újra a fájlokat, hacsak nem\n"
 "                                   újabbak a helyinél.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         a kiszolgáló válaszának kiírása.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  ne töltsön le semmit.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
 msgstr ""
-"  -T,  --timeout=MÁSODPERC       minden időkorlát értékének beállítása ennyi\n"
+"  -T,  --timeout=MÁSODPERC       minden időkorlát értékének beállítása "
+"ennyi\n"
 "                                   MÁSODPERCRE.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
 msgstr ""
 "       --dns-timeout=MP          a DNS kikeresés időkorlátjának beállítása\n"
 "                                   MP másodpercre.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
 msgstr ""
 "       --connect-timeout=MP      a kapcsolódás időkorlátjának beállítása\n"
 "                                   MP másodpercre.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr ""
 "       --read-timeout=MP         az olvasási időkorlát beállítása MP\n"
 "                                   másodpercre.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=MÁSODPERC         MÁSODPERC várakozás az újrapróbálkozások között.\n"
+msgstr ""
+"  -w,  --wait=MÁSODPERC         MÁSODPERC várakozás az újrapróbálkozások "
+"között.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
 "       --waitretry=MÁSODPERC     1..MÁSODPERC várakozás egy újrapróbálkozás\n"
 "                                   újrapróbálásai között.\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr ""
 "       --random-wait             várakozás 0...2*WAIT másodpercig az \n"
 "                                   újrapróbálkozások között.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   proxy bekapcsolása.\n"
-
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                proxy kikapcsolása.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=SZÁM              a letöltési kvóta beállítása a SZÁMRA.\n"
+msgstr ""
+"  -Q,  --quota=SZÁM              a letöltési kvóta beállítása a SZÁMRA.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=CÍM        kapcsolódás a CÍMRE (gépnév vagy IP) a helyi                                    gépen.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=CÍM        kapcsolódás a CÍMRE (gépnév vagy IP) a "
+"helyi                                    gépen.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=SEBESSÉG     a letöltési sebesség korlátozása a SEBESSÉGRE.\n"
+msgstr ""
+"       --limit-rate=SEBESSÉG     a letöltési sebesség korlátozása a "
+"SEBESSÉGRE.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache            DNS kikeresések gyorsítótárazásnak kikapcsolása\n"
+msgstr ""
+"       --no-dns-cache            DNS kikeresések gyorsítótárazásnak "
+"kikapcsolása\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
 "       --restrict-file-names=OS  a fájlnevek karakterei korlátozása az OS\n"
-"                                   operációs rendszer által engedélyezettekre.\n"
+"                                   operációs rendszer által "
+"engedélyezettekre.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             kis- és nagybetűk figyelmen kívül\n"
+"                                 hagyása fájlok/könyvtárak illesztésekor.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              kapcsolódás csak IPv4 címekhez.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              kapcsolódás csak IPv6 címekhez.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=CSALÁD    kapcsolódás először a megadott család címeihez\n"
-"                                   ez az \"IPv6\", \"IPv4\", vagy \"none\" egyike\n"
+"       --prefer-family=CSALÁD    kapcsolódás először a megadott család "
+"címeihez\n"
+"                                   ez az \"IPv6\", \"IPv4\", vagy \"none\" "
+"egyike\n"
 "                                   lehet.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr ""
-"       --user=FELHASZNÁLÓ        mind az ftp, mind a http felhasználó beállítása\n"
+"       --user=FELHASZNÁLÓ        mind az ftp, mind a http felhasználó "
+"beállítása\n"
 "                                   a FELHASZNÁLÓRA.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=JELSZÓ         mind az ftp, mind a http jelszó beállítása a JELSZÓRA.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=JELSZÓ         mind az ftp, mind a http jelszó beállítása "
+"a JELSZÓRA.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Könyvtárak:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           ne hozzon létre könyvtárakat.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
-msgstr "  -x,  --force-directories        könyvtárak létrehozásának kényszerítése.\n"
+msgstr ""
+"  -x,  --force-directories        könyvtárak létrehozásának kényszerítése.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
-msgstr "  -nH, --no-host-directories      ne hozzon létre kiszolgálókönyvtárakat.\n"
+msgstr ""
+"  -nH, --no-host-directories      ne hozzon létre kiszolgálókönyvtárakat.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     a protokollnév használata a könyvtárakban.\n"
+msgstr ""
+"       --protocol-directories     a protokollnév használata a "
+"könyvtárakban.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
-msgstr "  -P,  --directory-prefix=ELŐTAG  fájlok mentése az ELŐTAG/... könyvtárba\n"
+msgstr ""
+"  -P,  --directory-prefix=ELŐTAG  fájlok mentése az ELŐTAG/... könyvtárba\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=SZÁM            SZÁM darab távoli könyvtárösszetevő kihagyása.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=SZÁM            SZÁM darab távoli könyvtárösszetevő "
+"kihagyása.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP kapcsolók:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=FELHASZNÁLÓ a http felhasználó beállítása.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=JELSZÓ  a http jelszó beállítása.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
 msgstr ""
 "       --no-cache              a kiszolgáló által gyorsítótárazott adatok\n"
 "                                 tiltása.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
 msgstr ""
 "  -E,  --html-extension        a HTML dokumentumok mentése \".html\"\n"
 "                                 kiterjesztéssel.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
 msgstr ""
-"       --ignore-length         a \"Content-Length\" fejlécmező figyelmen kívül\n"
+"       --ignore-length         a \"Content-Length\" fejlécmező figyelmen "
+"kívül\n"
 "                                 hagyása.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=KARAKTERLÁNC   a KARAKTERLÁNC beszúrása a fejlécek közé.\n"
+msgstr ""
+"       --header=KARAKTERLÁNC   a KARAKTERLÁNC beszúrása a fejlécek közé.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          oldalanként engedélyezett átirányítások\n"
+"                               maximális száma.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr ""
 "       --proxy-user=FELHASZNÁLÓ a FELHASZNÁLÓ beállítása proxyfelhasználó-\n"
 "                                  névként.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-password=JELSZÓ a JELSZÓ beállítása proxy jelszóként.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr ""
-"       --referer=URL           a \"Referer: URL\" fejléc beillesztése a HTTP\n"
+"       --referer=URL           a \"Referer: URL\" fejléc beillesztése a "
+"HTTP\n"
 "                                 kérésbe.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          a HTTP fejlécek mentése fájlba.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=ÜGYNÖK     azonosítás ÜGYNÖKKÉNT a Wget/VERZIÓ helyett.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=ÜGYNÖK     azonosítás ÜGYNÖKKÉNT a Wget/VERZIÓ helyett.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
 msgstr ""
 "       --no-http-keep-alive    a HTTP keep-alive (tartós kapcsolatok)\n"
 "                                 kikapcsolása.\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            ne használjon sütiket.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
 msgstr ""
 "       --load-cookies=FÁJL     sütik betöltése a FÁJLBÓL a munkamenet\n"
 "                                 megkezdése előtt.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=FÁJL     sütik mentése a FÁJLBA a munkamenet után.\n"
+msgstr ""
+"       --save-cookies=FÁJL     sütik mentése a FÁJLBA a munkamenet után.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
 msgstr ""
 "       --keep-session-cookies  munkamenet (nem állandó) sütik betöltése és\n"
 "                                 mentése.\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
 msgstr ""
 "       --post-data=KARAKTERLÁNC  használja a POST módszert; küldje a\n"
 "                                   KARAKTERLÁNCOT az adatként.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
 msgstr ""
 "       --post-file=FÁJL        használja a POST módszert; küldje a FÁJL\n"
 "                                 tartalmát.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL/TLS) kapcsolók:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR     a biztonságos protokoll kiválasztása, az \"auto\",\n"
+"       --secure-protocol=PR     a biztonságos protokoll kiválasztása, az "
+"\"auto\",\n"
 "                                 \"SSLv2\", \"SSLv3\", és \"TLSv1\" egyike.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   ne ellenőrizze a kiszolgáló tanúsítványát.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   ne ellenőrizze a kiszolgáló tanúsítványát.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=FÁJL       ügyfél tanúsítványfájlja.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TÍPUS  ügyfél tanúsítványának típusa, PEM vagy DER.\n"
+msgstr ""
+"       --certificate-type=TÍPUS  ügyfél tanúsítványának típusa, PEM vagy "
+"DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FÁJL       személyeskulcs-fájl.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=TÍPUS  személyes kulcs típusa, PEM vagy DER.\n"
+msgstr ""
+"       --private-key-type=TÍPUS  személyes kulcs típusa, PEM vagy DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
-msgstr "       --ca-certificate=FÁJL    a tanúsítványok csoportját tartalmazó fájl.\n"
+msgstr ""
+"       --ca-certificate=FÁJL    a tanúsítványok csoportját tartalmazó fájl.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
 msgstr ""
 "       --ca-directory=KÖNYVTÁR  a tanúsítványok hash listáját tároló\n"
 "                                  könyvtár.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
 msgstr ""
-"       --random-file=FÁJL       véletlen adatokat tartalmazó fájl az SSL PRNG\n"
+"       --random-file=FÁJL       véletlen adatokat tartalmazó fájl az SSL "
+"PRNG\n"
 "                                  inicializálásához.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr ""
-"       --egd-file=FÁJL          véletlen adatokat tartalmazó, az EGD foglalatot\n"
+"       --egd-file=FÁJL          véletlen adatokat tartalmazó, az EGD "
+"foglalatot\n"
 "                                  megnevező fájl.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP kapcsolók:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=FELHASZNÁLÓ  az ftp felhasználó beállítása.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=JELSZÓ   az ftp jelszó beállítása.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
-msgstr "       --no-remove-listing     ne távolítsa el a \".listing\" fájlokat.\n"
+msgstr ""
+"       --no-remove-listing     ne távolítsa el a \".listing\" fájlokat.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
 msgstr ""
 "       --no-glob               helyettesítő karakterek használatának\n"
 "                                 kikapcsolása FTP fájlnevekben.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        a \"passzív\" átviteli mód kikapcsolása.\n"
+msgstr ""
+"       --no-passive-ftp        a \"passzív\" átviteli mód kikapcsolása.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
-"       --retr-symlinks         rekurzív letöltés esetén a szimbolikus linkek\n"
+"       --retr-symlinks         rekurzív letöltés esetén a szimbolikus "
+"linkek\n"
 "                                 által hivatkozott fájlok (nem könyvtárak)\n"
 "                                 letöltése.\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  távoli fájl jogosultságainak megőrzése.\n"
+msgstr ""
+"       --preserve-permissions  távoli fájl jogosultságainak megőrzése.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Rekurzív letöltés:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          rekurzív letöltés megadása.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=SZÁM         maximális rekurziós mélység (inf vagy 0 = végtelen).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=SZÁM         maximális rekurziós mélység (inf vagy 0 = "
+"végtelen).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr "       --delete-after       helyi fájlok törlése letöltés után.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr ""
-"  -k,  --convert-links      hivatkozások átalakítása a letöltött HTML-ben hogy\n"
+"  -k,  --convert-links      hivatkozások átalakítása a letöltött HTML-ben "
+"hogy\n"
 "                              helyi fájlokra mutassanak.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr ""
-"  -K,  --backup-converted   az X fájl átalakítása előtt készüljön róla X.orig\n"
+"  -K,  --backup-converted   az X fájl átalakítása előtt készüljön róla X."
+"orig\n"
 "                              néven mentés.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             ugyanaz, mint -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             ugyanaz, mint -N -r -l inf --no-remove-listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
-"  -p,  --page-requisites    a HTML oldal megjelenítéséhez szükséges összes kép,\n"
+"  -p,  --page-requisites    a HTML oldal megjelenítéséhez szükséges összes "
+"kép,\n"
 "                              stb. letöltése.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
 msgstr ""
 "       --strict-comments    a HTML megjegyzések szigorú (SGML) kezelésének\n"
 "                              bekapcsolása.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Rekurzív elfogadás/visszautasítás:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr ""
 "  -A,  --accept=LISTA              az elfogadott kiterjesztések vesszőkkel\n"
 "                                     elválasztott listája.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr ""
-"  -R,  --reject=LISTA              a visszautasított kiterjesztések vesszőkkel\n"
+"  -R,  --reject=LISTA              a visszautasított kiterjesztések "
+"vesszőkkel\n"
 "                                     elválasztott listája.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
 "  -D,  --domains=LISTA             az elfogadott tartományok vesszőkkel\n"
 "                                     elválasztott listája.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
 "       --exclude-domains=LISTA     a visszautasított tartományok vesszőkkel\n"
 "                                     elválasztott listája.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
 msgstr ""
 "       --follow-ftp                FTP hivatkozások követése HTML\n"
 "                                     dokumentumokból.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr ""
 "       --follow-tags=LISTA         a követett HTML címkék vesszőkkel\n"
 "                                     elválasztott listája.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
 "       --ignore-tags=LISTA         a figyelmen kívül hagyott HTML címkék\n"
 "                                      vesszőkkel elválasztott listája.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                rekurzív módban menjen idegen gépekre is.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                rekurzív módban menjen idegen gépekre "
+"is.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
-msgstr "  -L,  --relative                  csak a relatív hivatkozások követése.\n"
+msgstr ""
+"  -L,  --relative                  csak a relatív hivatkozások követése.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
-msgstr "  -I,  --include-directories=LISTA  az engedélyezett könyvtárak listája.\n"
+msgstr ""
+"  -I,  --include-directories=LISTA  az engedélyezett könyvtárak listája.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LISTA  a kihagyott könyvtárak listája.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent                 ne lépjen be a szülőkönyvtárba.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "Hibajelentéseket és javaslatokat a <bug-wget@gnu.org> címre küldhetsz.\n"
+msgstr ""
+"Hibajelentéseket és javaslatokat a <bug-wget@gnu.org> címre küldhetsz.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s, egy nem-interaktív hálózati letöltő.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"A programot abban a reményben adjuk közre, hogy hasznos lesz, de nem\n"
-"vállalunk SEMMIFÉLE GARANCIÁT, még olyan értelemben sem, hogy a program\n"
-"alkalmas-e a KÖZREADÁSRA vagy EGY BIZONYOS FELADAT ELVÉGZÉSÉRE. További\n"
-"részletekért tanulmányozza a GNU GPL licencet.\n"
-"\n"
-
-#: src/main.c:665
+"Licenc: GPLv3+: GNU GPL v3 vagy újabb\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Ez egy szabad szoftver, szabadon módosíthatja és terjesztheti.\n"
+"NINCS GARANCIA, a jog által engedélyezett mértékig.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1422,196 +1587,225 @@ msgstr ""
 "\n"
 "Eredetileg Hrvoje Niksic <hniksic@xemacs.org> írta.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Jelenlegi karbantartó: Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Próbáld kiadni a \"%s --help\" parancsot több lehetőségért.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: hibás opció -- \"-n%c\"\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Nem lehet bőbeszédű és csendes egyszerre.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Nem lehet időbejegyzést is tenni egy fájlra és békén is hagyni.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Nem adható meg egyszerre mind a --inet4-only, mind az --inet6-only.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "A -r, -p vagy -N nem adható meg, ha a -O meg van adva.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Nem adható meg egyszerre a -k és a -O több URL megadásakor.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: hiányzó URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Nem található URL a következőben: %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "BEFEJEZTEM --%s--\n"
-"Letöltve: %s bájt %d fájlban\n"
+"Letöltve: %d fájl, %s %s alatt (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Letöltési határ (%s bájt) TÚLLÉPVE!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "A letöltési korlát (%s) TÚLLÉPVE!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Folytatás a háttérben.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Folytatás a háttérben, a pid: %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "A kimenet a(z) \"%s\" fájlba lesz kiírva.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Nem található használható foglalat-illesztőprogram.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: figyelmeztetés: \"%s\" tokent találtam a gép neve előtt\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: ismeretlen token \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Használat: %s NETRC [GÉPNÉV]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: %s nem érhető el: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "FIGYELMEZTETÉS: gyenge véletlenmag kerül felhasználásra.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "A PRNG nem inicializálható; fontolja meg a --random-file használatát.\n"
+msgstr ""
+"A PRNG nem inicializálható; fontolja meg a --random-file használatát.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "HIBA"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "FIGYELMEZTETÉS"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: %s nem mutatott be tanúsítványt.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: Tanúsítványellenőrzési hiba a következőnél: %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: %s \"%s\" által kiadott tanúsítványa nem ellenőrizhető:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  A kibocsátó hitelessége nem ellenőrizhető helyileg.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Saját aláírású tanúsítvány.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  A kibocsátott tanúsítvány még nem érvényes.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  A kibocsátott tanúsítvány lejárt.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: a tanúsítvány \"%s\" általános neve nem egyezik a kért \"%s\" gépnévvel.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: a tanúsítvány \"%s\" általános neve nem egyezik a kért \"%s\" "
+"gépnévvel.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "A nem biztonságos kapcsolódáshoz %s géphez használd a --no-check-certificate kapcsolót.\n"
+msgstr ""
+"A nem biztonságos kapcsolódáshoz %s géphez használd a --no-check-certificate "
+"kapcsolót.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ kihagyva %dK ]"
+"%*s[ kihagyva %sK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Érvénytelen pontstílus meghatározás: \"%s\"; változatlanul hagyom.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr " kész: %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "  idő "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "A valós idejű óra frekvenciája nem kérhető le: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Eltávolítom %s-t, mivel vissza kellene utasítani.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "%s nem nyitható meg: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "robots.txt betöltése; hagyja figyelmen kívül a hibákat.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Hiba a proxy URL feldolgozása közben: %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Hiba a(z) %s proxy URL-ben: HTTP kell legyen.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d átirányítás túllépve.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1619,7 +1813,7 @@ msgstr ""
 "Feladom.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1627,50 +1821,87 @@ msgstr ""
 "Újrapróbálom.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Nincsenek hibás hivatkozások.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"%d hibás hivatkozás.\n"
+"\n"
+msgstr[1] ""
+"%d hibás hivatkozás.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Nincs hiba"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Nem támogatott séma"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Érvénytelen gépnév"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Rossz portszám"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Érvénytelen felhasználói név"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Befejezetlen IPv6 numerikus cím"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Az IPv6 címek nem támogatottak"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Hibás IPv6 numerikus cím"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Folytatás a háttérben, a pid: %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "A(z) \"%s\" szimbolikus link törlése meghiúsult: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: %ld bájt lefoglalása meghiúsult; elfogyott a memória.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   proxy bekapcsolása.\n"
+
+#~ msgid ""
+#~ "       --no-content-disposition  don't honor Content-Disposition header.\n"
+#~ msgstr ""
+#~ "       --no-content-disposition  nem veszi figyelembe a Content-"
+#~ "Disposition\n"
+#~ "                                 fejlécet.\n"
diff --git a/po/id.po b/po/id.po
new file mode 100644 (file)
index 0000000..056166a
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,1854 @@
+# Pesan Bahasa Indonesia untuk GNU wget
+# Copyright (C) 2006 Free Software Foundation, Inc.
+# This file is distributed under the same license as the wget package.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU wget 1.10.2\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2006-12-24 22:00+0700\n"
+"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
+"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: opsi `%s' adalah opsi yang ambigu\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: opsi `--%s' tidak memperbolehkan sebuah argumen\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: opsi `%c%s' tidak memperbolehkan sebuah argumen\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: opsi `%s' membutuhkan sebuah argumen\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opsi `--%s' tidak diketahui\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opsi `%c%s' tidak diketahui\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opsi illegal -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opsi -- %c tidak valid\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opsi membutuhkan sebuah argumen -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: opsi `-W %s' adalah sebuah ambigu\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: opsi `-W %s' tidak memperbolehkan sebuah argumen\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr "%s: tidak dapat meresolve alamat bind `%s'; mendisable bind.\n"
+
+#: src/connect.c:267
+#, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Menghubungi %s|%s|:%d... "
+
+#: src/connect.c:270
+#, c-format
+msgid "Connecting to %s:%d... "
+msgstr "Menghubungi %s:%d... "
+
+#: src/connect.c:330
+msgid "connected.\n"
+msgstr "terhubung.\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "gagal: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: tidak dapat meresolve alamat bind `%s'; mendisable bind.\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Mengubah %d files dalam %.*f detik.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Mengubah %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "tidak ada yang bisa dilakukan.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Tidak dapat mengubah links dalam %s: %s\n"
+
+#: src/convert.c:233
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Tidak dapat menghapus `%s': %s\n"
+
+#: src/convert.c:442
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Tidak dapat membackup %s sebagai %s: %s\n"
+
+#: src/cookies.c:443
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr "Syntax error dalam Set-Cookie: %s pada posisi %d.\n"
+
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie datang dari %s mencoba untuk menset domain menjadi %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
+#, c-format
+msgid "Cannot open cookies file `%s': %s\n"
+msgstr "Tidak dapat membuka file cookies `%s': %s\n"
+
+#: src/cookies.c:1287
+#, c-format
+msgid "Error writing to `%s': %s\n"
+msgstr "Error menulis ke `%s': %s\n"
+
+#: src/cookies.c:1290
+#, c-format
+msgid "Error closing `%s': %s\n"
+msgstr "Error menutup `%s': %s\n"
+
+#: src/ftp-ls.c:836
+msgid "Unsupported listing type, trying Unix listing parser.\n"
+msgstr "Tipe listing tidak disupport, mencoba listing Unix parser.\n"
+
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
+#, c-format
+msgid "Index of /%s on %s:%d"
+msgstr "Index dari/%s pada %s:%d"
+
+#: src/ftp-ls.c:907
+#, c-format
+msgid "time unknown       "
+msgstr "waktu tidak diketahui       "
+
+#: src/ftp-ls.c:911
+#, c-format
+msgid "File        "
+msgstr "File        "
+
+#: src/ftp-ls.c:914
+#, c-format
+msgid "Directory   "
+msgstr "Direktori   "
+
+#: src/ftp-ls.c:917
+#, c-format
+msgid "Link        "
+msgstr "LInk        "
+
+#: src/ftp-ls.c:920
+#, c-format
+msgid "Not sure    "
+msgstr "Tidak yakin    "
+
+#: src/ftp-ls.c:938
+#, c-format
+msgid " (%s bytes)"
+msgstr " (%s bytes)"
+
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Besar: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ", %s (%s) tersisa"
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ", %s tersisa"
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (unauthoritative)\n"
+
+#: src/ftp.c:303
+#, c-format
+msgid "Logging in as %s ... "
+msgstr "Masuk sebagai %s ... "
+
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
+msgid "Error in server response, closing control connection.\n"
+msgstr "Error dalam respon server, menutup kontrol koneksi.\n"
+
+#: src/ftp.c:323
+msgid "Error in server greeting.\n"
+msgstr "Error dalam salam server.\n"
+
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
+msgid "Write failed, closing control connection.\n"
+msgstr "Gagal menulis, menutup kontrol koneksi.\n"
+
+#: src/ftp.c:336
+msgid "The server refuses login.\n"
+msgstr "Server menolak untuk login.\n"
+
+#: src/ftp.c:342
+msgid "Login incorrect.\n"
+msgstr "Login tidak benar.\n"
+
+#: src/ftp.c:348
+msgid "Logged in!\n"
+msgstr "Logged in!\n"
+
+#: src/ftp.c:370
+msgid "Server error, can't determine system type.\n"
+msgstr "Server error, tidak dapat menentukan tipe sistem.\n"
+
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
+msgid "done.    "
+msgstr "selesai.    "
+
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
+msgid "done.\n"
+msgstr "selesai.\n"
+
+#: src/ftp.c:458
+#, c-format
+msgid "Unknown type `%c', closing control connection.\n"
+msgstr "Tipe `%c' tidak diketahui, menutup kontrol koneksi.\n"
+
+#: src/ftp.c:470
+msgid "done.  "
+msgstr "selesai.   "
+
+#: src/ftp.c:476
+msgid "==> CWD not needed.\n"
+msgstr "==> CWD tidak dibutuhkan.\n"
+
+#: src/ftp.c:569
+#, c-format
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"Tidak ada direktori `%s'.\n"
+"\n"
+
+#: src/ftp.c:584
+msgid "==> CWD not required.\n"
+msgstr "==> CWD tidak diperlukan.\n"
+
+#: src/ftp.c:644
+msgid "Cannot initiate PASV transfer.\n"
+msgstr "Tidak dapat menginitialisasi transfer PASV.\n"
+
+#: src/ftp.c:648
+msgid "Cannot parse PASV response.\n"
+msgstr "Tidak dapat parse PASV respon.\n"
+
+#: src/ftp.c:665
+#, c-format
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr "tidak dapat menghubungi %s port %d: %s\n"
+
+#: src/ftp.c:713
+#, c-format
+msgid "Bind error (%s).\n"
+msgstr "Bind error (%s).\n"
+
+#: src/ftp.c:719
+msgid "Invalid PORT.\n"
+msgstr "PORT tidak valid.\n"
+
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"REST gagal, memulai dari awal.\n"
+
+#: src/ftp.c:826
+#, c-format
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"Tidak ada file `%s'.\n"
+"\n"
+
+#: src/ftp.c:873
+#, c-format
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"Tidak ada file atau direktori `%s'.\n"
+"\n"
+
+#: src/ftp.c:935 src/http.c:2245
+#, c-format
+msgid "%s has sprung into existence.\n"
+msgstr "%s memiliki sprung kedalam eksistensi.\n"
+
+#: src/ftp.c:987
+#, c-format
+msgid "%s: %s, closing control connection.\n"
+msgstr "%s: %s, menutup kontrol koneksi.\n"
+
+#: src/ftp.c:996
+#, c-format
+msgid "%s (%s) - Data connection: %s; "
+msgstr "%s (%s) - Data koneksi: %s; "
+
+#: src/ftp.c:1011
+msgid "Control connection closed.\n"
+msgstr "Koneksi kontrol ditutup.\n"
+
+#: src/ftp.c:1029
+msgid "Data transfer aborted.\n"
+msgstr "Data transfer dibatalkan.\n"
+
+#: src/ftp.c:1097
+#, c-format
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "File `%s' sudah ada disana; tidak diambil.\n"
+
+#: src/ftp.c:1165 src/http.c:2423
+#, c-format
+msgid "(try:%2d)"
+msgstr "(coba:%2d)"
+
+#: src/ftp.c:1235 src/http.c:2746
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' disimpan [%s]\n"
+"\n"
+
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
+#, c-format
+msgid "Removing %s.\n"
+msgstr "Menghapus %s.\n"
+
+#: src/ftp.c:1319
+#, c-format
+msgid "Using `%s' as listing tmp file.\n"
+msgstr "Menggunakan `%s' sebagai file listing sementara.\n"
+
+#: src/ftp.c:1334
+#, c-format
+msgid "Removed `%s'.\n"
+msgstr "Menghapus `%s'.\n"
+
+#: src/ftp.c:1367
+#, c-format
+msgid "Recursion depth %d exceeded max. depth %d.\n"
+msgstr "Kedalaman recursion %d melebihi maksimum kedalaman %d.\n"
+
+#: src/ftp.c:1437
+#, c-format
+msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
+msgstr ""
+"File remote tidak ada yang lebih baru dari file local `%s' -- tidak "
+"diambil.\n"
+
+#: src/ftp.c:1444
+#, c-format
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"File remote lebih baru dari file local `%s' -- diambil.\n"
+"\n"
+
+#: src/ftp.c:1451
+#, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"Besar tidak cocok dengan (local %s) -- diambil.\n"
+"\n"
+
+#: src/ftp.c:1469
+msgid "Invalid name of the symlink, skipping.\n"
+msgstr "Nama symlink tidak valid, dilewati.\n"
+
+#: src/ftp.c:1486
+#, c-format
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Sudah memiliki symlink %s -> %s yang benar\n"
+"\n"
+
+#: src/ftp.c:1494
+#, c-format
+msgid "Creating symlink %s -> %s\n"
+msgstr "Membuat symlink %s -> %s\n"
+
+#: src/ftp.c:1504
+#, c-format
+msgid "Symlinks not supported, skipping symlink `%s'.\n"
+msgstr "Symlink tidak disupport, dilewati symlink `%s'.\n"
+
+#: src/ftp.c:1516
+#, c-format
+msgid "Skipping directory `%s'.\n"
+msgstr "Melewati direktori `%s'.\n"
+
+#: src/ftp.c:1525
+#, c-format
+msgid "%s: unknown/unsupported file type.\n"
+msgstr "%s: tidak diketahui/tidak disupport tipe file.\n"
+
+#: src/ftp.c:1552
+#, c-format
+msgid "%s: corrupt time-stamp.\n"
+msgstr "%s: time-stamp corrupt/rusak.\n"
+
+#: src/ftp.c:1580
+#, c-format
+msgid "Will not retrieve dirs since depth is %d (max %d).\n"
+msgstr "Tidak akan mengambil dir karena kedalamannya %d (maksimal %d).\n"
+
+#: src/ftp.c:1630
+#, c-format
+msgid "Not descending to `%s' as it is excluded/not-included.\n"
+msgstr "Tidak turun ke `%s' karena ini di excluded/tidak dimasukkan.\n"
+
+#: src/ftp.c:1696 src/ftp.c:1710
+#, c-format
+msgid "Rejecting `%s'.\n"
+msgstr "Menolak `%s'.\n"
+
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Error menulis ke `%s': %s\n"
+
+#: src/ftp.c:1774
+#, c-format
+msgid "No matches on pattern `%s'.\n"
+msgstr "Tidak ada pola `%s' yang cocok.\n"
+
+#: src/ftp.c:1840
+#, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr "Menulis HTML-ized index ke `%s' [%s].\n"
+
+#: src/ftp.c:1845
+#, c-format
+msgid "Wrote HTML-ized index to `%s'.\n"
+msgstr "Menulis HTML-ized index ke `%s'.\n"
+
+#: src/host.c:348
+msgid "Unknown host"
+msgstr "Host tidak diketahui"
+
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr "Resolusi nama untuk sementara gagal"
+
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Kesalahan tidak diketahui"
+
+#: src/host.c:715
+#, c-format
+msgid "Resolving %s... "
+msgstr "Resolving %s... "
+
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr "gagal: Tidak ada alamat IPv4/IPv6 untuk host.\n"
+
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr "gagal: waktu habis.\n"
+
+#: src/html-url.c:289
+#, c-format
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr "%s: Tidak dapat menresolve link yang tidak komplit %s.\n"
+
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: URL tidak valid %s: %s\n"
+
+#: src/http.c:368
+#, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Gagal menulis permintaan HTTP: %s.\n"
+
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr "Tidak ada headers, mengasumsikan HTTP/0.9"
+
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr "Menonaktifkan SSL karena adanya errors.\n"
+
+#: src/http.c:1570
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr "POST data file `%s' hilang: %s\n"
+
+#: src/http.c:1619
+#, c-format
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Menggunakan koneksi yang sudah ada ke %s:%d.\n"
+
+#: src/http.c:1687
+#, c-format
+msgid "Failed reading proxy response: %s\n"
+msgstr "Gagal membaca respon proxy: %s\n"
+
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr "Proxy tunneling gagal: %s"
+
+#: src/http.c:1752
+#, c-format
+msgid "%s request sent, awaiting response... "
+msgstr "Permintaan %s dikirimkan, menunggu respons... "
+
+#: src/http.c:1763
+msgid "No data received.\n"
+msgstr "Tidak ada data yang diterima.\n"
+
+#: src/http.c:1770
+#, c-format
+msgid "Read error (%s) in headers.\n"
+msgstr "Read error (%s) dalam headers.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"File `%s' sudah ada; tidak diambil.\n"
+"\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Skema authentifikasi tidak diketahui.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Authorisasi gagal.\n"
+
+#: src/http.c:2014
+msgid "Malformed status line"
+msgstr "Status line salah format"
+
+#: src/http.c:2016
+msgid "(no description)"
+msgstr "(tidak ada deskripsi)"
+
+#: src/http.c:2082
+#, c-format
+msgid "Location: %s%s\n"
+msgstr "Lokasi: %s%s\n"
+
+#: src/http.c:2083 src/http.c:2193
+msgid "unspecified"
+msgstr "tidak dispesifikasikan"
+
+#: src/http.c:2084
+msgid " [following]"
+msgstr " [mengikuti]"
+
+#: src/http.c:2140
+msgid ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+msgstr ""
+"\n"
+"     File sudah secara penuh diterima; tidak ada yang harus dilakukan lagi.\n"
+"\n"
+
+#: src/http.c:2173
+msgid "Length: "
+msgstr "Besar: "
+
+#: src/http.c:2193
+msgid "ignored"
+msgstr "diabaikan"
+
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Melewati direktori `%s'.\n"
+
+#: src/http.c:2345
+msgid "Warning: wildcards not supported in HTTP.\n"
+msgstr "Peringatan: wildcards tidak disupport dalam HTTP.\n"
+
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
+
+#: src/http.c:2497
+#, c-format
+msgid "Cannot write to `%s' (%s).\n"
+msgstr "Tidak dapat menulis ke `%s' (%s).\n"
+
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Tidak dapat membuat koneksi SSL.\n"
+
+#: src/http.c:2514
+#, c-format
+msgid "ERROR: Redirection (%d) without location.\n"
+msgstr "ERROR: Redireksi (%d) tanpa lokasi.\n"
+
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
+#, c-format
+msgid "%s ERROR %d: %s.\n"
+msgstr "%s ERROR %d: %s.\n"
+
+#: src/http.c:2581
+msgid "Last-modified header missing -- time-stamps turned off.\n"
+msgstr ""
+"Header yang paling akhir dimodifikasi hilang -- time-stamps dimatikan.\n"
+
+#: src/http.c:2589
+msgid "Last-modified header invalid -- time-stamp ignored.\n"
+msgstr ""
+"header yang paling akhir dimodifikasi tidak valid -- time-stamp diabaikan.\n"
+
+#: src/http.c:2619
+#, c-format
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"File server tidak ada yang lebih baru dari local file `%s' -- tidak "
+"diambil.\n"
+"\n"
+
+#: src/http.c:2627
+#, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "Besar tidak cocok (local %s) -- diambil.\n"
+
+#: src/http.c:2634
+msgid "Remote file is newer, retrieving.\n"
+msgstr "File remote lebih baru, diambil.\n"
+
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"File remote lebih baru dari file local `%s' -- diambil.\n"
+"\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"File remote tidak ada yang lebih baru dari file local `%s' -- tidak "
+"diambil.\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"File remote tidak ada yang lebih baru dari file local `%s' -- tidak "
+"diambil.\n"
+
+#: src/http.c:2715
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - `%s' disimpan [%s/%s]\n"
+"\n"
+
+#: src/http.c:2770
+#, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Hubungan ditutup pada byte %s. "
+
+#: src/http.c:2785
+#, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) - Read error pada byte %s (%s)."
+
+#: src/http.c:2794
+#, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) - Read error pada byte %s/%s (%s). "
+
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr "%s: WGETRC menunjuk ke %s, dimana itu tidak ada.\n"
+
+#: src/init.c:450 src/netrc.c:265
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
+msgstr "%s: Tidak dapat membaca %s (%s).\n"
+
+#: src/init.c:468
+#, c-format
+msgid "%s: Error in %s at line %d.\n"
+msgstr "%s: Error dalam %s pada baris %d.\n"
+
+#: src/init.c:474
+#, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Syntax error dalam %s pada baris %d.\n"
+
+#: src/init.c:479
+#, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Perintah tidak diketahui `%s' dalam %s pada baris %d.\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr "%s: Peringatan: Kedua sistem dan pengguna wgetrc menunjuk ke `%s'.\n"
+
+#: src/init.c:677
+#, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Invalid --execute command `%s'\n"
+
+#: src/init.c:722
+#, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Boolean tidak valid `%s'; gunakan `on' atau `off'.\n"
+
+#: src/init.c:739
+#, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Nomor tidak valid `%s'.\n"
+
+#: src/init.c:970 src/init.c:989
+#, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Nilai byte tidak valid `%s'\n"
+
+#: src/init.c:1014
+#, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: Perioda waktu tidak valid `%s'\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Nilai tidak valid `%s'.\n"
+
+#: src/init.c:1105
+#, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: header tidak valid `%s'.\n"
+
+#: src/init.c:1171
+#, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Tipe progress tidak valid `%s'.\n"
+
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr "%s: %s: restriksi tidak valid `%s', gunakan `unix' atau `windows'.\n"
+
+#: src/log.c:784
+#, c-format
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+"\n"
+"%s diterima, meneruskan output ke `%s'.\n"
+
+#: src/log.c:794
+#, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr ""
+"\n"
+"%s diterima.\n"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr "%s: %s; mematikan logging.\n"
+
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Penggunaan: %s [OPSI]... [URL]...\n"
+
+#: src/main.c:369
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"Argumen yang wajib untuk opsi panjang juga wajib untuk opsi yang pendek.\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr "Memulai:\n"
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr "  -V,  --version           menampilkan versi dari Wget dan keluar.\n"
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr "  -h,  --help              menampilkan bantuan ini.\n"
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr "  -b,  --background        pergi ke background setelah memulai.\n"
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+"  -e,  --execute=COMMAND   menjalankan sebuah perintah `.wgetrc'-style.\n"
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr "Logging dan input file:\n"
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr "  -o,  --output-file=FILE     pesan log pada FILE.\n"
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr "  -a,  --append-output=FILE  tambahkan pesan pada FILE.\n"
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr "  -d,  --debug               tampilkan banyak informasi debugging.\n"
+
+#: src/main.c:394
+#, fuzzy
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "  -d,  --debug               tampilkan banyak informasi debugging.\n"
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr "  -q,  --quiet               diam (tidak ada output).\n"
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr "  -v,  --verbose             jadi verbose (ini yang default).\n"
+
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"   -nv, --no-verbose          matikan verboseness, tanpa menjadi quiet.\n"
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr "  -i,  --input-file=FILE     download URLs yang ditemukan pada FILE.\n"
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr "  -F,  --force-html          perlakukan input file sebagai HTML.\n"
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            prepends URL pada link relatif dalam file -F -"
+"i.\n"
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr "Download:\n"
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NUMBER            set nomor mencoba ke NUMBER (0 untuk tidak "
+"terbatas).\n"
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr "       --retry-connrefused       coba lagi walaupun koneksi ditolak.\n"
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr "  -O,  --output-document=FILE    tulis document pada FILE.\n"
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+"  -nc, --no-clobber              skip downloads yang akan mendownload ke\n"
+"                                 file yang sudah ada.\n"
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                lanjutkan mengambil file yang terdownload  "
+"sebagian.\n"
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr "       --progress=TYPE           pilih tipe gauge progress.\n"
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+"  -N,  --timestamping            jangan mengambil kembali file kecuali file\n"
+"                                 lebih baru dari file local.\n"
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr "  -S,  --server-response         tampilkan respon server.\n"
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr "       --spider                  jangan mendownload apapun.\n"
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+"  -T,  --timeout=SECONDS         set semua nilai timeout pada SECONDS.\n"
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+"       --dns-timeout=SECS        set the DNS lookup timeout pada SECS.\n"
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr "       --connect-timeout=SECS    set the connect timeout pada SECS.\n"
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr "       --read-timeout=SECS       set the read timeout pada SECS.\n"
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+"  -w,  --wait=SECONDS            tunggu SECONDS diantara pengambilan.\n"
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SECONDS       tunggu 1..SECONDS diantara pencobaan dari "
+"sebuah pengambilan.\n"
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             tunggu dari 0...2*WAIT secs diantara "
+"pengambilan.\n"
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr "       --no-proxy                secara eksplisit mematikan proxy.\n"
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr "  -Q,  --quota=NUMBER            set pengambilan quota pada NUMBER.\n"
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADDRESS    bind ke ADDRESS (hostname atau IP) pada "
+"local host.\n"
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr "       --limit-rate=RATE         batasi kecepatan download ke RATE.\n"
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr "       --no-dns-cache            matikan caching dari DNS lookups.\n"
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  restrict karakter dalam nama file ke salah "
+"satu dari yang dibolehkan oleh OS.\n"
+
+#: src/main.c:459
+#, fuzzy
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-length         abaikan `Content-Length' bagian header.\n"
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+"  -4,  --inet4-only              hanya menghubungi ke alamat IPv4 saja.\n"
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+"  -6,  --inet6-only              hanya menghubungi ke alamat IPv6 saja.\n"
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+"       --prefer-family=FAMILY    hubungi terlebih dahulu alamat dari family  "
+"yang dispesifikasikan,\n"
+"                                 salah satu dari IPv6, IPv4 atau none.\n"
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+"       --user=USER               set kedua ftp dan http user pada USER.\n"
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=PASS           set kedua ftp dan http password pada PASS.\n"
+
+#: src/main.c:476
+msgid "Directories:\n"
+msgstr "Direktori:\n"
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr "  -nd,  --no-directories          jangan membuat direktori.\n"
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr "  -x,  --force-directories        paksa pembuatan direktori.\n"
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr "  -nH, --no-host-directories      jangan buat host directories.\n"
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+"       --protocol-directories     gunakan nama protocol dalam direktori.\n"
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr "  -P,  --directory-prefix=PREFIX  simpan file pada PREFIX/...\n"
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NUMBER           abaikan NUMBER remote komponen "
+"direktori.\n"
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr "Opsi HTTP:\n"
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr "       --http-user=USER        set http user pada USER.\n"
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr "       --http-password=PASS    set http password pada PASS.\n"
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr "       --nocache               dissallow server-cached data.\n"
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        simpan HTML dokumen dengan ekstensi `.html'.\n"
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+"       --ignore-length         abaikan `Content-Length' bagian header.\n"
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr "       --header=STRING         masukkan STRING dalam headers.\n"
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr "       --proxy-user=USER       set USER sebagai username proxy.\n"
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr "       --proxy-password=PASS   set PASS sebagai password proxy.\n"
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           masukkan `Referer: URL' header dalam HTTP "
+"request.\n"
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr "       --save-headers          simpan HTTP headers pada file.\n"
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identifikasi sebagai AGEN daripada sebagai "
+"Wget/VERSION.\n"
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"koneksi).\n"
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr "       --no-cookies            jangan menggunakan cookies.\n"
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+"       --load-cookies=FILE     load cookies dari FILE sebelum session.\n"
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+"       --save-cookies=FILE     simpan cookies pada FILE sesudah session.\n"
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  load dan simpan session (non-permanen) "
+"cookies.\n"
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRING      gunakan metoda POST; kirim STRING sebagai "
+"data.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FILE        gunakan metoda POST; kirim isi dari FILE.\n"
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr "Opsi HTTPS (SSL/TLS):\n"
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+"       --secure-protocol=PR     pilih secure protocolm salah satu dari "
+"auto,\n"
+"                                SSLv2, SSLv3, dan TLSv1.\n"
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   jangan memvalidasi server certificate.\n"
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr "       --certificate=FILE       client certificate file.\n"
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+"       --certificate-type=TYPE  tipe sertifikate client, PEM atau DER.\n"
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr "       --private-key=FILE       private key file.\n"
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr "       --private-key-type=TYPE  tipe private key, PEM atau DER.\n"
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr "       --ca-certificate=FILE    file yang berisi CA's.\n"
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=DIR       direktori dimana hash list dari CA's "
+"disimpan\n"
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FILE       file dengan data acak untuk seeding SSL "
+"PRNG.\n"
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=FILE          penamaan file EGD socket dengan data "
+"random.\n"
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr "Opsi FTP:\n"
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr "       --ftp-user=USER         set ftp user pada USER.\n"
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr "       --ftp-password=PASS     set ftp password pada PASS.\n"
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr "       --no-remove-listing     jangan hapus file `.listing'.\n"
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr "       --no-glob               matikan FTP nama file globbing.\n"
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr "       --no-passive-ftp        disable the \"passive\" mode trasfer.\n"
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         ketika berekursif, ambil linked-to files "
+"(bukan dir).\n"
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr "       --preserve-permissions  preserver remote file permissions.\n"
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr "Recursive download:\n"
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+"  -r,  --recursive          spesifikasikan untuk mendownload rekursif.\n"
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NUMBER      maksimum kedalaman rekursi (inf atau 0 untuk tak "
+"terhingga).\n"
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       delete files locally sesudah mendownloadnya.\n"
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --conver-links       buat links dalam HTML yang didownload menunjuk "
+"ke file local.\n"
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   sebelum mengubah file X, backup sebagai X.orig.\n"
+
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             shortcut untuk -N -r -l inf --no-remove-"
+"listing.\n"
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    ambil semua gambar, dll. yang diperlukan untuk "
+"menampilkan file HTML.\n"
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    hidupkan strick (SGML) handling dari komentar "
+"HTML.\n"
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr "Recursive diterima/ditolak:\n"
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LIST               list yang dipisahkan oleh koma yang "
+"berisiekstensi yang diterima.\n"
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LIST               list yang dipisahkan oleh koma yang "
+"berisiekstensi yang ditolak.\n"
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LIST              list yang dipisahkan oleh koma yang "
+"berisidomains yang dibolehkan.\n"
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIST      list yang dipisahkan oleh koma yang "
+"berisidomains yang direject/tolak.\n"
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr "       --follow-ftp                ikuti link FTP dari dokumen HTML.\n"
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIST          list yang dipisahkan oleh koma yang "
+"berisitag HTML yang diikuti\n"
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIST          list yang dipisahkan oleh koma yang "
+"berisitag HTML yang diabaikan.\n"
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                pergi ke host asing ketika recursive.\n"
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+"  -L,  --relative                  hanya mengikuti links relative saja.\n"
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+"  -I,  --include-directories=LIST  list dari direktori yang dibolehkan.\n"
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+"  -X,  --exclude-directories=LIST   list dari direktori yang diabaikan.\n"
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 jangan merambah direktori atasnya.\n"
+
+#: src/main.c:630
+msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+msgstr "Laporkan bug dan saran kepada <bug-wget@gnu.org>.\n"
+
+#: src/main.c:635
+#, c-format
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, adalah sebuah non-interaktif network retriever.\n"
+
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Hak Cipta (C) 2005 Free Software Foundation, Inc.\n"
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Originalnya ditulis oleh Hrvoje Niksic <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
+#, c-format
+msgid "Try `%s --help' for more options.\n"
+msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n"
+
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: illegal opsi -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
+msgid "Can't be verbose and quiet at the same time.\n"
+msgstr "Tidak dapat verbose dan quiet pada waktu bersamaan.\n"
+
+#: src/main.c:865
+#, c-format
+msgid "Can't timestamp and not clobber old files at the same time.\n"
+msgstr ""
+"Tidak dapat timestamp dan tidak menclobber file lama pada waktu bersamaan.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr "Tidak dapat menspesifikasikan berdua --inet4-only dan --inet6-only.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, fuzzy, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Tidak dapat menspesifikasikan berdua --inet4-only dan --inet6-only.\n"
+
+#: src/main.c:899
+#, c-format
+msgid "%s: missing URL\n"
+msgstr "%s: hilang URL\n"
+
+#: src/main.c:1025
+#, c-format
+msgid "No URLs found in %s.\n"
+msgstr "Tidak ada URLs yang ditemukan dalam %s.\n"
+
+#: src/main.c:1043
+#, fuzzy, c-format
+msgid ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+msgstr ""
+"\n"
+"SELESAI --%s--\n"
+"Terdownload: %s bytes dalam %d files\n"
+
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Download quota (%s bytes) DILEWATI!\n"
+
+#: src/mswindows.c:99
+#, c-format
+msgid "Continuing in background.\n"
+msgstr "Melanjutkan di background.\n"
+
+#: src/mswindows.c:292
+#, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Melanjutkan di background, pid %lu.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
+#, c-format
+msgid "Output will be written to `%s'.\n"
+msgstr "Output akan ditulis pada `%s'.\n"
+
+#: src/mswindows.c:462 src/mswindows.c:469
+#, c-format
+msgid "%s: Couldn't find usable socket driver.\n"
+msgstr "%s: Tidak dapat mencari driver socket yang berguna.\n"
+
+#: src/netrc.c:373
+#, c-format
+msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
+msgstr ""
+"%s: %s:%d: peringatan: \"%s\" token terlihat sebelum nama mesin lainnya\n"
+
+#: src/netrc.c:404
+#, c-format
+msgid "%s: %s:%d: unknown token \"%s\"\n"
+msgstr "%s: %s:%d: token tidak diketahui \"%s\"\n"
+
+#: src/netrc.c:468
+#, c-format
+msgid "Usage: %s NETRC [HOSTNAME]\n"
+msgstr "Penggunaan: %s NETRC [HOSTNAME]\n"
+
+#: src/netrc.c:478
+#, c-format
+msgid "%s: cannot stat %s: %s\n"
+msgstr "%s: tidak dapat melihat statistik %s: %s\n"
+
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr "PERINGATAN: menggunakan nilai random yang lemah.\n"
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Tidak dapat seed PRNG; pertimbangkan menggunakan --random-file.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr "ERROR"
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr "PERINGATAN"
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr "%s: Tidak ada certificate yang di berikan oleh %s.\n"
+
+#: src/openssl.c:518
+#, fuzzy, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: Tidak ada certificate yang di berikan oleh %s.\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: certificate common name `%s' tidak cocok dengan yang diberikan oleh "
+"hostname `%s'.\n"
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+"Untuk menghubungi %s secara tidak secure, gunakan `--no-check-certificate'.\n"
+
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ melewatkan %dK ]"
+
+#: src/progress.c:456
+#, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr ""
+"spesifikasi dot style `%s' tidak valid; meninggalkan tanpa mengubahnya.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Tidak dapat memperoleh REALTIME clock frequency: %s\n"
+
+#: src/recur.c:379
+#, c-format
+msgid "Removing %s since it should be rejected.\n"
+msgstr "Menghapus %s karena ini seharusnya direject.\n"
+
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Tidak dapat membuka %s: %s"
+
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "Menload file robot.txt; tolong hiraukan kesalahan.\n"
+
+#: src/retr.c:652
+#, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "Salah dalam parsing proxy URL %s: %s.\n"
+
+#: src/retr.c:660
+#, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Salah dalam proxy URL %s: Harus berupa HTTP.\n"
+
+#: src/retr.c:746
+#, c-format
+msgid "%d redirections exceeded.\n"
+msgstr "%d redirections exceeded.\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Menyerah.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Mencoba lagi.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
+msgid "No error"
+msgstr "Tidak ada kesalahan"
+
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr "Skema tidak disupport"
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Host name tidak valid"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr "Nomor port tidak baik"
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr "User name tidak valid"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr "Alamat numerik IPv6 tidak diselesaikan"
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr "Pengalamatan IPv6 tidak disupport"
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr "Alamat numerik IPv6 tidak valid"
+
+#: src/utils.c:328
+#, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "Melanjutkan di background, pid %d.\n"
+
+#: src/utils.c:376
+#, c-format
+msgid "Failed to unlink symlink `%s': %s\n"
+msgstr "Gagal untuk meng-unlink symlink `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr "%s: %s: Gagal untuk mengalokasikan %ld bytes; kehabisan memori.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Error dalam Set-Cookie, bagian `%s'"
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: Tidak valid extended boolean `%s';\n"
+#~ "gunakan salah satu dari `on', `off', `always', atau `newer'.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr ""
+#~ "  -Y,  --proxy                   secara eksplisit menggunakan proxy.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Program ini didistribusikan dengan harapan akan berguna,\n"
+#~ "TIDAK TERDAPAT GARANSI; bahkan untuk PENJUALAN atau \n"
+#~ "KESESUIAN UNTUK TUJUAN TERTENTU. Lihat GNU General Public Licence\n"
+#~ "untuk informasi selengkapnya.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: Verifikasi Certificate salah untuk %s: %s\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Hubungan ditutup pada byte %s/%s. "
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644 (file)
index 0000000..b26de01
--- /dev/null
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
index ad3750ecf6ba82313aee9dc16efe766d85cdc3ba..17163964c138200c1203edb5faf63de0ed6355e5 100644 (file)
--- a/po/it.po
+++ b/po/it.po
 # Italian messages for wget.
-# Copyright (C) 1998, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1998, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
 # This file is distributed under the same license as the wget package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2004, 2005.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2004, 2005, 2007, 2008.
 # Giovanni Bortolozzo <borto@dei.unipd.it>, 1998.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-08 14:04+0100\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2008-01-15 11:02+0000\n"
 "Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: l'opzione \"%s\" è ambigua\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: l'opzione \"--%s\" non accetta argomenti\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: l'opzione \"%c%s\" non accetta argomenti\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: l'opzione \"%s\" richiede un argomento\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opzione \"--%s\" non riconosciuta\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opzione illecita -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opzione non valida -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'opzione richiede un argomento -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: l'opzione \"-W %s\" non accetta argomenti\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: impossibile risolvere l'indirizzo di bind \"%s\"; bind disabilitato.\n"
+msgstr ""
+"%s: impossibile risolvere l'indirizzo di bind \"%s\"; bind disabilitato.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
-msgstr "Connessione a %s|%s:%d... "
+msgstr "Connessione a %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Connessione a %s:%d..."
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "connesso.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "fallito: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: impossibile risolvere l'indirizzo dell'host \"%s\"\n"
+
+#: src/convert.c:170
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "Convertiti %d file in %.*f secondi.\n"
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Convertiti %d file in %s secondi.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Conversione di %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "niente da fare.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Impossibile convertire i link in %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Impossibile rimuovere \"%s\": %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Impossibile fare il backup di %s in %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Errore in Set-Cookie, campo \"%s\""
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Errore di sintassi in Set-Cookie: %s alla posizione %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "Cookie proveniente da %s ha tentato di impostare il dominio a %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Impossibile aprire il file dei cookies \"%s\": %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Errore scrivendo in \"%s\": %s.\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Errore chiudendo \"%s\": %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Tipo di elencazione (listing) non gestita, provo un parser di liste Unix.\n"
+msgstr ""
+"Tipo di elencazione non gestito, si prova un parser di elencazioni Unix.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+# FIXME: su o presso?
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Indice della directory /%s su %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "data sconosciuta      "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "File        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Directory   "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
-msgstr "Link        "
+msgstr "Collegam.   "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Incerto     "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s byte)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Lunghezza: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) rimanenti"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s rimanenti"
 
 # FIXME
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (non autorevole)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Accesso come utente %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "Errore nella risposta del server, chiusura della connessione di controllo.\n"
+msgstr ""
+"Errore nella risposta del server, chiusura della connessione di controllo.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Errore nel codice di benvenuto del server.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Scrittura non riuscita, chiusura della connessione di controllo.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Il server rifiuta il login.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Login non corretto.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Login eseguito!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Errore del server, impossibile determinare il tipo di sistema.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "fatto.   "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "fatto.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tipo \"%c\" sconosciuto, chiusura della connessione di controllo.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "fatto.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
-msgstr "==> CWD non necessaria.\n"
+msgstr "==> CWD non necessario.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -225,36 +284,35 @@ msgstr ""
 "La directory \"%s\" non esiste.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
-msgstr "==> CWD non necessaria.\n"
+msgstr "==> CWD non necessario.\n"
 
 # GB: initiate = inizializzare
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Impossibile iniziare il trasferimento PASV.\n"
 
 # GB: parse = comprendere
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Impossibile analizzare la risposta PASV.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "impossibile connettersi a %s porta %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Errore di bind (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
-msgstr "Porta non valida.\n"
+msgstr "PORT non valido.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -262,7 +320,7 @@ msgstr ""
 "\n"
 "REST non riuscito, riavvio da capo.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -271,7 +329,7 @@ msgstr ""
 "Il file \"%s\" non esiste.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -280,44 +338,40 @@ msgstr ""
 "Il file o la directory \"%s\" non esiste.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
-msgstr "%s è venuto ad esistenza.\n"
+msgstr "%s è venuto in esistenza.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, chiusura della connessione di controllo.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Connessione dati: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Connessione di controllo chiusa.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Trasferimento dati interrotto.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
-msgstr "Il file \"%s\" esiste già, scaricamento non effettuato.\n"
+msgstr "Il file \"%s\" è già presente, non viene scaricato.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(tentativo:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -326,43 +380,42 @@ msgstr ""
 "%s (%s) - \"%s\" salvato [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Rimozione di %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
-msgstr "Usato \"%s\" come file temporaneo per l'elencazione.\n"
+msgstr "Usato \"%s\" come file di elenco temporaneo.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "\"%s\" rimosso.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "La profondità di ricorsione %d eccede il massimo (%d).\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Il file remoto è più vecchio del file locale \"%s\" -- scaricamento non effettuato.\n"
+msgstr ""
+"Il file remoto è più vecchio del file locale \"%s\" -- non viene scaricato.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
-msgstr "Il file remoto è più recente del file locale \"%s\" -- scaricamento in corso.\n"
+msgstr ""
+"Il file remoto è più recente del file locale \"%s\" -- scaricamento in "
+"corso.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -371,11 +424,11 @@ msgstr ""
 "Le dimensioni non coincidono (locale %s) -- scaricamento in corso.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
-msgstr "Il nome del link simbolico non è valido, ignorato.\n"
+msgstr "Il nome del link simbolico non è valido, saltato.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -384,323 +437,295 @@ msgstr ""
 "Link simbolico già esistente %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Creazione del link simbolico %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Link simbolici non gestiti, link \"%s\" ignorato.\n"
+msgstr "Link simbolici non gestiti, link \"%s\" saltato.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
-msgstr "Directory \"%s\" ignorata.\n"
+msgstr "Directory \"%s\" saltata.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tipo di file sconosciuto/non gestito.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: timestamp danneggiato.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Le directory non verranno scaricate perché la loro profondità è %d (max %d).\n"
+msgstr ""
+"Le directory non verranno scaricate perché la loro profondità è %d (max %"
+"d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Non scendo nella directory \"%s\" perché è esclusa/non inclusa.\n"
+msgstr "Non si discende nella directory \"%s\" perché è esclusa/non inclusa.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "\"%s\" rifiutato.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Errore scrivendo in \"%s\": %s.\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Nessun corrispondenza con il modello \"%s\".\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Indice in formato HTML scritto in \"%s\" [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Indice in formato HTML scritto in \"%s\".\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'opzione \"%s\" è ambigua\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione \"--%s\" non accetta argomenti\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione \"%c%s\" non accetta argomenti\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'opzione \"%s\" richiede un argomento\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opzione \"--%s\" non riconosciuta\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opzione illecita -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opzione non valida -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'opzione richiede un argomento -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'opzione \"-W %s\" non accetta argomenti\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Host sconosciuto"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
-msgstr "Risoluzione del nome fallita temporaneamente"
+msgstr "Risoluzione del nome temporaneamente fallita"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Errore sconosciuto"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
-msgstr "Risoluzione di %s in corso... "
+msgstr "Risoluzione di %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "fallito: nessun indirizzo IPv4/IPv6 per l'host.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "fallito: tempo scaduto.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: impossibile risolvere il link incompleto %s.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: URL non valido %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Scrittura della richiesta HTTP non riuscita: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
-msgstr "Nessun header, si assume HTTP/0.9"
+msgstr "Nessuna intestazione, si assume HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "SSL disabilitato a causa di errori.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "File di dati POST \"%s\" mancante: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Riutilizzo della connessione esistente a %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Lettura della risposta del proxy non riuscita: %s.\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Proxy tunneling non riuscito: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
-msgstr "%s richiesta inviata, aspetto la risposta... "
+msgstr "%s richiesta inviata, in attesa di risposta... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Nessun dato ricevuto.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
-msgstr "Errore di lettura degli header (%s).\n"
+msgstr "Errore di lettura nelle intestazioni (%s).\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Il file \"%s\" è già presente, non viene scaricato.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Schema di autotentificazione sconosciuto.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Autorizzazione fallita.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Riga di stato malformata"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(nessuna descrizione)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Posizione: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "non specificato"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [segue]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-"    Il file è già completamente scaricato; niente da fare.\n"
+"    Il file è già interamente scaricato; niente da fare.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Lunghezza: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignorato"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Salvataggio in: \"%s\"\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Attenzione: i metacaratteri non sono supportati in HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr ""
-"Il file \"%s\" esiste già, scaricamento non effettuato.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Modalità spider abilitata. Controllare se il file remoto esiste.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Impossibile scrivere in \"%s\" (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Impossibile stabilire una connessione SSL.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
-msgstr "ERRORE: redirezione (%d) senza posizione.\n"
+msgstr "ERRORE: redirezione (%d) senza posizione di destinazione.\n"
+
+# FIXME
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Il file remoto non esiste -- collegamento rotto!!!\n"
 
-#: src/http.c:2290
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERRORE %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Header Last-modified mancante -- date disattivate.\n"
+msgstr "Intestazione Last-modified mancante -- timestamp disattivati.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Header Last-modified non valido -- data ignorata.\n"
+msgstr "Intestazione Last-modified non valido -- timestamp ignorato.\n"
 
 # Perché "server file" e non "remote file"? C'è differenza?
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
-msgstr "Il file del server è più vecchio del file locale \"%s\" -- scaricamento non effettuato.\n"
+msgstr ""
+"Il file del server è più vecchio del file locale \"%s\" -- non viene "
+"scaricato.\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Le dimensioni non coincidono (locale %s) -- scaricamento in corso.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Il file remoto è più recente, scaricamento in corso.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Il file remoto esiste e potrebbe contenere collegamenti ad altre risorse -- "
+"scaricamento in corso.\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Il file remoto esiste ma non contiene collegamenti -- non viene scaricato.\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Il file remoto esiste ma la ricorsione è disabilitata -- non viene "
+"scaricato.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -709,112 +734,105 @@ msgstr ""
 "%s (%s) - \"%s\" salvato [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Connessione chiusa al byte %s. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Connessione chiusa al byte %s/%s. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Errore di lettura al byte %s (%s). "
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Errore di lettura al byte %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC punta a %s, che non esiste.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: impossibile leggere %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: errore in %s alla riga %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: errore di sintassi in %s alla riga %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: comando sconosciuto \"%s\" in %s alla riga %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Attenzione: il file wgetrc di sistema e quello personale puntano entrambi a \"%s\".\n"
+msgstr ""
+"%s: Attenzione: il file wgetrc di sistema e quello personale puntano "
+"entrambi a \"%s\".\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: comando \"%s\" passato a --execute non valido\n"
 
 # FIXME: boolean: booleano? logico?
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
-msgstr "%s: %s: valore logico \"%s\" non valido, usare \"on\" oppure \"off\".\n"
-
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
 msgstr ""
-"%s: %s: valore logico esteso \"%s\" non valido,\n"
-"usare \"on\", \"off\", \"always\" o \"never\".\n"
+"%s: %s: valore logico \"%s\" non valido, usare \"on\" oppure \"off\".\n"
 
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: numero \"%s\" non valido.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: valore di byte \"%s\" non valido\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: periodo di tempo \"%s\" non valido\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: valore \"%s\" non valido.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
-msgstr "%s: %s: header \"%s\" non valido.\n"
+msgstr "%s: %s: intestazione \"%s\" non valida.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: tipo di progresso \"%s\" non valido.\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: restrizione \"%s\" non valida, usare \"unix\" o \"windows\".\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: restrizione \"%s\" non valida, usare [unix|windows],[lowercase|"
+"uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -823,9 +841,7 @@ msgstr ""
 "\n"
 "%s ricevuti, output redirezionato su \"%s\".\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -834,340 +850,440 @@ msgstr ""
 "\n"
 "%s ricevuto.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; logging disabilitato.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Uso: %s [OPZIONE]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
+"corte.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Avvio:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           mostra la versione di Wget ed esce.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              mostra questo aiuto.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        va in background dopo l'avvio.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-msgstr "  -e,  --execute=COMANDO   esegue COMANDO come se fosse scritto in \".wgetrc\".\n"
+msgstr ""
+"  -e,  --execute=COMANDO   esegue COMANDO come se fosse scritto in \".wgetrc"
+"\".\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "File di log e di input:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=FILE    registra i messaggi su FILE.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=FILE  accoda i messaggi a FILE.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug               mostra le informazioni di debug.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+"       --wdebug              mostra le informazioni di debug Watt-32.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               silenzioso (nessun output).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             prolisso (predefinito).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr "  -nv, --no-verbose          meno prolisso, ma non silenzioso.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=FILE     scarica gli URL scritti in FILE.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          tratta il file di input come HTML.\n"
 
 # NdT: tradotta consultando "man wget".
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"  -B,  --base=URL            aggiunge URL ai link relativi quando si usa -F \n"
+"  -B,  --base=URL            aggiunge URL ai link relativi quando si usa -"
+"F \n"
 "                             sul file indicato con -i.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Scaricamento:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=NUMERO           imposta il NUMERO di tentativi (0 = illimitati).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NUMERO           imposta il NUMERO di tentativi (0 = "
+"illimitati).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused      riprova anche se la connessione è rifiutata.\n"
+msgstr ""
+"       --retry-connrefused      riprova anche se la connessione è "
+"rifiutata.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
-msgstr "  -O   --output-document=FILE   scrive tutti i documenti in un singolo FILE.\n"
+msgstr ""
+"  -O   --output-document=FILE   scrive tutti i documenti in un singolo "
+"FILE.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr "  -nc, --no-clobber             non scaricare file già esistenti.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr ""
 "  -c,  --continue               riprende a scaricare un file parzialmente\n"
 "                                scaricato.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=TIPO          sceglie il TIPO di misurazione di progresso.\n"
+msgstr ""
+"       --progress=TIPO          sceglie il TIPO di misurazione di "
+"progresso.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping           non scarica file più vecchi di quelli locali.\n"
+msgstr ""
+"  -N,  --timestamping           non scarica file più vecchi di quelli "
+"locali.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response        mostra le risposte del server.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                 non scarica niente.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
 msgstr "  -T,  --timeout=SECONDI        imposta tutti i timeout a SECONDI.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
 msgstr ""
-"       --dns-timeout=SECONDI    imposta il timeout per la risoluzione del DNS\n"
+"       --dns-timeout=SECONDI    imposta il timeout per la risoluzione del "
+"DNS\n"
 "                                a SECONDI.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SECONDI imposta il timeout di connessione a SECONDI.\n"
+msgstr ""
+"       --connect-timeout=SECONDI imposta il timeout di connessione a "
+"SECONDI.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=SECONDI   imposta il timeout di lettura a SECONDI.\n"
+msgstr ""
+"       --read-timeout=SECONDI   imposta il timeout di lettura a SECONDI.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SECONDI           aspetta SECONDI tra i vari download.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
 "       --waitretry=SECONDI      aspetta 1...SECONDI tra i tentativi di\n"
 "                                scaricamento.\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait            aspetta tra 0...2*WAIT secondi tra scaricamenti.\n"
-
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                  attiva esplicitamente l'uso del proxy.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait            aspetta tra 0...2*WAIT secondi tra "
+"scaricamenti.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
-msgstr "       --no-proxy               disattiva esplicitamente l'uso del proxy.\n"
+msgstr ""
+"       --no-proxy               disattiva esplicitamente l'uso del proxy.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=NUMERO           imposta la quota di scaricamento a NUMERO.\n"
+msgstr ""
+"  -Q,  --quota=NUMERO           imposta la quota di scaricamento a NUMERO.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
 msgstr ""
 "       --bind-address=INDIRIZZO lega l'INDIRIZZO (nome dell'host o IP)\n"
 "                                all'host locale.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=VELOCITÀ    limita la VELOCITÀ di scaricamento in byte.\n"
+msgstr ""
+"       --limit-rate=VELOCITÀ    limita la VELOCITÀ di scaricamento in byte.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache           disattiva la cache per la risoluzione del DNS.\n"
+msgstr ""
+"       --no-dns-cache           disattiva la cache per la risoluzione del "
+"DNS.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
-"       --restrict-file-names=SO limita i caratteri nei nomi dei file a quelli\n"
+"       --restrict-file-names=SO limita i caratteri nei nomi dei file a "
+"quelli\n"
 "                                permessi dal sistema operativo SO indicato.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case           ignora maiuscole/minuscole nei file/"
+"directory.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only             si connette solo a indirizzi IPv4.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only             si connette solo a indirizzi IPv6.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=FAMIGLIA  si connette di preferenza ad indirizzi della\n"
+"       --prefer-family=FAMIGLIA  si connette di preferenza ad indirizzi "
+"della\n"
 "                                 FAMIGLIA specificata (IPv6, IPv4 o none).\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=UTENTE             imposta il nome utente ftp e http a UTENTE.\n"
+msgstr ""
+"       --user=UTENTE             imposta il nome utente ftp e http a "
+"UTENTE.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=PASS           imposta la password ftp e http a PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=PASS           imposta la password ftp e http a PASS.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Directory:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           non crea directory.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        forza la creazione di directory.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories      non crea directory sull'host.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     usa il nome di protocollo nelle directory.\n"
+msgstr ""
+"       --protocol-directories     usa il nome di protocollo nelle "
+"directory.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PREFISSO   salva i file in PREFISSO/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
 msgstr ""
-"       --cut-dirs=NUMERO             ignora NUMERO componenti delle directory\n"
+"       --cut-dirs=NUMERO             ignora NUMERO componenti delle "
+"directory\n"
 "                                     remote.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "Opzioni HTTP:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=UTENTE      imposta l'utente http a UTENTE.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-passwd=PASS      imposta la password http a PASS.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              non permette la cache dei dati sul server.\n"
+msgstr ""
+"       --no-cache              non permette la cache dei dati sul server.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension      salva con estensione \".html\" i documenti HTML.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension      salva con estensione \".html\" i documenti "
+"HTML.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length       ignora il campo Content-Length degli header.\n"
+msgstr ""
+"       --ignore-length       ignora il campo Content-Length nelle "
+"intestazioni.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=STRINGA      inserisce STRINGA tra gli header.\n"
+msgstr "       --header=STRINGA      inserisce STRINGA tra le intestazioni.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          massimo numero di redirezioni per pagina.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=UTENTE   imposta il nome utente per il proxy a UTENTE.\n"
+msgstr ""
+"       --proxy-user=UTENTE   imposta il nome utente per il proxy a UTENTE.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
-msgstr "       --proxy-passwd=PASS   imposta la password per il proxy a PASS.\n"
+msgstr ""
+"       --proxy-passwd=PASS   imposta la password per il proxy a PASS.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr ""
-"       --referer=URL         include l'header \"Referer: URL\" nella richiesta\n"
-"                             HTTP.\n"
+"       --referer=URL         include l'intestazione \"Referer: URL\" nella\n"
+"                             richiesta HTTP.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
-msgstr "       --save-headers        salva gli header HTTP su file.\n"
+msgstr "       --save-headers        salva le intestazioni HTTP su file.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
 msgstr ""
 "  -U,  --user-agent=AGENTE   si identifica come AGENTE invece che come\n"
 "                             Wget/VERSIONE.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
 msgstr ""
 "       --no-http-keep-alive  disabilita l'HTTP keep-alive (connessioni\n"
 "                             persistenti).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            non usa i cookies.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=FILE   carica i cookies dal FILE prima della sessione.\n"
+msgstr ""
+"       --load-cookies=FILE   carica i cookies dal FILE prima della "
+"sessione.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=FILE   salva i cookies sul FILE dopo la sessione.\n"
+msgstr ""
+"       --save-cookies=FILE   salva i cookies sul FILE dopo la sessione.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
 msgstr ""
 "       --keep-session-cookies  carica e salva i cookies per la sessione\n"
 "                               (non permanenti).\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=STRINGA   usa il metodo POST; spedisce STRINGA come dati.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRINGA   usa il metodo POST; spedisce STRINGA come "
+"dati.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=FILE      usa il metodo POST; spedisce i contenuti del FILE.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FILE      usa il metodo POST; spedisce i contenuti del "
+"FILE.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   onora l'intestazione Content-Disposition "
+"quando\n"
+"                               si scelgono nomi di file locali "
+"(SPERIMENTALE).\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "Opzioni HTTPS (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
@@ -1175,210 +1291,278 @@ msgstr ""
 "       --secure-protocol=PROT.  sceglie il protocollo sicuro, uno tra auto,\n"
 "                                SSLv2, SSLv3,e TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   non valida il certificato del server.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   non valida il certificato del server.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=FILE       file di certificato del client.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TIPO  tipo di certificato del client, PEM o DER.\n"
+msgstr ""
+"       --certificate-type=TIPO  tipo di certificato del client, PEM o DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FILE       file della chiave privata.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TIPO  tipo di chiave privata, PEM o DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
-msgstr ""
+msgstr "       --ca-certificate=FILE    file con il bundle dei CA.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=DIR       directory dove è memorizzata la lista dei CA.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=DIR       directory dove è memorizzata la lista dei "
+"CA.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
 msgstr ""
 "       --random-file=FILE       file con dati casuali per inizializzare\n"
 "                                SSL PRNG.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr ""
+"       --egd-file=FILE          file col nome del socket EGD con dati "
+"casuali.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "Opzioni FTP:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=UTENTE       imposta l'utente ftp a UTENTE.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=PASS     imposta la password ftp a PASS.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     non elimina i file \".listing\".\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob              disabilita il globbing FTP dei nome di file.\n"
+msgstr ""
+"       --no-glob              disabilita il globbing FTP dei nome di file.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        disabilita la modalità di trasferimento passiva.\n"
+msgstr ""
+"       --no-passive-ftp        disabilita la modalità di trasferimento "
+"passiva.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
 "       --retr-symlinks        scarica i file (non le directory) puntati dai\n"
-"                              link simbolici quando si è in modalità ricorsiva.\n"
+"                              link simbolici quando si è in modalità "
+"ricorsiva.\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr "       --preserve-permissions  preserva i permessi remoti dei file.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Scaricamento ricorsivo:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          scaricamento ricorsivo.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
 msgstr ""
 "  -l,  --level=NUMERO       profondità massima di ricorsione\n"
 "                            (inf o 0 = illimitata).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after         elimina localmente i file dopo averli scaricati.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after         elimina localmente i file dopo averli "
+"scaricati.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr "  -k,  --convert-links        converte i link assoluti in relativi.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted     salva il file X come X.orig prima di convertirlo.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted     salva il file X come X.orig prima di "
+"convertirlo.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror               scorciatoia per -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror               scorciatoia per -N -r -l inf --no-remove-"
+"listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
-"  -p,  --page-requisites      scarica tutte le immagini, ecc, necessarie per\n"
+"  -p,  --page-requisites      scarica tutte le immagini, ecc, necessarie "
+"per\n"
 "                              visualizzare la pagina HTML.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments      tratta i commenti HTML in modalità strict (SGML).\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments      tratta i commenti HTML in modalità strict "
+"(SGML).\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Accetto/rifiuto ricorsivo:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr ""
-"  -A,  --accept=LISTA                lista di estensioni accettate, separate da\n"
+"  -A,  --accept=LISTA                lista di estensioni accettate, separate "
+"da\n"
 "                                     virgole.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr ""
-"  -R,  --reject=LISTA                lista di estensioni rifiutate, separate da\n"
+"  -R,  --reject=LISTA                lista di estensioni rifiutate, separate "
+"da\n"
 "                                     virgole.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
 "  -D,  --domains=LISTA               lista di domini accettati, separati da\n"
 "                                     virgole.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
-"       --exclude-domains=LISTA       lista di domini rifiutati, separati da \n"
+"       --exclude-domains=LISTA       lista di domini rifiutati, separati "
+"da \n"
 "                                     virgole.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                  segue i link FTP dai documenti HTML.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                  segue i link FTP dai documenti HTML.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr ""
-"       --follow-tags=LISTA           lista di tag HTML, separati da virgole,\n"
-"                                     che vengono seguiti nello scaricamento.\n"
+"       --follow-tags=LISTA           lista di tag HTML, separati da "
+"virgole,\n"
+"                                     che vengono seguiti nello "
+"scaricamento.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
-"       --ignore-tags=LISTA           lista di tag HTML, separati da virgole,\n"
+"       --ignore-tags=LISTA           lista di tag HTML, separati da "
+"virgole,\n"
 "                                     che vengono ignorati.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr ""
 "  -H,  --span-hosts                  visita anche altri host quando si è in\n"
 "                                     modalità ricorsiva.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                    segue solo i link relativi.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=LISTA   lista di directory permesse.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LISTA   lista di directory escluse.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                   non risale alla directory superiore.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                   non risale alla directory superiore.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Inviare segnalazioni di bug e suggerimenti a <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, un programma non interattivo per scaricare file dalla rete.\n"
+msgstr ""
+"GNU Wget %s, un programma non interattivo per scaricare file dalla rete.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Questo programma è distribuito nella speranza che possa essere utile,\n"
-"ma SENZA ALCUNA GARANZIA; anche senza la garanzia implicita di\n"
-"COMMERCIABILITÀ o di IDONEITÀ AD UNO SCOPO PARTICOLARE.\n"
-"Si consulti la GNU General Public License per maggiori dettagli.\n"
-
-#: src/main.c:665
+"Licenza GPLv3+: GNU GPL versione 3 o successiva\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Questo è software libero: siete liberi di modificarlo e redistribuirlo.\n"
+"Non c'è ALCUNA GARANZIA, negli estremi permessi dalla legge.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1386,154 +1570,179 @@ msgstr ""
 "\n"
 "Scritto da Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Attualmente mantenuto da Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Usare \"%s --help\" per ulteriori opzioni.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: opzione illecita -- \"-n%c\"\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Impossibile essere prolisso e silenzioso allo stesso tempo.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Impossibile impostare le date senza allo stesso tempo modificare i file.\n"
+msgstr ""
+"Impossibile impostare le date senza allo stesso tempo modificare i file.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Impossibile specificare --inet4-only e --inet6-only simultaneamente.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Impossibile specificare -r, -p o -N se -0 è usato.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+"Impossibile specificare -k e -0 simultaneamente se sono forniti URL "
+"multipli.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL mancante\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Nessun URL trovato in %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "TERMINATO --%s--\n"
-"Scaricati: %s byte in %d file\n"
+"Scaricati: %d file, %s in %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Quota di scaricamento (%s byte) SUPERATA!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Quota di scaricamento di %s SUPERATA!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Prosecuzione in background.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Prosecuzione in background, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "L'output sarà scritto su \"%s\".\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: impossibile trovare un driver per i socket utilizzabile.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: attenzione: \"%s\" appare prima di un nome di macchina\n"
 
 # token: termine?
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: termine \"%s\" sconosciuto\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Uso: %s NETRC [HOSTNAME]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: stat di %s non riuscita: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "ATTENZIONE: si sta usando un seme casuale debole.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "Impossibile inizializzare PRNG; considerare l'utilizzo di --random-file.\n"
+msgstr ""
+"Impossibile inizializzare PRNG; considerare l'utilizzo di --random-file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "ERRORE"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "AVVERTIMENTO"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: nessun certificato presentato da %s.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: errore di verifica del certificato per %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+"%s: impossibile verificare il certificato di %s, rilasciato da \"%s\":\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Impossibile verificare localmente l'autorità dell'emittente.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Trovato certificato auto-firmato.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Il certificato rilasciato non è ancora valido.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Il certificato rilasciato è scaduto.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: il nome comune di certificato \"%s\" non corrisponde al nome dell'host richiesto \"%s\".\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: il nome comune di certificato \"%s\" non corrisponde al nome dell'host "
+"richiesto \"%s\".\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Per connettersi a %s in modo non sicuro, usare \"--no-check-certificate\".\n"
+msgstr ""
+"Per connettersi a %s in modo non sicuro, usare \"--no-check-certificate\".\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ %dK ignorato ]"
+"%*s[ %sK ignorato ]"
 
 # Da man wget:
 # Use --progress=dot to switch to the ``dot'' display.  It traces the
@@ -1543,48 +1752,57 @@ msgstr ""
 # When using the dotted retrieval, you may also set the style by
 # specifying the type as dot:style.
 #
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Stile di progresso \"%s\" non valido; lasciato invariato.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+# FIXME
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  est %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   in "
+
+# FIXME
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
-msgstr ""
+msgstr "Impossibile ottenere la frequenza di clock REALTIME: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Rimozione di %s poiché deve essere rifiutato.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Impossibile aprire %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Caricamento di robots.txt; ignorare eventuali errori.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Errore analizzando l'URL del proxy %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Errore nell'URL del proxy %s: deve essere HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "superate %d redirezioni.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1592,7 +1810,7 @@ msgstr ""
 "Rinuncio.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1600,50 +1818,82 @@ msgstr ""
 "Altro tentativo in corso.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Nessun collegamento rotto trovato.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] "Trovato %d collegamento rotto.\n"
+msgstr[1] "Trovati %d collegamenti rotti.\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Nessun errore"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Schema non supportato"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Nome dell'host non valido"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Numero di porta non valido"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Nome utente non valido"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Indirizzo numerico IPv6 non terminato"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Indirizzo IPv6 non supportato"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Indirizzo numerico IPv6 non valido"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Prosecuzione in background, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Rimozione del link simbolico \"%s\" non riuscita: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: allocazione di %ld byte non riuscita; memoria esaurita.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr ""
+#~ "  -Y,  --proxy                  attiva esplicitamente l'uso del proxy.\n"
+
+#~ msgid ""
+#~ "       --no-content-disposition  don't honor Content-Disposition header.\n"
+#~ msgstr ""
+#~ "       --no-content-disposition  non onora l'header Content-Disposition.\n"
index 7a5e9eb6887b33c9371dc46225dd26fbdaaf8867..d649d11cefd3e4c68e82e99c7c9f1d46b412dde1 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
 # Japanese messages for GNU Wget.
 # Copyright (C) 1998 Free Software Foundation, Inc.
-# Hiroshi Takekawa <sian@big.or.jp>, 2000-2005
+# Hiroshi Takekawa <sian@big.or.jp>, 2000-2007
 # Originally translated by Penguin Kun <penguin-kun@geocities.com>, 1998
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-09 02:29+0900\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-13 22:58+0900\n"
 "Last-Translator: Hiroshi Takekawa <sian@big.or.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=EUC-JP\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=0;\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó `--%s' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤»¤ó\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó `%c%s' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤»¤ó\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: `--%s' ¤Ïǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: `%c%s' ¤Ïǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹ -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: ¥Ð¥¤¥ó¥É¤·¤è¤¦¤È¤·¤¿¥¢¥É¥ì¥¹ `%s' ¤ò²ò·è¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿; ¥Ð¥¤¥ó¥É¤ò¶Ø»ß¤·¤Þ¤¹¡£\n"
+msgstr ""
+"%s: ¥Ð¥¤¥ó¥É¤·¤è¤¦¤È¤·¤¿¥¢¥É¥ì¥¹ `%s' ¤ò²ò·è¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿; ¥Ð¥¤¥ó¥É¤ò¶Ø»ß"
+"¤·¤Þ¤¹¡£\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "%s|%s|:%d ¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "%s:%d ¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "Àܳ¤·¤Þ¤·¤¿¡£\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "¼ºÇÔ¤·¤Þ¤·¤¿: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: ¥Û¥¹¥È¥¢¥É¥ì¥¹ `%s' ¤ò²ò·è¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
+
+#: src/convert.c:170
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "%d ¸Ä¤Î¥Õ¥¡¥¤¥ë¤ò %.*f ÉäÇÊÑ´¹¤·¤Þ¤·¤¿¡£\n"
+msgid "Converted %d files in %s seconds.\n"
+msgstr "%d ¸Ä¤Î¥Õ¥¡¥¤¥ë¤ò %s ÉäÇÊÑ´¹¤·¤Þ¤·¤¿¡£\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "%s ¤òÊÑ´¹¤·¤Æ¤¤¤Þ¤¹... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "¤Ê¤Ë¤â¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "`%s' Ãæ¤Î¥ê¥ó¥¯¤òÊÑ´¹¤Ç¤­¤Þ¤»¤ó: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "`%s' ¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "%s ¤ò %s ¤È¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ç¤­¤Þ¤»¤ó: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Set-Cookie¤Î¥Õ¥£¡¼¥ë¥É `%s' ¤Ë´Ö°ã¤¤¤¬¤¢¤ê¤Þ¤¹¡£"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Set-Cookie: %s ¤Î°ÌÃÖ %d ¤Ë¤Ïʸˡ¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "%s ¤«¤é¤Î¥¯¥Ã¥­¡¼¤¬¥É¥á¥¤¥ó¤ò %s ¤ËÀßÄꤷ¤è¤¦¤È¤·¤Þ¤·¤¿\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "¥¯¥Ã¥­¡¼¥Õ¥¡¥¤¥ë `%s' ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "`%s' ¤Ø½ñ¤­¹þ¤á¤Þ¤»¤ó: %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "`%s' ¤òÊĤ¸¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥ê¥¹¥È·Á¼°¤Ç¤¹¡¢UNIX·Á¼°¤È¸«¤Æ²ò¼á¤·¤Æ¤ß¤Þ¤¹¡£\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s (%s:%d ¾å)¤Î¸«½Ð¤·(index)¤Ç¤¹"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "»þ´Ö¤¬ÉÔÌÀ¤Ç¤¹       "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "¥Õ¥¡¥¤¥ë        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê   "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "¥ê¥ó¥¯        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "ÉԳμ    "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s ¥Ð¥¤¥È)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Ťµ: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) »Ä¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s »Ä¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (³Î¾Ú¤Ï¤¢¤ê¤Þ¤»¤ó)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "%s ¤È¤·¤Æ¥í¥°¥¤¥ó¤·¤Æ¤¤¤Þ¤¹... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "¥µ¡¼¥Ð¤Î±þÅú¤Ë¥¨¥é¡¼¤¬¤¢¤ë¤Î¤Ç¡¢Àܳ¤ò½ªÎ»¤·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "¥µ¡¼¥Ð¤Î½é´ü±þÅú¤Ë¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤¿¤Î¤Ç¡¢Àܳ¤ò½ªÎ»¤·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "¥µ¡¼¥Ð¤¬¥í¥°¥¤¥ó¤òµñÈݤ·¤Þ¤·¤¿¡£\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "¥í¥°¥¤¥ó¤·¤Þ¤·¤¿!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "¥µ¡¼¥Ð¥¨¥é¡¼¤Ç¡¢¥·¥¹¥Æ¥à¤¬¤Ê¤Ë¤«È½Ê̤Ǥ­¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "´°Î»¤·¤Þ¤·¤¿¡£    "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "´°Î»¤·¤Þ¤·¤¿¡£\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "`%c' ¤ÏÉÔÌÀ¤Ê¼ïÎà¤Ê¤Î¤Ç¡¢Àܳ¤ò½ªÎ»¤·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "´°Î»¤·¤Þ¤·¤¿¡£  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD ¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -223,34 +280,33 @@ msgstr ""
 "`%s' ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD ¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "PASVžÁ÷¤Î½é´ü²½¤¬¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "PASV¤Î±þÅú¤ò²òÀϤǤ­¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "%s:%d ¤ØÀܳ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "¥Ð¥¤¥ó¥É¥¨¥é¡¼¤Ç¤¹ (%s)¡£\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "̵¸ú¤Ê¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -258,7 +314,7 @@ msgstr ""
 "\n"
 "REST¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡¢ºÇ½é¤«¤é»Ï¤á¤Þ¤¹¡£\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -267,7 +323,7 @@ msgstr ""
 "`%s' ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -276,81 +332,76 @@ msgstr ""
 "`%s' ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s ¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s¡¢Àܳ¤ò½ªÎ»¤·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - ¥Ç¡¼¥¿Àܳ: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "À©¸æÍѤÎÀܳ¤òÀÚÃǤ·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "¥Ç¡¼¥¿Å¾Á÷¤òÃæÃǤ·¤Þ¤·¤¿¡£\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ï¤¹¤Ç¤Ë¸ºß¤¹¤ë¤Î¤Ç¡¢¼èÆÀ¤·¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(»î¹Ô:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' ¤òÊݸ¤·¤Þ¤·¤¿ [%s]\n"
+"%s (%s) - `%s' ¤ØÊݸ½ªÎ» [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "%s ¤òºï½ü¤·¤Þ¤·¤¿¡£\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "°ì»þ¥Õ¥¡¥¤¥ë¤ò¥ê¥¹¥È¤¹¤ë¤¿¤á¤Ë `%s' ¤ò»ÈÍѤ·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "`%s' ¤òºï½ü¤·¤Þ¤·¤¿¡£\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "ºÆµ¢¤¹¤ë¿¼¤µ %d ¤¬ºÇÂçÃͤòĶ²á¤·¤Æ¤¤¤Þ¤¹¡£¿¼¤µ¤Ï %d ¤Ç¤¹¡£\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "¥µ¡¼¥Ð¦¤Î¥Õ¥¡¥¤¥ë¤è¤ê¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë `%s' ¤ÎÊý¤¬¿·¤·¤¤¤«Æ±¤¸¤Ê¤Î¤Ç¼èÆÀ¤·¤Þ¤»¤ó¡£\n"
+msgstr ""
+"¥µ¡¼¥Ð¦¤Î¥Õ¥¡¥¤¥ë¤è¤ê¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë `%s' ¤ÎÊý¤¬¿·¤·¤¤¤«Æ±¤¸¤Ê¤Î¤Ç¼èÆÀ¤·"
+"¤Þ¤»¤ó¡£\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -359,8 +410,7 @@ msgstr ""
 "¥µ¡¼¥Ð¦¤Î¥Õ¥¡¥¤¥ë¤ÎÊý¤¬¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë `%s' ¤è¤ê¿·¤·¤¤¤Î¤Ç¼èÆÀ¤·¤Þ¤¹¡£\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -369,11 +419,11 @@ msgstr ""
 "¥µ¥¤¥º¤¬¹ç¤ï¤Ê¤¤¤Î¤Ç(¥í¡¼¥«¥ë¤Ï %s)¡¢¼èÆÀ¤·¤Þ¤¹¡£\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "ÉÔÀµ¤Ê¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯Ì¾¤Ê¤Î¤Ç¡¢¤È¤Ð¤·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -382,242 +432,189 @@ msgstr ""
 "¤¹¤Ç¤Ë %s -> %s ¤È¤¤¤¦Àµ¤·¤¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬¤¢¤ê¤Þ¤¹\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "%s -> %s ¤È¤¤¤¦¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯ `%s' ¤ò¤È¤Ð¤·¤Þ¤¹¡£\n"
+msgstr ""
+"¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯ `%s' ¤ò¤È¤Ð¤·¤Þ"
+"¤¹¡£\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤ò¤È¤Ð¤·¤Þ¤¹¡£\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: ÉÔÌÀ¤Ê¤Þ¤¿¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î¼ïÎà¤Ç¤¹¡£\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: ÆüÉÕ¤¬²õ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "¿¼¤µ¤¬ %d (ºÇÂç %d)¤Ê¤Î¤Ç¥Ç¥£¥ì¥¯¥È¥ê¤òžÁ÷¤·¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "½ü³°¤µ¤ì¤Æ¤¤¤ë¤«´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç `%s' ¤Ë°ÜÆ°¤·¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "`%s' ¤ò½ü³°¤·¤Þ¤¹¡£\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "`%s' ¤Ø½ñ¤­¹þ¤á¤Þ¤»¤ó: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "¥Ñ¥¿¡¼¥ó `%s' ¤ËŬ¹ç¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "`%s' [%s]¤ËÂФ¹¤ëHTML²½¤µ¤ì¤¿¸«½Ð¤·(index)¤ò½ñ¤­¤Þ¤·¤¿¡£\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "`%s' ¤ËÂФ¹¤ëHTML²½¤µ¤ì¤¿¸«½Ð¤·(index)¤ò½ñ¤­¤Þ¤·¤¿¡£\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `--%s' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤»¤ó\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%c%s' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤»¤ó\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: `--%s' ¤Ïǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: `%c%s' ¤Ïǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Ç¤¹\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹ -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "ÉÔÌÀ¤Ê¥Û¥¹¥È¤Ç¤¹"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "̾Á°²ò·èÃæ¤Ë°ì»þŪ¤Ê¼ºÇÔ¤¬È¯À¸¤·¤Þ¤·¤¿"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "ÉÔÌÀ¤Ê¥¨¥é¡¼¤Ç¤¹"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "%s ¤òDNS¤ËÌ䤤¤¢¤ï¤»¤Æ¤¤¤Þ¤¹... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "¼ºÇÔ: ¥Û¥¹¥È¤Ë IPv4/IPv6 ¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "¼ºÇÔ¤·¤Þ¤·¤¿: ¥¿¥¤¥à¥¢¥¦¥È.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: ÉÔ´°Á´¤Ê¥ê¥ó¥¯ %s ¤ò²ò·è¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: %s ¤Ï̵¸ú¤Ê URL ¤Ç¤¹(%s)¡£\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "HTTP ¤Ë¤è¤ëÀܳÍ×µá¤ÎÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "¥Ø¥Ã¥À¤¬¤Ê¤¤¤Î¤Ç¡¢HTTP/0.9 ¤À¤È²¾Äꤷ¤Þ¤¹"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤Î¤Ç SSL ¤ò̵¸ú¤Ë¤·¤Þ¤¹\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "POST ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë `%s' ¤¬¤¢¤ê¤Þ¤»¤ó: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "%s:%d ¤Ø¤ÎÀܳ¤òºÆÍøÍѤ·¤Þ¤¹¡£\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "¥×¥í¥¯¥·¤«¤é¤ÎÆɤ߹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "¥×¥í¥¯¥·¤Î¥È¥ó¥Í¥ê¥ó¥°¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s ¤Ë¤è¤ëÀܳÍ×µá¤òÁ÷¿®¤·¤Þ¤·¤¿¡¢±þÅú¤òÂԤäƤ¤¤Þ¤¹... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "¥Ç¡¼¥¿¤¬¼õ¿®¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "¥Ø¥Ã¥ÀÆâ¤ÇÆɤ߹þ¤ß¥¨¥é¡¼(%s)¤Ç¤¹\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"¥Õ¥¡¥¤¥ë `%s' ¤Ï¤¹¤Ç¤Ë¸ºß¤¹¤ë¤Î¤Ç¡¢¼èÆÀ¤·¤Þ¤»¤ó¡£\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "ÉÔÌÀ¤Êǧ¾Ú·Á¼°¤Ç¤¹¡£\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "ǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "´ñ̯¤Ê¥¹¥Æ¡¼¥¿¥¹¹Ô¤Ç¤¹"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(ÀâÌÀ¤Ê¤·)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "¾ì½ê: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "ÆÃÄê¤Ç¤­¤Þ¤»¤ó"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [³¤¯]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -627,192 +624,211 @@ msgstr ""
 "    ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï´û¤ËÁ´Éô¼èÆÀ¤·¤ª¤ï¤Ã¤Æ¤¤¤Þ¤¹¡£²¿¤â¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Ťµ: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "̵»ë¤·¤Þ¤·¤¿"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "`%s' ¤ËÊݸÃæ\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "·Ù¹ð: HTTP¤Ï¥ï¥¤¥ë¥É¥«¡¼¥É¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
 msgstr ""
-"¥Õ¥¡¥¤¥ë `%s' ¤Ï¤¹¤Ç¤Ë¸ºß¤¹¤ë¤Î¤Ç¡¢¼èÆÀ¤·¤Þ¤»¤ó¡£\n"
-"\n"
+"¥¹¥Ñ¥¤¥À¡¼¥â¡¼¥É¤¬Í­¸ú¤Ç¤¹¡£¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤ë¤«³Îǧ¤·¤Þ¤¹¡£\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "`%s' (%s)¤Ø½ñ¤­¹þ¤á¤Þ¤»¤ó¡£\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "SSL ¤Ë¤è¤ëÀܳ¤¬³ÎΩ¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "¥¨¥é¡¼: ¾ì½ê¤¬Â¸ºß¤·¤Ê¤¤¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó(%d)¤Ç¤¹¡£\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤»¤ó -- ¥ê¥ó¥¯¤¬²õ¤ì¤Æ¤¤¤Þ¤¹!!!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ¥¨¥é¡¼ %d: %s¡£\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Last-modified ¥Ø¥Ã¥À¤¬¤¢¤ê¤Þ¤»¤ó -- ÆüÉÕ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Last-modified ¥Ø¥Ã¥À¤¬Ìµ¸ú¤Ç¤¹ -- ÆüÉÕ¤ò̵»ë¤·¤Þ¤¹¡£\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"¥µ¡¼¥Ð¦¤Î¥Õ¥¡¥¤¥ë¤è¤ê¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë `%s' ¤ÎÊý¤¬¿·¤·¤¤¤Î¤Ç¼èÆÀ¤·¤Þ¤»¤ó¡£\n"
+"¥µ¡¼¥Ð¦¤Î¥Õ¥¡¥¤¥ë¤è¤ê¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë `%s' ¤ÎÊý¤¬¿·¤·¤¤¤Î¤Ç¼èÆÀ¤·¤Þ¤»"
+"¤ó¡£\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Â礭¤µ¤¬¹ç¤ï¤Ê¤¤¤Î¤Ç(¥í¡¼¥«¥ë¤Ï %s)¡¢Å¾Á÷¤·¤Þ¤¹¡£\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤Î¤Û¤¦¤¬¿·¤·¤¤¤Î¤Ç¡¢Å¾Á÷¤·¤Þ¤¹¡£\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¡¢Â¾¤Î¥ê¥½¡¼¥¹¤Ø¤Î¥ê¥ó¥¯¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó -- ¼èÆÀ"
+"Ãæ¡£\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¸ºß¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¥ê¥ó¥¯¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó -- ¼èÆÀ¤·¤Þ¤»"
+"¤ó¡£\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤Ï¸ºß¤·¤Æ¤¤¤Þ¤¹¤¬¡¢ºÆµ¢¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹ -- ¼èÆÀ¤·¤Þ¤»"
+"¤ó¡£\n"
+"\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' ¤òÊݸ¤·¤Þ¤·¤¿ [%s/%s]\n"
+"%s (%s) - `%s' ¤ØÊݸ´°Î» [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - %s ¥Ð¥¤¥È¤ÇÀܳ¤¬½ªÎ»¤·¤Þ¤·¤¿¡£ "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - %s/%s ¥Ð¥¤¥È¤ÇÀܳ¤¬½ªÎ»¤·¤Þ¤·¤¿¡£ "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - %s ¥Ð¥¤¥È¤ÇÆɤ߹þ¤ß¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿ (%s)¡£"
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - %s/%s ¥Ð¥¤¥È¤ÇÆɤ߹þ¤ß¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿ (%s)¡£ "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC ¤¬ %s ¤ò»Ø¤·¤Æ¤¤¤Þ¤¹¤¬, Â¸ºß¤·¤Þ¤»¤ó¡£\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: %s (%s)¤òÆɤ߹þ¤á¤Þ¤»¤ó¡£\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: %s Æâ¤Î %d ¹Ô¤Ç¥¨¥é¡¼¤Ç¤¹\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: %s Æâ¤Î %d ¹Ô¤Çʸˡ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: ¥³¥Þ¥ó¥É `%s' (%s Æâ¡¢%d¹ÔÌÜ) ¤ÏÉÔÌÀ¤Ç¤¹\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: ·Ù¹ð: ¥·¥¹¥Æ¥à¤È¥æ¡¼¥¶¤Îwgetrc¤ÎξÊý¤¬ `%s' ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Ìµ¸ú¤Ê --execute »ØÄê `%s' ¤Ç¤¹¡£\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
-msgstr "%s: %s: `%s'¤Ï¥Ö¡¼¥ëÃͤȤ·¤Æ̵¸ú¤Ç¤¹¡£on ¤« off ¤«¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£\n"
-
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
 msgstr ""
-"%s: %s: `%s'¤Ï³ÈÄ¥¥Ö¡¼¥ëÃͤȤ·¤Æ̵¸ú¤Ç¤¹¡£\n"
-"on, off, always, never ¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£\n"
+"%s: %s: `%s'¤Ï¥Ö¡¼¥ëÃͤȤ·¤Æ̵¸ú¤Ç¤¹¡£on ¤« off ¤«¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: `%s'¤Ï̵¸ú¤Ê¿ô¤Ç¤¹¡£\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: `%s' ¤Ï¥Ð¥¤¥ÈÃͤǤ¹¡£\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: `%s' ¤Ï̵¸ú¤Ê»þ´Ö´Ö³Ö¤Ç¤¹¡£\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: `%s'¤Ï̵¸ú¤ÊÃͤǤ¹¡£\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: `%s' ¤Ï̵¸ú¤Ê¥Ø¥Ã¥À¤Ç¤¹¡£\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: `%s' ¤Ï̵¸ú¤Ê·Ð²áɽ¼¨·Á¼°¤Ç¤¹¡£\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: `%s'¤Ï̵¸ú¤Ç¤¹¡£unix ¤« windows ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: `%s'¤Ï̵¸ú¤Ç¤¹¡£unix ¤« windows¡¢lowercase ¤« uppercase¡¢nocontrol ¤ò"
+"»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -821,9 +837,7 @@ msgstr ""
 "\n"
 "%s ¤ò¼õ¿®¤·¤Þ¤·¤¿¡¢`%s' ¤Ë½ÐÎϤò¥ê¥À¥¤¥ì¥¯¥È¤·¤Þ¤¹¡£\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -832,17 +846,17 @@ msgstr ""
 "\n"
 "%s ¼õ¿®¤·¤Þ¤·¤¿\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; ¥í¥°¼è¤ê¤ò¶Ø»ß¤·¤Þ¤¹¡£\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -850,490 +864,640 @@ msgstr ""
 "Ť¤¥ª¥×¥·¥ç¥ó¤ÇÉԲķç¤Ê°ú¿ô¤Ïû¤¤¥ª¥×¥·¥ç¥ó¤Ç¤âÉԲķç¤Ç¤¹¡£\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "¥¹¥¿¡¼¥È¥¢¥Ã¥×:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              ¤³¤Î¥Ø¥ë¥×¤òɽ¼¨¤¹¤ë\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        ¥¹¥¿¡¼¥È¸å¤Ë¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ë°Ü¹Ô¤¹¤ë\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=COMMAND   `.wgetrc'·Á¼°¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "¥í¥°¤ÈÆþÎÏ¥Õ¥¡¥¤¥ë:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=FILE    ¥í¥°¤ò FILE ¤Ë½ÐÎϤ¹¤ë\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=FILE  ¥á¥Ã¥»¡¼¥¸¤ò FILE ¤ËÄɵ­¤¹¤ë\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug               ¥Ç¥Ð¥Ã¥°¾ðÊó¤òɽ¼¨¤¹¤ë\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              Watt-32¥Ç¥Ð¥Ã¥°¾ðÊó¤òɽ¼¨¤¹¤ë\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               ²¿¤â½ÐÎϤ·¤Ê¤¤\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             ¾éĹ¤Ê½ÐÎϤò¤¹¤ë (¥Ç¥Õ¥©¥ë¥È)\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr "  -nv, --no-verbose          ¾éĹ¤Ç¤Ï¤Ê¤¯¤¹¤ë\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
-msgstr "  -i,  --input-file=FILE     FILE ¤ÎÃæ¤Ë»ØÄꤵ¤ì¤¿ URL ¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë\n"
+msgstr ""
+"  -i,  --input-file=FILE     FILE ¤ÎÃæ¤Ë»ØÄꤵ¤ì¤¿ URL ¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò HTML ¤È¤·¤Æ°·¤¦\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            ÁêÂРURL(-F -i »ÈÍÑ»þ) ¤Î¥Ù¡¼¥¹ URL ¤ò»ØÄꤹ¤ë\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            ÁêÂРURL(-F -i »ÈÍÑ»þ) ¤Î¥Ù¡¼¥¹ URL ¤ò»ØÄꤹ¤ë\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "¥À¥¦¥ó¥í¡¼¥É:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=NUMBER            ¥ê¥È¥é¥¤²ó¿ô¤Î¾å¸Â¤ò»ØÄê (0 ¤Ï̵À©¸Â).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NUMBER            ¥ê¥È¥é¥¤²ó¿ô¤Î¾å¸Â¤ò»ØÄê (0 ¤Ï̵À©¸Â).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
 msgstr "       --retry-connrefused       Àܳ¤òµñÈݤµ¤ì¤Æ¤â¥ê¥È¥é¥¤¤¹¤ë\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O,  --output-document=FILE    FILE ¤Ëʸ½ñ¤ò½ñ¤­¤³¤à\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
-msgstr "  -nc, --no-clobber              Â¸ºß¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤Ç¾å½ñ¤­¤·¤Ê¤¤\n"
+msgstr ""
+"  -nc, --no-clobber              Â¸ºß¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤Ç¾å½ñ¤­¤·"
+"¤Ê¤¤\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                ÉôʬŪ¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤Î³¤­¤«¤é»Ï¤á¤ë\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                ÉôʬŪ¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤Î³¤­¤«¤é»Ï"
+"¤á¤ë\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=TYPE           ¿Ê¹Ôɽ¼¨¥²¡¼¥¸¤Î¼ïÎà¤ò TYPE ¤Ë»ØÄꤹ¤ë\n"
+msgstr ""
+"       --progress=TYPE           ¿Ê¹Ôɽ¼¨¥²¡¼¥¸¤Î¼ïÎà¤ò TYPE ¤Ë»ØÄꤹ¤ë\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping            ¥í¡¼¥«¥ë¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤è¤ê¤â¿·¤·¤¤¥Õ¥¡¥¤¥ë¤À¤±¼èÆÀ¤¹¤ë\n"
+msgstr ""
+"  -N,  --timestamping            ¥í¡¼¥«¥ë¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤è¤ê¤â¿·¤·¤¤¥Õ¥¡¥¤¥ë¤À"
+"¤±¼èÆÀ¤¹¤ë\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         ¥µ¡¼¥Ð¤Î±þÅú¤òɽ¼¨¤¹¤ë\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  ²¿¤â¥À¥¦¥ó¥í¡¼¥É¤·¤Ê¤¤\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SECONDS         Á´¤Æ¤Î¥¿¥¤¥à¥¢¥¦¥È¤ò SECONDS ÉäËÀßÄꤹ¤ë\n"
+msgstr ""
+"  -T,  --timeout=SECONDS         Á´¤Æ¤Î¥¿¥¤¥à¥¢¥¦¥È¤ò SECONDS ÉäËÀßÄꤹ¤ë\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SECS        DNS Ì䤤¹ç¤ï¤»¤Î¥¿¥¤¥à¥¢¥¦¥È¤ò SECS ÉäËÀßÄꤹ¤ë\n"
+msgstr ""
+"       --dns-timeout=SECS        DNS Ì䤤¹ç¤ï¤»¤Î¥¿¥¤¥à¥¢¥¦¥È¤ò SECS ÉäËÀßÄê"
+"¤¹¤ë\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SECS    Àܳ¥¿¥¤¥à¥¢¥¦¥È¤ò SECS ÉäËÀßÄꤹ¤ë\n"
+msgstr ""
+"       --connect-timeout=SECS    Àܳ¥¿¥¤¥à¥¢¥¦¥È¤ò SECS ÉäËÀßÄꤹ¤ë\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=SECS       Æɤ߹þ¤ß¥¿¥¤¥à¥¢¥¦¥È¤ò SECS ÉäËÀßÄꤹ¤ë\n"
+msgstr ""
+"       --read-timeout=SECS       Æɤ߹þ¤ß¥¿¥¤¥à¥¢¥¦¥È¤ò SECS ÉäËÀßÄꤹ¤ë\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SECONDS            ¥À¥¦¥ó¥í¡¼¥ÉËè¤Ë SECONDS ÉÃÂÔ¤Ä\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr "       --waitretry=SECONDS       ¥ê¥È¥é¥¤Ëè¤Ë 1¡ÁSECONDS ÉÃÂÔ¤Ä\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr "       --random-wait             ¥À¥¦¥ó¥í¡¼¥ÉËè¤Ë 0¡Á2*WAIT ÉÃÂÔ¤Ä\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   ¥×¥í¥¯¥·¤ò»È¤¦\n"
-
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                ¥×¥í¥¯¥·¤ò»È¤ï¤Ê¤¤\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=NUMBER            ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¥Ð¥¤¥È¿ô¤Î¾å¸Â¤ò»ØÄꤹ¤ë\n"
+msgstr ""
+"  -Q,  --quota=NUMBER            ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¥Ð¥¤¥È¿ô¤Î¾å¸Â¤ò»ØÄꤹ¤ë\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=ADDRESS    ¥í¡¼¥«¥ë¥¢¥É¥ì¥¹¤È¤·¤Æ ADDRESS (¥Û¥¹¥È̾¤« IP) ¤ò»È¤¦\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADDRESS    ¥í¡¼¥«¥ë¥¢¥É¥ì¥¹¤È¤·¤Æ ADDRESS (¥Û¥¹¥È̾¤« "
+"IP) ¤ò»È¤¦\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr "       --limit-rate=RATE         ¥À¥¦¥ó¥í¡¼¥É®ÅÙ¤ò RATE ¤ËÀ©¸Â¤¹¤ë\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache            DNS ¤ÎÌ䤤¹ç¤ï¤»·ë²Ì¤ò¥­¥ã¥Ã¥·¥å¤·¤Ê¤¤\n"
+msgstr ""
+"       --no-dns-cache            DNS ¤ÎÌ䤤¹ç¤ï¤»·ë²Ì¤ò¥­¥ã¥Ã¥·¥å¤·¤Ê¤¤\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr "       --restrict-file-names=OS  OS ¤¬µö¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë̾¤ËÀ©¸Â¤¹¤ë\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ¥Õ¥¡¥¤¥ë̾/¥Ç¥£¥ì¥¯¥È¥ê̾¤ÎÈæ³Ó¤ÇÂçʸ»ú¾®Ê¸"
+"»ú¤ò̵»ë¤¹¤ë\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              IPv4 ¤À¤±¤ò»È¤¦\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              IPv6 ¤À¤±¤ò»È¤¦\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
-msgstr "       --prefer-family=FAMILY    »ØÄꤷ¤¿¥Õ¥¡¥ß¥ê(IPv6, IPv4, none)¤ÇºÇ½é¤ËÀܳ¤¹¤ë\n"
+msgstr ""
+"       --prefer-family=FAMILY    »ØÄꤷ¤¿¥Õ¥¡¥ß¥ê(IPv6, IPv4, none)¤ÇºÇ½é¤ËÀÜ"
+"³¤¹¤ë\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr "       --user=USER               ftp, http ¤Î¥æ¡¼¥¶Ì¾¤ò»ØÄꤹ¤ë\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr "       --password=PASS           ftp, http ¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ë\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           ¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤é¤Ê¤¤\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        ¥Ç¥£¥ì¥¯¥È¥ê¤ò¶¯À©Åª¤Ëºî¤ë\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories      ¥Û¥¹¥È̾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤é¤Ê¤¤\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
 msgstr "       --protocol-directories     ¥×¥í¥È¥³¥ë̾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ë\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PREFIX  ¥Õ¥¡¥¤¥ë¤ò PREFIX/ °Ê²¼¤ËÊݸ¤¹¤ë\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=NUMBER          ¥ê¥â¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê̾¤Î NUMBER ³¬ÁØʬ¤ò̵»ë¤¹¤ë\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NUMBER          ¥ê¥â¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê̾¤Î NUMBER ³¬ÁØʬ¤ò̵"
+"»ë¤¹¤ë\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP ¥ª¥×¥·¥ç¥ó:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=USER        http ¥æ¡¼¥¶Ì¾¤È¤·¤Æ USER ¤ò»È¤¦\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=PASS    http ¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ PASS ¤ò»È¤¦\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              ¥µ¡¼¥Ð¤¬¥­¥ã¥Ã¥·¥å¤·¤¿¥Ç¡¼¥¿¤òµö²Ä¤·¤Ê¤¤\n"
+msgstr ""
+"       --no-cache              ¥µ¡¼¥Ð¤¬¥­¥ã¥Ã¥·¥å¤·¤¿¥Ç¡¼¥¿¤òµö²Ä¤·¤Ê¤¤\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
 msgstr "  -E,  --html-extension        HTML Ê¸½ñ¤Ï `.html' ³ÈÄ¥»Ò¤ÇÊݸ¤¹¤ë\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
 msgstr "       --ignore-length         `Content-Length' ¥Ø¥Ã¥À¤ò̵»ë¤¹¤ë\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=STRING         Á÷¿®¤¹¤ë¥Ø¥Ã¥À¤Ë STRING ¤òÄɲ乤ë\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr "       --max-redirect          ¥Ú¡¼¥¸¤Çµö²Ä¤¹¤ëºÇÂçžÁ÷²ó¿ô\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=USER       ¥×¥í¥¯¥·¥æ¡¼¥¶Ì¾¤È¤·¤Æ USER ¤ò»È¤¦\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-password=PASS   ¥×¥í¥¯¥·¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ PASS ¤ò»È¤¦\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr "       --referer=URL           Referer ¤ò URL ¤ËÀßÄꤹ¤ë\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          HTTP ¤Î¥Ø¥Ã¥À¤ò¥Õ¥¡¥¤¥ë¤ËÊݸ¤¹¤ë\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT      User-Agent ¤È¤·¤Æ Wget/VERSION ¤Ç¤Ï¤Ê¤¯ AGENT ¤ò»È¤¦\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      User-Agent ¤È¤·¤Æ Wget/VERSION ¤Ç¤Ï¤Ê¤¯ AGENT "
+"¤ò»È¤¦\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    HTTP ¤Î keep-alive (»ý³ŪÀܳ) µ¡Ç½¤ò»È¤ï¤Ê¤¤\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    HTTP ¤Î keep-alive (»ý³ŪÀܳ) µ¡Ç½¤ò»È¤ï¤Ê"
+"¤¤\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            ¥¯¥Ã¥­¡¼¤ò»È¤ï¤Ê¤¤\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
 msgstr "       --load-cookies=FILE     ¥¯¥Ã¥­¡¼¤ò FILE ¤«¤éÆɤߤ³¤à\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
 msgstr "       --save-cookies=FILE     ¥¯¥Ã¥­¡¼¤ò FILE ¤ËÊݸ¤¹¤ë\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  ¥»¥Ã¥·¥ç¥ó¤À¤±¤ÇÍѤ¤¤ë¥¯¥Ã¥­¡¼¤òÊÝ»ý¤¹¤ë\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  ¥»¥Ã¥·¥ç¥ó¤À¤±¤ÇÍѤ¤¤ë¥¯¥Ã¥­¡¼¤òÊÝ»ý¤¹¤ë\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=STRING      POST ¥á¥½¥Ã¥É¤òÍѤ¤¤Æ STRING ¤òÁ÷¿®¤¹¤ë\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRING      POST ¥á¥½¥Ã¥É¤òÍѤ¤¤Æ STRING ¤òÁ÷¿®¤¹¤ë\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FILE        POST ¥á¥½¥Ã¥É¤òÍѤ¤¤Æ FILE ¤ÎÃæÌ£¤òÁ÷¿®¤¹¤ë\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=FILE        POST ¥á¥½¥Ã¥É¤òÍѤ¤¤Æ FILE ¤ÎÃæÌ£¤òÁ÷¿®¤¹¤ë\n"
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   Content-Disposition ¥Ø¥Ã¥À¤¬¤¢¤ì¤Ð\n"
+"                               ¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë̾¤È¤·¤ÆÍѤ¤¤ë (¼Â¸³Åª)\n"
 
-#: src/main.c:547
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL/TLS) ¥ª¥×¥·¥ç¥ó:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
-msgstr "       --secure-protocol=PR     ¥»¥­¥å¥¢¥×¥í¥È¥³¥ë¤òÁªÂò¤¹¤ë (auto, SSLv2, SSLv3, TLSv1)\n"
+msgstr ""
+"       --secure-protocol=PR     ¥»¥­¥å¥¢¥×¥í¥È¥³¥ë¤òÁªÂò¤¹¤ë (auto, SSLv2, "
+"SSLv3, TLSv1)\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr "       --no-check-certificate   ¥µ¡¼¥Ð¾ÚÌÀ½ñ¤ò¸¡¾Ú¤·¤Ê¤¤\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=FILE       ¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤È¤·¤Æ FILE ¤ò»È¤¦\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TYPE  ¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤Î¼ïÎà¤ò TYPE (PEM, DER) ¤ËÀßÄꤹ¤ë\n"
+msgstr ""
+"       --certificate-type=TYPE  ¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤Î¼ïÎà¤ò TYPE (PEM, DER) ¤Ë"
+"ÀßÄꤹ¤ë\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FILE       ÈëÌ©¸°¤È¤·¤Æ FILE ¤ò»È¤¦\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=TYPE  ÈëÌ©¸°¤Î¼ïÎà¤ò TYPE (PEM, DER) ¤ËÀßÄꤹ¤ë\n"
+msgstr ""
+"       --private-key-type=TYPE  ÈëÌ©¸°¤Î¼ïÎà¤ò TYPE (PEM, DER) ¤ËÀßÄꤹ¤ë\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=FILE    CA ¾ÚÌÀ½ñ¤È¤·¤Æ FILE ¤ò»È¤¦\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=DIR       CA ¤Î¥Ï¥Ã¥·¥å¥ê¥¹¥È¤¬ÊÝ»ý¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=DIR       CA ¤Î¥Ï¥Ã¥·¥å¥ê¥¹¥È¤¬ÊÝ»ý¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È"
+"¥ê¤ò»ØÄꤹ¤ë\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=FILE       SSL PRNG ¤Î½é´ü²½¥Ç¡¼¥¿¤Ë»È¤¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FILE       SSL PRNG ¤Î½é´ü²½¥Ç¡¼¥¿¤Ë»È¤¦¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ"
+"¤ë\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr "       --egd-file=FILE          EGD ¥½¥±¥Ã¥È¤È¤·¤Æ FILE ¤ò»È¤¦\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP ¥ª¥×¥·¥ç¥ó:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=USER         ftp ¥æ¡¼¥¶¤È¤·¤Æ USER ¤ò»È¤¦\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=PASS     ftp ¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ PASS ¤ò»È¤¦\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     `.listing' ¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
 msgstr "       --no-glob               FTP ¥Õ¥¡¥¤¥ë̾¤Î¥°¥í¥Ö¤ò̵¸ú¤Ë¤¹¤ë\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr "       --no-passive-ftp        \"passive\" Å¾Á÷¥â¡¼¥É¤ò»È¤ï¤Ê¤¤\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
-msgstr "       --retr-symlinks         ºÆµ¢¼èÆÀÃæ¤Ë¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¥ê¥ó¥¯¤µ¤ì¤¿Àè¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         ºÆµ¢¼èÆÀÃæ¤Ë¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¥ê¥ó¥¯¤µ¤ì¤¿"
+"Àè¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  ¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊݸ¤¹¤ë\n"
+msgstr ""
+"       --preserve-permissions  ¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊݸ¤¹¤ë\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "ºÆµ¢¥À¥¦¥ó¥í¡¼¥É:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          ºÆµ¢¥À¥¦¥ó¥í¡¼¥É¤ò¹Ô¤¦\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=NUMBER       ºÆµ¢»þ¤Î³¬ÁؤκÇÂç¤Î¿¼¤µ¤ò NUMBER ¤ËÀßÄꤹ¤ë (0 ¤Ç̵À©¸Â)\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NUMBER       ºÆµ¢»þ¤Î³¬ÁؤκÇÂç¤Î¿¼¤µ¤ò NUMBER ¤ËÀßÄꤹ¤ë (0 "
+"¤Ç̵À©¸Â)\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after       ¥À¥¦¥ó¥í¡¼¥É½ªÎ»¸å¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       ¥À¥¦¥ó¥í¡¼¥É½ªÎ»¸å¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤òºï"
+"½ü¤¹¤ë\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links      HTML Ãæ¤Î¥ê¥ó¥¯¤ò¥í¡¼¥«¥ë¤ò»Ø¤¹¤è¤¦¤ËÊѹ¹¤¹¤ë\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      HTML Ãæ¤Î¥ê¥ó¥¯¤ò¥í¡¼¥«¥ë¤ò»Ø¤¹¤è¤¦¤ËÊѹ¹¤¹¤ë\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   ¥ê¥ó¥¯ÊÑ´¹Á°¤Î¥Õ¥¡¥¤¥ë¤ò .orig ¤È¤·¤ÆÊݸ¤¹¤ë\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   ¥ê¥ó¥¯ÊÑ´¹Á°¤Î¥Õ¥¡¥¤¥ë¤ò .orig ¤È¤·¤ÆÊݸ¤¹¤ë\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
 msgstr "  -m,  --mirror             -N -r -l 0 --no-remove-listing ¤Î¾Êά·Á\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    HTML ¤òɽ¼¨¤¹¤ë¤Î¤ËɬÍפÊÁ´¤Æ¤Î²èÁüÅù¤â¼èÆÀ¤¹¤ë\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    HTML ¤òɽ¼¨¤¹¤ë¤Î¤ËɬÍפÊÁ´¤Æ¤Î²èÁüÅù¤â¼èÆÀ¤¹¤ë\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
 msgstr "       --strict-comments    HTML Ãæ¤Î¥³¥á¥ó¥È¤Î½èÍý¤ò¸·Ì©¤Ë¤¹¤ë\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "ºÆµ¢¥À¥¦¥ó¥í¡¼¥É»þ¤Î¥Õ¥£¥ë¥¿:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=LIST               ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë³ÈÄ¥»Ò¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ¤ë\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LIST               ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë³ÈÄ¥»Ò¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄê"
+"¤¹¤ë\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=LIST               ¥À¥¦¥ó¥í¡¼¥É¤·¤Ê¤¤³ÈÄ¥»Ò¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ¤ë\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LIST               ¥À¥¦¥ó¥í¡¼¥É¤·¤Ê¤¤³ÈÄ¥»Ò¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»Ø"
+"Äꤹ¤ë\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=LIST              ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¥É¥á¥¤¥ó¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ¤ë\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LIST              ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¥É¥á¥¤¥ó¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»Ø"
+"Äꤹ¤ë\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=LIST      ¥À¥¦¥ó¥í¡¼¥É¤·¤Ê¤¤¥É¥á¥¤¥ó¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ¤ë\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIST      ¥À¥¦¥ó¥í¡¼¥É¤·¤Ê¤¤¥É¥á¥¤¥ó¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç"
+"»ØÄꤹ¤ë\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                HTML Ê¸½ñÃæ¤Î FTP ¥ê¥ó¥¯¤â¼èÆÀÂоݤˤ¹¤ë\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                HTML Ê¸½ñÃæ¤Î FTP ¥ê¥ó¥¯¤â¼èÆÀÂоݤˤ¹¤ë\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=LIST          ¼èÆÀÂоݤˤ¹¤ë¥¿¥°Ì¾¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ¤ë\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIST          ¼èÆÀÂоݤˤ¹¤ë¥¿¥°Ì¾¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ"
+"¤ë\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=LIST          ¼èÆÀÂоݤˤ·¤Ê¤¤¥¿¥°Ì¾¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ¤ë\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIST          ¼èÆÀÂоݤˤ·¤Ê¤¤¥¿¥°Ì¾¤ò¥³¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄê"
+"¤¹¤ë\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                ºÆµ¢Ãæ¤ËÊ̤Υۥ¹¥È¤â¥À¥¦¥ó¥í¡¼¥ÉÂоݤˤ¹¤ë\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                ºÆµ¢Ãæ¤ËÊ̤Υۥ¹¥È¤â¥À¥¦¥ó¥í¡¼¥ÉÂоݤˤ¹"
+"¤ë\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  ÁêÂÐ¥ê¥ó¥¯¤À¤±¼èÆÀÂоݤˤ¹¤ë\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
-msgstr "  -I,  --include-directories=LIST  ¼èÆÀÂоݤˤ¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë\n"
+msgstr ""
+"  -I,  --include-directories=LIST  ¼èÆÀÂоݤˤ¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
-msgstr "  -X,  --exclude-directories=LIST  ¼èÆÀÂоݤˤ·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë\n"
+msgstr ""
+"  -X,  --exclude-directories=LIST  ¼èÆÀÂоݤˤ·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent                 ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ò¼èÆÀÂоݤˤ·¤Ê¤¤\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "¥Ð¥°Êó¹ð¤äÄó°Æ¤Ï<bug-wget@gnu.org>¤Ø\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s, ÈóÂÐÏÃŪ¥Í¥Ã¥È¥ï¡¼¥¯Å¾Á÷¥½¥Õ¥È\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"°Ê²¼¤Ï»²¹ÍÌõ¤Ç¤¹¡£Ë¡Åª¤Ë¤Ï¾å¤Î±Ñʸ¤Ë½¾¤¤¤Þ¤¹¡£\n"
-"\n"
-"¤³¤Î¥×¥í¥°¥é¥à¤ÏÍ­ÍѤȻפï¤ì¤Þ¤¹¤¬ÌµÊݾڤǤ¹¡£\n"
-"¾¦¶ÈÀ­¤äÆÃÄê¤ÎÌÜŪ¤Ë¹çÃפ¹¤ë¤«¤Î°ÅÌÛ¤ÎÊݾڤ⤢¤ê¤Þ¤»¤ó¡£\n"
-"¾ÜºÙ¤ÏGNU°ìÈ̸øÍÑ»ÈÍѵöÂú¤ò¤´Í÷²¼¤µ¤¤¡£\n"
-
-#: src/main.c:665
+"¥é¥¤¥»¥ó¥¹ GPLv3+: GNU GPL ¥Ð¡¼¥¸¥ç¥ó 3 ¤¢¤ë¤¤¤Ï¤½¤ì°Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£¼«Í³¤ËÊѹ¹¡¢ºÆÇÛÉÛ¤¬¤Ç¤­¤Þ¤¹¡£\n"
+"ˡΧ¤¬µö¤¹¤«¤®¤ê¡¢Á´¤¯¤Î̵ÊݾڤǤ¹¡£\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1341,196 +1505,227 @@ msgstr ""
 "\n"
 "Hrvoje Niksic <hniksic@xemacs.org> ¤Ë¤è¤Ã¤Æ½ñ¤«¤ì¤Þ¤·¤¿¡£\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+"¸½ºß¤Ï Micah Cowan <micah@cowan.name> ¤Ë¤è¤Ã¤Æ¥á¥ó¥Æ¥Ê¥ó¥¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "¾Ü¤·¤¤¥ª¥×¥·¥ç¥ó¤Ï `%s --help' ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: `-n%c' ¤ÏÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó»ØÄê¤Ç¤¹\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
-msgstr "½ÐÎϤò¾ÜºÙ¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤È½ÐÎϤòÍÞÀ©¤¹¤ë¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó\n"
+msgstr ""
+"½ÐÎϤò¾ÜºÙ¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤È½ÐÎϤòÍÞÀ©¤¹¤ë¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë¤Ï»ØÄê¤Ç¤­¤Þ¤»"
+"¤ó\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "-N¤È-nc¤È¤òƱ»þ¤Ë¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "--inet4-only ¤È --inet6-only ¤òξÊý»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "-O ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢-r, -p ¤¢¤ë¤¤¤Ï -N ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Ê£¿ô¤Î URL ¤ò»ØÄꤹ¤ë¾ì¹ç¡¢-k ¤È -O ¤òξÊý»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL¤¬¤¢¤ê¤Þ¤»¤ó\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "%s ¤Ë¤ÏURL¤¬¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "½ªÎ»¤·¤Þ¤·¤¿ --%s--\n"
-"¥À¥¦¥ó¥í¡¼¥É´°Î»: %s ¥Ð¥¤¥È¡¢%d ¥Õ¥¡¥¤¥ë\n"
+"¥À¥¦¥ó¥í¡¼¥É´°Î»: %d ¥Õ¥¡¥¤¥ë¡¢%s ¥Ð¥¤¥È¤ò %s ¤Ç¼èÆÀ (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "ÍÆÎÌÀ©¸Â(%s ¥Ð¥¤¥È)¤òĶ²á¤·¤Þ¤¹!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç·Ñ³¤·¤Þ¤¹¡£\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç·Ñ³¤·¤Þ¤¹¡¢pid¤Ï %lu¡£\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "½ÐÎϤò `%s' ¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: »ÈÍѲÄǽ¤Ê¥½¥±¥Ã¥È¥É¥é¥¤¥Ð¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¡£\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: ·Ù¹ð: ¶èÀڤ국¹æ(token) \"%s\" ¤Ï¤¹¤Ù¤Æ¤Î¥Þ¥·¥ó̾¤ÎÁ°¤Ë¸½¤ï¤ì¤Þ¤¹\n"
+msgstr ""
+"%s: %s:%d: ·Ù¹ð: ¶èÀڤ국¹æ(token) \"%s\" ¤Ï¤¹¤Ù¤Æ¤Î¥Þ¥·¥ó̾¤ÎÁ°¤Ë¸½¤ï¤ì¤Þ"
+"¤¹\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: \"%s\" ¤ÏÉÔÌÀ¤Ê¶èÀڤ국¹æ(token)¤Ç¤¹\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "»È¤¤Êý: %s NETRC [¥Û¥¹¥È̾]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: %s¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "·Ù¹ð: ¼å¤¤Íð¿ô¤Î¼ï¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr "PRNG¤Î½é´ü²½¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£--random-file ¤Î»ÈÍѤò¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "¥¨¥é¡¼"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "·Ù¹ð"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: %s ¤«¤é¾ÚÌÀ½ñ¤ÎÄ󼨤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: %s ¤Î¾ÚÌÀ½ñ¤Î¸¡¾Ú¥¨¥é¡¼¤Ç¤¹: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: %s ¤Î¾ÚÌÀ½ñ(ȯ¹Ô¼Ô: %s)¤Î¸¡¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  È¯¹Ô¼Ô¤Î¸¢¸Â¤ò¸¡¾Ú¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  ¼«¸Ê½ð̾¾ÚÌÀ½ñ¤Ç¤¹¡£\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  È¯¹Ô¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¤Þ¤ÀÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  È¯¹Ô¤µ¤ì¤¿¾ÚÌÀ½ñ¤Ï¼º¸ú¤·¤Æ¤¤¤Þ¤¹¡£\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
 msgstr "%s: ¾ÚÌÀ½ñ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë̾Á° `%s' ¤È¥Û¥¹¥È̾ `%s' ¤¬°ìÃפ·¤Þ¤»¤ó\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "%s ¤Ë°ÂÁ´¤Î³Îǧ¤ò¤·¤Ê¤¤¤ÇÀܳ¤¹¤ë¤Ë¤Ï¡¢`--no-check-certificate' ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£\n"
+msgstr ""
+"%s ¤Ë°ÂÁ´¤Î³Îǧ¤ò¤·¤Ê¤¤¤ÇÀܳ¤¹¤ë¤Ë¤Ï¡¢`--no-check-certificate' ¤ò»È¤Ã¤Æ¤¯¤À"
+"¤µ¤¤¡£\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ %dK ¤È¤Ð¤·¤Þ¤¹ ]"
+"%*s[ %sK ¤È¤Ð¤·¤Þ¤¹ ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "`%s' ¤Ï̵¸ú¤Ê·Ð²áɽ¼¨·Á¼°¤Ê¤Î¤ÇÊѹ¹¤·¤Þ¤»¤ó¡£\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  »Ä¤ê%s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr " »þ´Ö "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "¥ê¥¢¥ë¥¿¥¤¥à¥¯¥í¥Ã¥¯¤Î¼þÇÈ¿ô¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "µñÈݤ¹¤Ù¤­¤Ê¤Î¤Ç¡¢%s ¤òºï½ü¤·¤Þ¤·¤¿¡£\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "%s ¤ò³«¤±¤Þ¤»¤ó: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "robots.txt¤òÆɤ߹þ¤ó¤Ç¤¤¤Þ¤¹¡¢¥¨¥é¡¼¤Ï̵»ë¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "proxy URL %s ¤ò²ò¼áÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿: %s\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "proxy URL %s ¤Ë´Ö°ã¤¤¤¬¤¢¤ê¤Þ¤¹: HTTP¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó²ó¿ô¤¬ %d ¤ò±Û¤¨¤Þ¤·¤¿¡£\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1538,7 +1733,7 @@ msgstr ""
 "Ãæ»ß¤·¤Þ¤·¤¿¡£\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1546,50 +1741,77 @@ msgstr ""
 "ºÆ»î¹Ô¤·¤Æ¤¤¤Þ¤¹¡£\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"²õ¤ì¤¿¥ê¥ó¥¯¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"%d ¸Ä¤Î²õ¤ì¤¿¥ê¥ó¥¯¤ò¸«¤Ä¤±¤Þ¤·¤¿¡£\n"
+"\n"
+msgstr[1] ""
+"%d ¸Ä¤Î²õ¤ì¤¿¥ê¥ó¥¯¤ò¸«¤Ä¤±¤Þ¤·¤¿¡£\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "¥¨¥é¡¼¤Ê¤·"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥­¡¼¥à"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "¥Û¥¹¥È̾¤¬ÉÔÀµ¤Ç¤¹"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "¥Ý¡¼¥ÈÈֹ椬ÉÔÀµ¤Ç¤¹"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "¥æ¡¼¥¶Ì¾¤¬ÉÔÀµ¤Ç¤¹"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "IPv6 ¥¢¥É¥ì¥¹¤Îµ­½Ò¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 ¥¢¥É¥ì¥¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "IPv6 ¥¢¥É¥ì¥¹¤¬ÉÔÀµ¤Ç¤¹"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç·Ñ³¤·¤Þ¤¹¡¢pid¤Ï %d¡£\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯ `%s' ¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: %ld ¥Ð¥¤¥È¤Î³ÎÊݤ˼ºÇÔ¤·¤Þ¤·¤¿; ¥á¥â¥ê¤¬¤¤¤Ã¤Ñ¤¤¤Ç¤¹\n"
diff --git a/po/nb.po b/po/nb.po
new file mode 100644 (file)
index 0000000..2909555
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,2002 @@
+# Norwegian messages for GNU wget (bokmål dialect)
+# Copyright (C) 1998 Free Software Foundation, Inc.
+# Robert Schmidt <rsc@vingmed.no>, 1998.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: wget 1.5.2-b1\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 1998-05-22 09:00+0100\n"
+"Last-Translator: Robert Schmidt <rsc@vingmed.no>\n"
+"Language-Team: Norwegian <no@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: flagget «%s» er tvetydig\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: flagget «--%s» tillater ikke argumenter\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: flagget «%c%s» tillater ikke argumenter\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: flagget «%s» krever et argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: ukjent flagg «--%s»\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: ukjent flagg «%c%s»\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ugyldig flagg -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, fuzzy, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ugyldig flagg -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: flagget krever et argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, fuzzy, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: flagget «%s» er tvetydig\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, fuzzy, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: flagget «--%s» tillater ikke argumenter\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Kontakter %s:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
+msgstr "Kontakter %s:%hu... "
+
+#: src/connect.c:330
+#, fuzzy
+msgid "connected.\n"
+msgstr "kontakt!\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr ""
+
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr ""
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr ""
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "Konverterer %s... "
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr ""
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Kan ikke konvertere linker i %s: %s\n"
+
+#: src/convert.c:233
+#, fuzzy, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Kan ikke slette den symbolske linken «%s»: %s\n"
+
+#: src/convert.c:442
+#, fuzzy, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Kan ikke konvertere linker i %s: %s\n"
+
+#: src/cookies.c:443
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr ""
+
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
+#, fuzzy, c-format
+msgid "Cannot open cookies file `%s': %s\n"
+msgstr "Kan ikke konvertere linker i %s: %s\n"
+
+#: src/cookies.c:1287
+#, fuzzy, c-format
+msgid "Error writing to `%s': %s\n"
+msgstr "Kan ikke skrive til «%s» (%s).\n"
+
+#: src/cookies.c:1290
+#, c-format
+msgid "Error closing `%s': %s\n"
+msgstr ""
+
+#: src/ftp-ls.c:836
+msgid "Unsupported listing type, trying Unix listing parser.\n"
+msgstr ""
+
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
+#, c-format
+msgid "Index of /%s on %s:%d"
+msgstr "Indeks for /%s på %s:%d"
+
+#: src/ftp-ls.c:907
+#, c-format
+msgid "time unknown       "
+msgstr "ukjent tid         "
+
+#: src/ftp-ls.c:911
+#, c-format
+msgid "File        "
+msgstr "Fil         "
+
+#: src/ftp-ls.c:914
+#, c-format
+msgid "Directory   "
+msgstr "Katalog     "
+
+#: src/ftp-ls.c:917
+#, c-format
+msgid "Link        "
+msgstr "Link        "
+
+#: src/ftp-ls.c:920
+#, c-format
+msgid "Not sure    "
+msgstr "Usikker     "
+
+#: src/ftp-ls.c:938
+#, c-format
+msgid " (%s bytes)"
+msgstr " (%s bytes)"
+
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Lengde: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (ubekreftet)\n"
+
+#: src/ftp.c:303
+#, c-format
+msgid "Logging in as %s ... "
+msgstr "Logger inn som %s ... "
+
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
+msgid "Error in server response, closing control connection.\n"
+msgstr "Feil i svar fra tjener, lukker kontrollforbindelsen.\n"
+
+#: src/ftp.c:323
+msgid "Error in server greeting.\n"
+msgstr "Feil i melding fra tjener.\n"
+
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
+msgid "Write failed, closing control connection.\n"
+msgstr "Feil ved skriving, lukker kontrollforbindelsen.\n"
+
+#: src/ftp.c:336
+msgid "The server refuses login.\n"
+msgstr "Tjeneren tillater ikke innlogging.\n"
+
+#: src/ftp.c:342
+msgid "Login incorrect.\n"
+msgstr "Feil ved innlogging.\n"
+
+#: src/ftp.c:348
+msgid "Logged in!\n"
+msgstr "Logget inn!\n"
+
+#: src/ftp.c:370
+msgid "Server error, can't determine system type.\n"
+msgstr ""
+
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
+msgid "done.    "
+msgstr "OK.      "
+
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
+msgid "done.\n"
+msgstr "OK.\n"
+
+#: src/ftp.c:458
+#, c-format
+msgid "Unknown type `%c', closing control connection.\n"
+msgstr "Ukjent type «%c», lukker kontrollforbindelsen.\n"
+
+#: src/ftp.c:470
+msgid "done.  "
+msgstr "OK.    "
+
+#: src/ftp.c:476
+msgid "==> CWD not needed.\n"
+msgstr "==> CWD ikke nødvendig.\n"
+
+#: src/ftp.c:569
+#, c-format
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"Ingen katalog ved navn «%s».\n"
+"\n"
+
+#: src/ftp.c:584
+msgid "==> CWD not required.\n"
+msgstr "==> CWD ikke nødvendig.\n"
+
+#: src/ftp.c:644
+msgid "Cannot initiate PASV transfer.\n"
+msgstr "Kan ikke sette opp PASV-overføring.\n"
+
+#: src/ftp.c:648
+msgid "Cannot parse PASV response.\n"
+msgstr "Kan ikke tolke PASV-tilbakemelding.\n"
+
+#: src/ftp.c:665
+#, c-format
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr ""
+
+#: src/ftp.c:713
+#, c-format
+msgid "Bind error (%s).\n"
+msgstr "Bind-feil (%s).\n"
+
+#: src/ftp.c:719
+msgid "Invalid PORT.\n"
+msgstr "Ugyldig PORT.\n"
+
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"Feil ved REST, starter fra begynnelsen.\n"
+
+#: src/ftp.c:826
+#, c-format
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"Ingen fil ved navn «%s».\n"
+"\n"
+
+#: src/ftp.c:873
+#, c-format
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"Ingen fil eller katalog ved navn «%s».\n"
+"\n"
+
+#: src/ftp.c:935 src/http.c:2245
+#, c-format
+msgid "%s has sprung into existence.\n"
+msgstr ""
+
+#: src/ftp.c:987
+#, c-format
+msgid "%s: %s, closing control connection.\n"
+msgstr "%s: %s, lukker kontrollforbindelsen.\n"
+
+#: src/ftp.c:996
+#, c-format
+msgid "%s (%s) - Data connection: %s; "
+msgstr "%s (%s) - dataforbindelse: %s; "
+
+#: src/ftp.c:1011
+msgid "Control connection closed.\n"
+msgstr "Forbindelsen brutt.\n"
+
+#: src/ftp.c:1029
+msgid "Data transfer aborted.\n"
+msgstr "Dataoverføring brutt.\n"
+
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "File «%s» eksisterer allerede, ignoreres.\n"
+
+#: src/ftp.c:1165 src/http.c:2423
+#, c-format
+msgid "(try:%2d)"
+msgstr "(forsøk:%2d)"
+
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - «%s» lagret [%ld]\n"
+"\n"
+
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
+#, c-format
+msgid "Removing %s.\n"
+msgstr "Fjerner %s.\n"
+
+#: src/ftp.c:1319
+#, c-format
+msgid "Using `%s' as listing tmp file.\n"
+msgstr "Bruker «%s» som temporær katalogliste.\n"
+
+#: src/ftp.c:1334
+#, c-format
+msgid "Removed `%s'.\n"
+msgstr "Slettet «%s».\n"
+
+#: src/ftp.c:1367
+#, c-format
+msgid "Recursion depth %d exceeded max. depth %d.\n"
+msgstr "Rekursjonsdybde %d overskred maksimal dybde %d.\n"
+
+#: src/ftp.c:1437
+#, fuzzy, c-format
+msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
+msgstr "Fil på tjener er nyere - hentes.\n"
+
+#: src/ftp.c:1444
+#, fuzzy, c-format
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr "Fil på tjener er nyere - hentes.\n"
+
+#: src/ftp.c:1451
+#, fuzzy, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr "Filstørrelsene er forskjellige (local %ld), hentes.\n"
+
+#: src/ftp.c:1469
+msgid "Invalid name of the symlink, skipping.\n"
+msgstr "Ugyldig navn for symbolsk link, ignoreres.\n"
+
+#: src/ftp.c:1486
+#, c-format
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr ""
+"Har allerede gyldig symbolsk link %s -> %s\n"
+"\n"
+
+#: src/ftp.c:1494
+#, c-format
+msgid "Creating symlink %s -> %s\n"
+msgstr "Lager symbolsk link %s -> %s\n"
+
+#: src/ftp.c:1504
+#, c-format
+msgid "Symlinks not supported, skipping symlink `%s'.\n"
+msgstr "Symbolske linker ikke støttet, ignorerer «%s».\n"
+
+#: src/ftp.c:1516
+#, c-format
+msgid "Skipping directory `%s'.\n"
+msgstr "Ignorerer katalog «%s».\n"
+
+#: src/ftp.c:1525
+#, c-format
+msgid "%s: unknown/unsupported file type.\n"
+msgstr "%s: filtypen er ukjent/ikke støttet.\n"
+
+#: src/ftp.c:1552
+#, c-format
+msgid "%s: corrupt time-stamp.\n"
+msgstr "%s: ugyldig tidsstempel.\n"
+
+#: src/ftp.c:1580
+#, c-format
+msgid "Will not retrieve dirs since depth is %d (max %d).\n"
+msgstr "Henter ikke kataloger på dybde %d (max %d).\n"
+
+#: src/ftp.c:1630
+#, c-format
+msgid "Not descending to `%s' as it is excluded/not-included.\n"
+msgstr "Behandler ikke «%s» da det er ekskludert/ikke inkludert.\n"
+
+#: src/ftp.c:1696 src/ftp.c:1710
+#, c-format
+msgid "Rejecting `%s'.\n"
+msgstr "Ignorerer «%s».\n"
+
+#: src/ftp.c:1733
+#, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr ""
+
+#: src/ftp.c:1774
+#, c-format
+msgid "No matches on pattern `%s'.\n"
+msgstr "Ingenting passer med mønsteret «%s».\n"
+
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr "Skrev HTML-formattert indeks til «%s» [%ld].\n"
+
+#: src/ftp.c:1845
+#, c-format
+msgid "Wrote HTML-ized index to `%s'.\n"
+msgstr "Skrev HTML-formattert indeks til «%s».\n"
+
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Ukjent feil"
+
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
+
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Ukjent feil"
+
+#: src/host.c:715
+#, fuzzy, c-format
+msgid "Resolving %s... "
+msgstr "Fjerner %s.\n"
+
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
+
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr ""
+
+#: src/html-url.c:289
+#, c-format
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr ""
+
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/http.c:368
+#, fuzzy, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Feil ved sending av HTTP-forespørsel.\n"
+
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
+
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
+
+#: src/http.c:1570
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Vil prøve å kontakte %s:%hu.\n"
+
+#: src/http.c:1687
+#, c-format
+msgid "Failed reading proxy response: %s\n"
+msgstr ""
+
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
+#, c-format
+msgid "%s request sent, awaiting response... "
+msgstr "%s forespørsel sendt, mottar topptekster... "
+
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Ingen data mottatt"
+
+#: src/http.c:1770
+#, c-format
+msgid "Read error (%s) in headers.\n"
+msgstr "Lesefeil (%s) i topptekster.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "File «%s» eksisterer allerede, ignoreres.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Ukjent autorisasjons-protokoll.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Autorisasjon mislyktes\n"
+
+#: src/http.c:2014
+msgid "Malformed status line"
+msgstr "Feil i statuslinje"
+
+#: src/http.c:2016
+msgid "(no description)"
+msgstr "(ingen beskrivelse)"
+
+#: src/http.c:2082
+#, c-format
+msgid "Location: %s%s\n"
+msgstr "Sted: %s%s\n"
+
+#: src/http.c:2083 src/http.c:2193
+msgid "unspecified"
+msgstr "uspesifisert"
+
+#: src/http.c:2084
+msgid " [following]"
+msgstr " [omdirigert]"
+
+#: src/http.c:2140
+msgid ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+msgstr ""
+
+#: src/http.c:2173
+msgid "Length: "
+msgstr "Lengde: "
+
+#: src/http.c:2193
+msgid "ignored"
+msgstr "ignoreres"
+
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Ignorerer katalog «%s».\n"
+
+#: src/http.c:2345
+msgid "Warning: wildcards not supported in HTTP.\n"
+msgstr "Advarsel: jokertegn ikke støttet i HTTP.\n"
+
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
+
+#: src/http.c:2497
+#, c-format
+msgid "Cannot write to `%s' (%s).\n"
+msgstr "Kan ikke skrive til «%s» (%s).\n"
+
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr ""
+
+#: src/http.c:2514
+#, c-format
+msgid "ERROR: Redirection (%d) without location.\n"
+msgstr "FEIL: Omdirigering (%d) uten nytt sted.\n"
+
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
+#, c-format
+msgid "%s ERROR %d: %s.\n"
+msgstr "%s FEIL %d: %s.\n"
+
+#: src/http.c:2581
+msgid "Last-modified header missing -- time-stamps turned off.\n"
+msgstr "Last-modified topptekst mangler -- tidsstempling slås av.\n"
+
+#: src/http.c:2589
+msgid "Last-modified header invalid -- time-stamp ignored.\n"
+msgstr "Last-modified topptekst ugyldig -- tidsstempel ignoreres.\n"
+
+#: src/http.c:2619
+#, c-format
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "Filstørrelsene er forskjellige (local %ld), hentes.\n"
+
+#: src/http.c:2634
+msgid "Remote file is newer, retrieving.\n"
+msgstr "Fil på tjener er nyere - hentes.\n"
+
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Fil på tjener er nyere - hentes.\n"
+
+#: src/http.c:2715
+#, fuzzy, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - «%s» lagret [%ld/%ld]\n"
+"\n"
+
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Forbindelse brutt ved byte %ld. "
+
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) - Lesefeil ved byte %ld (%s)."
+
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) - Lesefeil ved byte %ld/%ld (%s)."
+
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr ""
+
+#: src/init.c:450 src/netrc.c:265
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
+msgstr "%s: Kan ikke lese %s (%s).\n"
+
+#: src/init.c:468
+#, c-format
+msgid "%s: Error in %s at line %d.\n"
+msgstr "%s: Feil i %s på linje %d.\n"
+
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Feil i %s på linje %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Ukjent kommando «%s», verdi «%s».\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr "%s: Advarsel: Både systemets og brukerens wgetrc peker til «%s».\n"
+
+#: src/init.c:677
+#, fuzzy, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Vennligst spesifiser «on» eller «off».\n"
+
+#: src/init.c:739
+#, fuzzy, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/init.c:970 src/init.c:989
+#, fuzzy, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/init.c:1014
+#, fuzzy, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, fuzzy, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/init.c:1105
+#, fuzzy, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/init.c:1171
+#, fuzzy, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/init.c:1230
+#, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+
+#: src/log.c:784
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr "%s mottatt, omdirigerer utskrifter til «%%s».\n"
+
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Ingen data mottatt"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr ""
+
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Bruk: %s [FLAGG]... [URL]...\n"
+
+#: src/main.c:369
+#, fuzzy
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"\n"
+"Obligatoriske argumenter til lange flagg er obligatoriske også \n"
+"for korte.\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr ""
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr ""
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Katalog     "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
+msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+msgstr "Rapportér feil og send forslag til <bug-wget@gnu.org>.\n"
+
+#: src/main.c:635
+#, c-format
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, en ikke-interaktiv informasjonsagent.\n"
+
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+#, fuzzy
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Skrevet av Hrvoje Niksic <hniksic@srce.hr>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
+#, c-format
+msgid "Try `%s --help' for more options.\n"
+msgstr "Prøv «%s --help» for flere flagg.\n"
+
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: ugyldig flagg -- «-n%c»\n"
+
+#: src/main.c:859
+#, c-format
+msgid "Can't be verbose and quiet at the same time.\n"
+msgstr "Kan ikke være utførlig og stille på samme tid.\n"
+
+#: src/main.c:865
+#, c-format
+msgid "Can't timestamp and not clobber old files at the same time.\n"
+msgstr ""
+"Kan ikke tidsstemple og la være å berøre eksisterende filer på samme tid.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
+#, c-format
+msgid "%s: missing URL\n"
+msgstr "%s: URL mangler.\n"
+
+#: src/main.c:1025
+#, c-format
+msgid "No URLs found in %s.\n"
+msgstr "Fant ingen URLer i %s.\n"
+
+#: src/main.c:1043
+#, fuzzy, c-format
+msgid ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+msgstr ""
+"\n"
+"FERDIG --%s--\n"
+"Lastet ned %s bytes i %d filer\n"
+
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Nedlastingskvote (%s bytes) overskredet!\n"
+
+#: src/mswindows.c:99
+#, c-format
+msgid "Continuing in background.\n"
+msgstr "Fortsetter i bakgrunnen.\n"
+
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Fortsetter i bakgrunnen.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
+#, c-format
+msgid "Output will be written to `%s'.\n"
+msgstr "Utskrifter vil bli skrevet til «%s».\n"
+
+#: src/mswindows.c:462 src/mswindows.c:469
+#, c-format
+msgid "%s: Couldn't find usable socket driver.\n"
+msgstr "%s: Fant ingen brukbar socket-driver.\n"
+
+#: src/netrc.c:373
+#, c-format
+msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
+msgstr "%s: %s:%d: Advarsel: symbolet «%s» funnet før tjener-navn\n"
+
+#: src/netrc.c:404
+#, c-format
+msgid "%s: %s:%d: unknown token \"%s\"\n"
+msgstr "%s: %s:%d: ukjent symbol «%s»\n"
+
+#: src/netrc.c:468
+#, c-format
+msgid "Usage: %s NETRC [HOSTNAME]\n"
+msgstr "Bruk: %s NETRC [TJENERNAVN]\n"
+
+#: src/netrc.c:478
+#, c-format
+msgid "%s: cannot stat %s: %s\n"
+msgstr "%s: «stat» feilet for %s: %s\n"
+
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"          [ hopper over %dK ]"
+
+#: src/progress.c:456
+#, fuzzy, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr "%s: Ugyldig spesifikasjon «%s»\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
+#, c-format
+msgid "Removing %s since it should be rejected.\n"
+msgstr "Fjerner %s fordi den skal forkastes.\n"
+
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Kan ikke konvertere linker i %s: %s\n"
+
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "Henter robots.txt; ignorer eventuelle feilmeldinger.\n"
+
+#: src/retr.c:652
+#, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr ""
+
+#: src/retr.c:660
+#, fuzzy, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Proxy %s: Må støtte HTTP.\n"
+
+#: src/retr.c:746
+#, fuzzy, c-format
+msgid "%d redirections exceeded.\n"
+msgstr "%s: Omdirigerer til seg selv.\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"Gir opp.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"Prøver igjen.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
+#, fuzzy
+msgid "No error"
+msgstr "Ukjent feil"
+
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr ""
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Tjenernavnet er ugyldig"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr ""
+
+#: src/url.c:628
+#, fuzzy
+msgid "Invalid user name"
+msgstr "Tjenernavnet er ugyldig"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr ""
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr ""
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr ""
+
+#: src/utils.c:328
+#, fuzzy, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "Fortsetter i bakgrunnen.\n"
+
+#: src/utils.c:376
+#, c-format
+msgid "Failed to unlink symlink `%s': %s\n"
+msgstr "Kan ikke slette den symbolske linken «%s»: %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Connection to %s:%hu refused.\n"
+#~ msgstr "Kontakt med %s:%hu nektet.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s igjen]"
+
+#~ msgid ""
+#~ "Local file `%s' is more recent, not retrieving.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Lokal fil «%s» er samme/nyere, ignoreres.\n"
+#~ "\n"
+
+#~ msgid "%s: Cannot determine user-id.\n"
+#~ msgstr "%s: Fant ikke bruker-ID.\n"
+
+#~ msgid "%s: Warning: uname failed: %s\n"
+#~ msgstr "%s: Advarsel: feil fra «uname»:  %s\n"
+
+#~ msgid "%s: Warning: gethostname failed\n"
+#~ msgstr "%s: Advarsel: feil fra «gethostname»\n"
+
+#~ msgid "%s: Warning: cannot determine local IP address.\n"
+#~ msgstr "%s: Advarsel: fant ikke lokal IP-adresse.\n"
+
+#~ msgid "%s: Warning: cannot reverse-lookup local IP address.\n"
+#~ msgstr "%s: Advarsel: feil fra tilbake-oppslag for lokal IP-adresse.\n"
+
+#~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
+#~ msgstr ""
+#~ "%s: Advarsel: fikk ikke FQDN fra tilbake-oppslag for lokal IP-adresse!\n"
+
+#~ msgid "Host not found"
+#~ msgstr "Tjener ikke funnet"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Filslutt funnet ved lesing av topptekster.\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s igjen)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Filen «%s» hentes ikke, fordi den allerede eksisterer.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - «%s» lagret [%ld/%ld]\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Forbindelse brutt ved byte %ld/%ld. "
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc' command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Oppstart:\n"
+#~ "  -V,  --version           viser Wget's versjonsnummer og avslutter.\n"
+#~ "  -h,  --help              skriver ut denne hjelpeteksten.\n"
+#~ "  -b,  --background        kjører i bakgrunnen etter oppstart.\n"
+#~ "  -e,  --execute=KOMMANDO  utfør en «.wgetrc»-kommando.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      read URL-s from file.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Utskrifter og innlesing:\n"
+#~ "  -o,  --output-file=FIL      skriv meldinger til ny FIL.\n"
+#~ "  -a,  --append-output=FIL    skriv meldinger på slutten av FIL.\n"
+#~ "  -d,  --debug                skriv avlusingsinformasjon.\n"
+#~ "  -q,  --quiet                stille (ingen utskrifter).\n"
+#~ "  -v,  --verbose              vær utførlig (standard).\n"
+#~ "  -nv, --non-verbose          mindre utførlig, men ikke stille.\n"
+#~ "  -i,  --input-file=FIL       les URLer fra FIL.\n"
+#~ "  -F,  --force-html           les inn filer som HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files.\n"
+#~ "  -c,  --continue               restart getting an existing file.\n"
+#~ "       --dot-style=STYLE        set retrieval display style.\n"
+#~ "  -N,  --timestamping           don't retrieve files if older than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Nedlasting:\n"
+#~ "  -t,  --tries=ANTALL           maksimalt antall forsøk (0 for "
+#~ "uendelig).\n"
+#~ "  -O   --output-document=FIL    skriv nedlastede filer til FIL.\n"
+#~ "  -nc, --no-clobber             ikke berør eksisterende filer.\n"
+#~ "  -c,  --continue               fortsett nedlasting av en eksisterende "
+#~ "fil.\n"
+#~ "       --dot-style=TYPE         velg format for nedlastings-status.\n"
+#~ "  -N,  --timestamping           ikke hent filer som er eldre enn "
+#~ "eksisterende.\n"
+#~ "  -S,  --server-response        vis svar fra tjeneren.\n"
+#~ "       --spider                 ikke hent filer.\n"
+#~ "  -T,  --timeout=SEKUNDER       sett ventetid ved lesing til SEKUNDER.\n"
+#~ "  -w,  --wait=SEKUNDER          sett ventetid mellom filer til SEKUNDER.\n"
+#~ "  -Y,  --proxy=on/off           sett bruk av proxy på eller av.\n"
+#~ "  -Q,  --quota=ANTALL           sett nedlastingskvote til ANTALL.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd  --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kataloger:\n"
+#~ "  -nd  --no-directories             ikke lag kataloger.\n"
+#~ "  -x,  --force-directories          lag kataloger.\n"
+#~ "  -nH, --no-host-directories        ikke lag ovenstående kataloger.\n"
+#~ "  -P,  --directory-prefix=PREFIKS   skriv filer til PREFIKS/...\n"
+#~ "       --cut-dirs=ANTALL            ignorer ANTALL komponenter av "
+#~ "tjenerens\n"
+#~ "                                    katalognavn.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTP-flagg:\n"
+#~ "       --http-user=BRUKER      sett HTTP-bruker til BRUKER.\n"
+#~ "       --http-passwd=PASSORD   sett HTTP-passord til PASSORD.\n"
+#~ "  -C,  --cache=on/off          (ikke) tillat bruk av hurtiglager på "
+#~ "tjener.\n"
+#~ "       --ignore-length         ignorer «Content-Length» felt i "
+#~ "topptekst.\n"
+#~ "       --header=TEKST          sett TEKST inn som en topptekst.\n"
+#~ "       --proxy-user=BRUKER     sett proxy-bruker til BRUKER.\n"
+#~ "       --proxy-passwd=PASSORD  sett proxy-passord til PASSORD.\n"
+#~ "  -s,  --save-headers          skriv HTTP-topptekster til fil.\n"
+#~ "  -U,  --user-agent=AGENT      identifiser som AGENT i stedet for \n"
+#~ "                               «Wget/VERSJON».\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "       --retr-symlinks   retrieve FTP symbolic links.\n"
+#~ "  -g,  --glob=on/off     turn file name globbing on or off.\n"
+#~ "       --passive-ftp     use the \"passive\" transfer mode.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "FTP-flagg:\n"
+#~ "       --retr-symlinks   hent symbolske linker via FTP.\n"
+#~ "  -g,  --glob=on/off     (ikke) tolk bruk av jokertegn i filnavn.\n"
+#~ "       --passive-ftp     bruk passiv overføringsmodus.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive             recursive web-suck -- use with care!.\n"
+#~ "  -l,  --level=NUMBER          maximum recursion depth (0 to unlimit).\n"
+#~ "       --delete-after          delete downloaded files.\n"
+#~ "  -k,  --convert-links         convert non-relative links to relative.\n"
+#~ "  -m,  --mirror                turn on options suitable for mirroring.\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rekursiv nedlasting:\n"
+#~ "  -r,  --recursive             tillat rekursiv nedlasting -- bruk med "
+#~ "omtanke!\n"
+#~ "  -l,  --level=ANTALL          maksimalt antall rekursjonsnivåer "
+#~ "(0=uendelig).\n"
+#~ "       --delete-after          slett nedlastede filer.\n"
+#~ "  -k,  --convert-links         konverter absolutte linker til relative.\n"
+#~ "  -m,  --mirror                sett passende flagg for speiling av "
+#~ "tjenere.\n"
+#~ "  -nr, --dont-remove-listing   ikke slett «.listing»-filer.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                list of accepted extensions.\n"
+#~ "  -R,  --reject=LIST                list of rejected extensions.\n"
+#~ "  -D,  --domains=LIST               list of accepted domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -nh, --no-host-lookup             don't DNS-lookup hosts.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Hva er tillatt ved rekursjon:\n"
+#~ "  -A,  --accept=LISTE               liste med tillatte filtyper.\n"
+#~ "  -R,  --reject=LISTE               liste med ikke tillatte filtyper.\n"
+#~ "  -D,  --domains=LISTE              liste med tillatte domener.\n"
+#~ "       --exclude-domains=LISTE      liste med ikke tillatte domener.\n"
+#~ "  -L,  --relative                   følg kun relative linker.\n"
+#~ "       --follow-ftp                 følg FTP-linker fra HTML-dokumenter.\n"
+#~ "  -H,  --span-hosts                 følg linker til andre tjenere.\n"
+#~ "  -I,  --include-directories=LISTE  liste med tillatte katalognavn.\n"
+#~ "  -X,  --exclude-directories=LISTE  liste med ikke tillatte katalognavn.\n"
+#~ "  -nh, --no-host-lookup             ikke let etter tjenernavn via DNS.\n"
+#~ "  -np, --no-parent                  ikke følg linker til ovenstående "
+#~ "katalog.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: støtte for avlusing ikke inkludert ved kompilering.\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.\n"
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.\n"
+#~ "Dette programmet distribueres i håp om at det blir funnet nyttig,\n"
+#~ "men UTEN NOEN GARANTIER; ikke en gang for SALGBARHET eller\n"
+#~ "EGNETHET TIL NOEN SPESIELL OPPGAVE.\n"
+#~ "Se «GNU General Public License» for detaljer.\n"
+
+#~ msgid "%s: %s: invalid command\n"
+#~ msgstr "%s: %s: ugyldig kommando\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "CTRL+Break received, redirecting output to `%s'.\n"
+#~ "Execution continued in background.\n"
+#~ "You may stop Wget by pressing CTRL+ALT+DELETE.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "CTRL+Break mottatt, omdirigerer utskrifter til `%s'.\n"
+#~ "Kjøring fortsetter i bakgrunnen.\n"
+#~ "Du kan stoppe Wget ved å trykke CTRL+ALT+DELETE.\n"
+#~ "\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Starter WinHelp %s\n"
+
+#~ msgid "Could not find proxy host.\n"
+#~ msgstr "Fant ikke proxy-tjener.\n"
+
+#~ msgid "Error (%s): Link %s without a base provided.\n"
+#~ msgstr "Feil (%s): Link %s gitt uten utgangspunkt.\n"
+
+#~ msgid "Error (%s): Base %s relative, without referer URL.\n"
+#~ msgstr ""
+#~ "Feil (%s): Utgangspunktet %s er relativt, ukjent URL som referent.\n"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Ikke nok minne.\n"
+
+#~ msgid "Unknown/unsupported protocol"
+#~ msgstr "Protokollen er ukjent/ikke støttet"
+
+#~ msgid "Invalid port specification"
+#~ msgstr "Port-spesifikasjonen er ugyldig"
index 1251b2bca1979ebb226e2520816984fa4448e42b..712563ecdc598153efd887dc8dd01db76922bb3a 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
-# Translation of wget-1.10.1-b1 to Dutch.
-# Copyright (C) 1997, 1998, 2004, 2005 Free Software Foundation, Inc.
-# Benno Schulenberg <benno@nietvergeten.nl>, 2005.
-# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
-# André van Dijk <ady@unseen.demon.nl>, 1998.
+# Translation of wget-1.11-b2425 to Dutch.
+# Copyright (C) 1997, 1998, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 #
+# André van Dijk <ady@unseen.demon.nl>, 1998.
+# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007.
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-08 20:51+0200\n"
-"Last-Translator: Benno Schulenberg <benno@nietvergeten.nl>\n"
+"Project-Id-Version: wget-1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-13 00:18+0100\n"
+"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.10.1\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: optie '%s' is niet eenduidig\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: optie '--%s' staat geen argument toe\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: optie '%c%s' staat geen argument toe\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: optie '%s' vereist een argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: onbekende optie '--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: onbekende optie '%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ongeldige optie -- %c\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ongeldige optie -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: optie vereist een argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: optie '-W %s' is niet eenduidig\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: optie '-W %s' staat geen argument toe\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: kan bindingsadres '%s' niet herleiden; binding wordt uitgeschakeld.\n"
+msgstr ""
+"%s: kan bindingsadres '%s' niet herleiden; binding wordt uitgeschakeld.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Verbinding maken met %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Verbinding maken met %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "verbonden.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "mislukt: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "%d bestanden geconverteerd in %.*f seconden.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: kan host-adres '%s' niet herleiden\n"
 
-#: src/convert.c:202
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "%d bestanden geconverteerd in %s seconden.\n"
+
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Converteren van %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "niets te doen.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Kan hyperlinks in %s niet converteren: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Kan '%s' niet verwijderen: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Kan geen reservekopie %2$s van %1$s maken: %3$s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Fout in Set-Cookie-kopregel, veld '%s'."
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
-msgstr "Syntaxfout in Set-Cookie-kopregel: %s op positie %d.\n"
+msgstr "Syntaxfout in 'Set-Cookie'-kopregel: %s op positie %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "Een cookie afkomstig van %s probeerde %s als domein in te stellen\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Kan cookiesbestand '%s' niet openen: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
-msgstr "Fout tijdens schrijven naar '%s': %s.\n"
+msgstr "Fout bij schrijven naar '%s': %s.\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
-msgstr "Fout tijdens sluiten van '%s': %s.\n"
+msgstr "Fout bij sluiten van '%s': %s.\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Niet-ondersteunde lijstsoort; Unix-lijstontleder wordt geprobeerd.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Index van /%s op %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "tijd onbekend      "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Bestand     "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Map         "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Koppeling   "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Onzeker     "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bytes)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Lengte: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) resterend"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s resterend"
 
-# Geen idee hoe dit correct te vertalen
-#: src/ftp.c:239
+# Geen idee hoe dit correct te vertalen.
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (onzeker)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Inloggen als %s... "
 
 # Ist das gemeint?
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Fout in server-antwoord -- de besturingsverbinding wordt gesloten.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Fout in server-groet.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Schrijffout -- de besturingsverbinding wordt gesloten.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "De server weigert de login.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Login onjuist.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Ingelogd!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "Serverfout; kan systeemsoort niet bepalen.\n"
+msgstr "Serverfout -- kan systeemsoort niet bepalen.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "gereed.  "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "gereed.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Onbekend soort '%c' -- de besturingsverbinding wordt gesloten.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "gereed.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD is niet nodig.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
 "\n"
 msgstr ""
-"Onbekende map '%s'.\n"
+"Map '%s' bestaat niet.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD is niet vereist.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Kan geen PASV-transport starten.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Kan PASV-antwoord niet verwerken.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
-msgstr "Kan niet verbinden met %s op poort %d: %s\n"
+msgstr "Kan geen verbinding maken met %s op poort %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bindingsfout (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Ongeldige PORT-opdracht.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -262,62 +317,58 @@ msgstr ""
 "\n"
 "REST-opdracht is mislukt; van voren af aan begonnen.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
 "\n"
 msgstr ""
-"Onbekend bestand '%s'.\n"
+"Bestand '%s' bestaat niet.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
 "\n"
 msgstr ""
-"Onbekend bestand of map '%s'.\n"
+"Bestand of map '%s' bestaat niet.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s is zojuist ontstaan.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s -- de besturingsverbinding wordt gesloten.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Gegevensverbinding: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Besturingsverbinding is gesloten.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Gegevensoverdracht is afgebroken.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "Bestand '%s' is reeds aanwezig -- wordt niet opgehaald.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
-msgstr "(poging: %2d) "
+msgstr "(poging %2d) "
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -326,35 +377,34 @@ msgstr ""
 "%s (%s) - '%s' opgeslagen [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Verwijderen van %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "'%s' wordt gebruikt als tijdelijk lijstbestand.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "'%s' is verwijderd.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "Recursiediepte %d overschreed de maximum diepte %d.\n"
+msgstr "Recursiediepte %d heeft maximum diepte %d overschreden.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Bestand op server is niet nieuwer dan lokaal bestand '%s' -- wordt niet opgehaald.\n"
+msgstr ""
+"Bestand op server is niet nieuwer dan lokaal bestand '%s' -- wordt niet "
+"opgehaald.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -363,8 +413,7 @@ msgstr ""
 "Bestand op server is nieuwer dan lokaal bestand '%s' -- ophalen.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -373,11 +422,11 @@ msgstr ""
 "De groottes komen niet overeen (is lokaal %s) -- ophalen.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Ongeldige naam voor een symbolische koppeling, wordt overgeslagen.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -386,242 +435,190 @@ msgstr ""
 "Correcte symbolische koppeling bestaat al: %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Maken van symbolische koppeling: %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Symbolische koppelingen worden niet ondersteund, '%s' wordt overgeslagen.\n"
+msgstr ""
+"Symbolische koppelingen worden niet ondersteund; '%s' wordt overgeslagen.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Map '%s' wordt overgeslagen.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: onbekende of niet-ondersteunde bestandssoort.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
-msgstr "%s: beschadigd tijdstempel.\n"
+msgstr "%s: beschadigd tijdsstempel.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Mappen worden niet opgehaald, want de diepte is %d (maximaal %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Er wordt niet afgedaald naar '%s', want deze is uitgesloten of niet ingesloten.\n"
+msgstr ""
+"Er wordt niet afgedaald naar '%s', want deze is uitgesloten of niet "
+"ingesloten.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "'%s' wordt verworpen.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Fout bij schrijven naar '%s': %s.\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Geen overeenkomsten met patroon '%s'.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Index is in HTML-vorm naar '%s' [%s] geschreven.\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Index is in HTML-vorm naar '%s' geschreven.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: optie '%s' is niet eenduidig\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: optie '--%s' staat geen argument toe\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: optie '%c%s' staat geen argument toe\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: optie '%s' vereist een argument\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: onbekende optie '--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: onbekende optie '%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ongeldige optie -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ongeldige optie -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: optie vereist een argument -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: optie '-W %s' is niet eenduidig\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: optie '-W %s' staat geen argument toe\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Onbekende host"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Tijdelijke storing in naamsherleiding"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Onbekende fout"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Herleiden van %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
-msgstr "mislukt: geen IPv4/IPv6-adressen voor de host.\n"
+msgstr "mislukt: geen IPv4/IPv6-adressen gevonden voor de host.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "mislukt: wachttijd is verstreken.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Kan doel van onvolledige hyperlink %s niet bepalen.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: Ongeldige URL '%s': %s.\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Schrijven van HTTP-verzoek is mislukt: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
-msgstr "Geen kopregels aanwezig, HTTP/0.9 aangenomen."
+msgstr "Geen kopregels aanwezig; HTTP/0.9 aangenomen."
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "Wegens fouten wordt SSL uitgeschakeld.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "POST-gegevensbestand '%s' ontbreekt: %s.\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Verbinding met %s:%d wordt hergebruikt.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Lezen van proxy-antwoord is mislukt: %s.\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Het tunnelen door een proxy is mislukt: %s."
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
-msgstr "%s-verzoek is verzonden, wachten op antwoord... "
+msgstr "%s-verzoek is verzonden; wachten op antwoord... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Geen gegevens ontvangen.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Leesfout (%s) in kopregels.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Bestand '%s' is reeds aanwezig -- wordt niet opgehaald.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Onbekend aanmeldingsschema.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Aanmelding is mislukt.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Onjuiste statusregel"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(geen omschrijving)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Lokatie: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "niet-opgegeven"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [volgend]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -631,80 +628,107 @@ msgstr ""
 "    Het bestand is reeds volledig opgehaald; er is niets te doen.\n"
 "\n"
 
-# Header
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Lengte: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "genegeerd"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Wordt geschreven naar: %s\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "Waarschuwing: jokertekens worden in HTTP niet ondersteund.\n"
+msgstr "Waarschuwing: jokertekens zijn bij HTTP niet mogelijk.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
 msgstr ""
-"Bestand '%s' is reeds aanwezig -- wordt niet opgehaald.\n"
-"\n"
+"Spider-modus ingeschakeld.  Controleren of bestand bestaat op server.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Kan niet naar '%s' schrijven (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Kan geen SSL-verbinding maken.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "Fout: doorverwijzing (%d) zonder lokatie.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Bestand bestaat niet op server -- verbroken hyperlink!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s Fout %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "'Laatst-aangepast'-kopregel ontbreekt -- tijdstempels worden uitgeschakeld.\n"
+msgstr ""
+"'Laatst-aangepast'-kopregel ontbreekt -- tijdsstempels worden "
+"uitgeschakeld.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "'Laatst-aangepast'-kopregel is ongeldig -- tijdstempels worden genegeerd.\n"
+msgstr ""
+"'Laatst-aangepast'-kopregel is ongeldig -- tijdsstempel wordt genegeerd.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Bestand op server is niet nieuwer dan lokaal bestand '%s' -- wordt niet opgehaald.\n"
+"Bestand op server is niet nieuwer dan lokaal bestand '%s' -- wordt niet "
+"opgehaald.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "De groottes komen niet overeen (is lokaal %s) -- ophalen.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Bestand op server is nieuwer -- ophalen.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Bestand bestaat op server en zou hyperlinks kunnen bevatten -- ophalen.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Bestand bestaat op server maar bevat geen hyperlinks -- wordt niet "
+"opgehaald.\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Bestand bestaat op server maar recursie is uitgeschakeld -- wordt niet "
+"opgehaald.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -713,111 +737,102 @@ msgstr ""
 "%s (%s) - '%s' opgeslagen [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Verbinding werd verbroken bij byte %s. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Verbinding werd verbroken bij byte %s/%s. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Leesfout bij byte %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Leesfout bij byte %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
-msgstr "%s: De WGETRC-variabele wijst naar %s, maar deze bestaat niet.\n"
+msgstr "%s: De variabele WGETRC wijst naar %s, maar deze bestaat niet.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Kan '%s' niet lezen (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Fout in %s op regel %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Syntaxfout in %s op regel %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Onbekende opdracht '%s' in %s op regel %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Waarschuwing: zowel de systeem- als gebruikers-wgetrc wijzen naar '%s'.\n"
+msgstr ""
+"%s: Waarschuwing: zowel de systeem- als gebruikers-wgetrc wijzen naar '%s'.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Ongeldige opdracht '%s' bij '--execute'.\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Ongeldige boolean '%s';  gebruik 'on' of 'off'.\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: Ongeldige uitgebreide boolean '%s';\n"
-"gebruik 'on', 'off', 'always', of 'never'.\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Ongeldig aantal '%s'.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Ongeldige bytewaarde '%s'.\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Ongeldig tijdsinterval '%s'.\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Ongeldige waarde '%s'.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Ongeldige kopregel '%s'.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Ongeldig voortgangstype '%s'.\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Ongeldige beperking '%s';  gebruik 'unix' of 'windows'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Ongeldige beperking '%s';\n"
+"gebruik 'unix' of 'windows', 'lowercase' of 'uppercase', of 'nocontrol'.\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -826,9 +841,7 @@ msgstr ""
 "\n"
 "%s ontvangen, uitvoer wordt omgeleid naar '%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -837,17 +850,17 @@ msgstr ""
 "\n"
 "%s ontvangen.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; bijhouden van logboek wordt uitgeschakeld.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Gebruik:  %s [OPTIE]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -855,307 +868,400 @@ msgstr ""
 "(De argumenten bij lange opties gelden ook voor de korte vormen.)\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Opstarten:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           programmaversie tonen en stoppen\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
-msgstr "  -h,  --help              deze hulp tonen en stoppen\n"
+msgstr "  -h,  --help              deze hulptekst tonen en stoppen\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        na opstarten naar de achtergrond gaan\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-msgstr "  -e,  --execute=OPDRACHT  deze OPDRACHT (in '.wgetrc'-stijl) uitvoeren\n"
+msgstr ""
+"  -e,  --execute=OPDRACHT  deze OPDRACHT (in '.wgetrc'-stijl) uitvoeren\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Logboek en invoerbestand:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=BESTAND    meldingen opslaan in BESTAND\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=BESTAND  meldingen toevoegen aan BESTAND\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug                  uitgebreide debuguitvoer tonen\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug                 'Watt-32'-debuguitvoer tonen\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet                  stil zijn (geen uitvoer)\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose                breedsprakige uitvoer (is standaard)\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --non-verbose            beknopte uitvoer (maar niet geheel stil)\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --non-verbose            beknopte uitvoer (maar niet geheel stil)\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
-msgstr "  -i,  --input-file=BESTAND     URLs uit dit BESTAND lezen\n"
+msgstr "  -i,  --input-file=BESTAND     URL's uit dit BESTAND lezen\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html             invoerbestand als HTML behandelen\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
 "  -B,  --base=URL               deze URL voorvoegen bij relatieve links\n"
 "                                (in bestand opgegeven met '-F -i')\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Downloaden:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
 msgstr ""
 "  -t,  --tries=AANTAL           maximaal dit AANTAL herhalingspogingen doen\n"
 "                                ('0' voor onbegrensd)\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused      ook bij geweigerde verbinding opnieuw proberen\n"
+msgstr ""
+"       --retry-connrefused      ook bij geweigerde verbinding opnieuw "
+"proberen\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
-msgstr "  -O   --output-document=BSTND  alle documenten naar dit BSTND schrijven\n"
+msgstr ""
+"  -O   --output-document=BSTND  alle documenten naar dit BSTND schrijven\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
-msgstr "  -nc, --no-clobber             bestaande bestanden niet overschrijven\n"
+msgstr ""
+"  -nc, --no-clobber             bestaande bestanden niet overschrijven\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue               voortzetten van gedeeltelijk opgehaald bestand\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue               voortzetten van gedeeltelijk opgehaald "
+"bestand\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=TYPE          dit TYPE voortgangsmeter gebruiken\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
 msgstr ""
-"  -N,  --timestamping           bestanden niet opnieuw ophalen tenzij ze nieuwer\n"
+"  -N,  --timestamping           bestanden niet opnieuw ophalen tenzij ze "
+"nieuwer\n"
 "                                zijn dan lokale bestanden\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response        antwoord van server tonen\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                 niets ophalen, alleen kijken\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SECONDEN       alle wachttijden instellen op SECONDEN\n"
+msgstr ""
+"  -T,  --timeout=SECONDEN       alle wachttijden instellen op SECONDEN\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SECONDEN   DNS-opzoekwachttijd instellen op SECONDEN\n"
+msgstr ""
+"       --dns-timeout=SECONDEN   DNS-opzoekwachttijd instellen op SECONDEN\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SCNDN  verbindingswachttijd instellen op SCNDN\n"
+msgstr ""
+"       --connect-timeout=SCNDN  verbindingswachttijd instellen op SCNDN\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=SECONDEN  leeswachttijd instellen op SECONDEN\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=SECONDEN          tussen bestanden dit aantal SECONDEN wachten\n"
-
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=SECONDEN     1..SECONDEN wachten tussen herhaalde pogingen\n"
+msgstr ""
+"  -w,  --wait=SECONDEN          tussen bestanden dit aantal SECONDEN "
+"wachten\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait            tussen bestanden 0 tot 2 keer normale tijd wachten\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SECONDEN     1..SECONDEN wachten tussen herhaalde "
+"pogingen\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                  proxy gebruiken\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait            tussen bestanden 0..2 keer gewone tijd "
+"wachten\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy               geen proxy gebruiken\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=AANTAL           downloadquotum is AANTAL (Kilo- of Megabytes)\n"
+msgstr ""
+"  -Q,  --quota=AANTAL           downloadquotum is AANTAL (Kilo- of "
+"Megabytes)\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=ADRES     binden aan ADRES (hostnaam of IP) op localhost\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADRES     binden aan ADRES (hostnaam of IP) op "
+"localhost\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=SNELHEID    downloaden tot deze SNELHEID begrenzen\n"
+msgstr ""
+"       --limit-rate=SNELHEID    downloaden tot deze SNELHEID begrenzen\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache           bufferen van DNS-zoekacties uitschakelen\n"
+msgstr ""
+"       --no-dns-cache           bufferen van DNS-zoekacties uitschakelen\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
 "       --restrict-file-names=OS tekens in bestandsnamen beperken tot die\n"
 "                                welke besturingssysteem OS toestaat\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case            verschil tussen kleine en hoofdletters "
+"negeren\n"
+"                                bij vergelijken van bestands- en mapnamen\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only             alleen met IPv4-adressen verbinden\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only             alleen met IPv6-adressen verbinden\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
 "       --prefer-family=SOORT    eerst met deze SOORT adressen verbinden\n"
 "                                ('IPv6', 'IPv4', of 'none')\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr "       --user=GEBRUIKER         de GEBRUIKER voor FTP en HTTP\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr "       --password=WACHTWOORD    het WACHTWOORD voor FTP en HTTP\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Mappen:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd  --no-directories         geen mappen aanmaken\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories      aanmaken van mappen afdwingen\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories    geen host-mappen maken\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories   in mappen het gegeven protocol gebruiken\n"
+msgstr ""
+"       --protocol-directories   in mappen het gegeven protocol gebruiken\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PAD   bestanden opslaan in de map PAD/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=AANTAL        dit AANTAL padcomponenten op server negeren\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=AANTAL        dit AANTAL padcomponenten op server negeren\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP-opties:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=GEBRUIKER    de GEBRUIKER voor HTTP\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-passwd=WACHTWOORD het WACHTWOORD voor HTTP\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache               server-gebufferde data niet toestaan.\n"
+msgstr "       --no-cache               server-gebufferde data niet toestaan\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension         alle HTML-documenten krijgen '.html'-extensie\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension         alle HTML-documenten krijgen '.html'-"
+"extensie\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
 msgstr "       --ignore-length          de 'Content-Length'-kopregel negeren\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=TEKENREEKS      deze TEKENREEKS tussen kopregels invoegen\n"
+msgstr ""
+"       --header=TEKENREEKS      deze TEKENREEKS tussen kopregels invoegen\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect           maximum aantal doorverwijzingen per pagina\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=GEBRUIKER   de GEBRUIKER voor de proxy\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-passwd=WACHTWRD  het WACHTWRD voor de proxy\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL            een 'Referer:'-kopregel met deze URL gebruiken\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL            een 'Referer'-kopregel met deze URL "
+"gebruiken\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "  -s,  --save-headers           HTTP-kopregels in bestand opslaan\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT       als AGENT identificeren, niet als Wget/VERSIE\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT       als AGENT identificeren, niet als Wget/"
+"VERSIE\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
 msgstr "       --no-http-keep-alive     geen HTTP-'keep-alive' gebruiken\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies             geen cookies gebruiken\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=BESTAND   cookies voor de sessie uit dit BESTAND laden\n"
+msgstr ""
+"       --load-cookies=BESTAND   cookies voor de sessie uit dit BESTAND "
+"laden\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=BESTAND   cookies na de sessie in dit BESTAND opslaan\n"
+msgstr ""
+"       --save-cookies=BESTAND   cookies na de sessie in dit BESTAND opslaan\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies   de (tijdelijke) sessiecookies laden en opslaan\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies   de (tijdelijke) sessiecookies laden en "
+"opslaan\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=TEKENREEKS   deze TEKENREEKS met POST-methode verzenden\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=TEKENREEKS   deze TEKENREEKS met POST-methode verzenden\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=BESTAND      dit BESTAND met POST-methode verzenden\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=BESTAND      dit BESTAND met POST-methode verzenden\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition    'Content-Disposition'-kopregel respecteren "
+"bij\n"
+"                                keuze van lokale bestandsnamen "
+"[EXPERIMENTEEL]\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS-opties (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
@@ -1163,398 +1269,494 @@ msgstr ""
 "       --secure-protocol=PRTCL  beveiligingsprotocol PRTCL gebruiken\n"
 "                                ('auto', 'SSLv2', 'SSLv3', of 'TLSv1')\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr "       --no-check-certificate   servercertificaat niet controleren\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=BESTAND    BESTAND dat cliënt-certificaat bevat\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TYPE  TYPE van cliëntcertificaat ('PEM' of 'DER')\n"
+msgstr ""
+"       --certificate-type=TYPE  TYPE van cliëntcertificaat ('PEM' of 'DER')\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=BESTAND    BESTAND dat de privésleutels bevat\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=TYPE  TYPE van privésleutel ('PEM' of 'DER')\n"
+msgstr ""
+"       --private-key-type=TYPE  TYPE van privésleutel ('PEM' of 'DER')\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=BESTAND BESTAND dat bundel CA's bevat\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=MAP       MAP waar hash-lijst van CA's opgeslagen is\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=MAP       MAP waar hash-lijst van CA's opgeslagen is\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=BESTAND    BESTAND met ruis om de SSL-PRNG te 'seeden'\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=BESTAND    BESTAND met ruis om de SSL-PRNG te 'seeden'\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr "       --egd-file=BESTAND       BESTAND met naam van de EGD-socket\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP-opties:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=GEBRUIKER     de GEBRUIKER voor FTP\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=WACHTWRD  het WACHTWRD voor FTP\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
-msgstr "       --no-remove-listing      '.listing'-bestanden niet verwijderen\n"
+msgstr ""
+"       --no-remove-listing      '.listing'-bestanden niet verwijderen\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
 msgstr "       --no-glob                bestandsnaam-'globbing' uitzetten\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp         niet de \"passieve\" overdrachtsmodus gebruiken\n"
+msgstr ""
+"       --no-passive-ftp         niet de \"passieve\" overdrachtsmodus "
+"gebruiken\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
 "       --retr-symlinks          symbolisch-gekoppelde bestanden ook ophalen\n"
 "                                (bij recursie), maar geen mappen\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions   permissies van bestanden op server behouden\n"
+msgstr ""
+"       --preserve-permissions   permissies van bestanden op server behouden\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Recursief downloaden:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          recursief downloaden\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=AANTAL       maximale recursiediepte ('0' voor onbegrensd)\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=AANTAL       maximale recursiediepte ('0' voor onbegrensd)\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr "       --delete-after       bestanden na downloaden lokaal wissen\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr ""
 "  -k,  --convert-links      de hyperlinks in opgehaalde HTML-bestanden naar\n"
 "                            lokale bestanden laten wijzen\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr ""
-"  -K,  --backup-converted   een reverkopie XX.orig maken alvorens bestand XX\n"
+"  -K,  --backup-converted   een reverkopie XX.orig maken alvorens bestand "
+"XX\n"
 "                            te converteren\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             gelijk aan '-r -N -l inf --no-remove-listing' samen\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             gelijk aan '-r -N -l inf --no-remove-listing' "
+"samen\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    alle plaatjes enzovoort voor HTML-weergave ophalen\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    alle plaatjes enzovoort voor HTML-weergave "
+"ophalen\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    HTML-commentaar strikt volgens SGML afhandelen\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    HTML-commentaar strikt volgens SGML afhandelen\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
-msgstr "Recursief accepteren/weigeren (de LIJSTen zijn kommagescheiden opsommingen):\n"
+msgstr ""
+"Recursief accepteren/weigeren (de LIJSTen zijn kommagescheiden "
+"opsommingen):\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr "  -A,  --accept=LIJST               geaccepteerde achtervoegsels\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr "  -R,  --reject=LIJST               geweigerde achtervoegsels\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr "  -D,  --domains=LIJST              geaccepteerde domeinen\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr "       --exclude-domains=LIJST      geweigerde domeinen\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                 FTP-hyperlinks in HTML-documenten volgen\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                 FTP-hyperlinks in HTML-documenten "
+"volgen\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr "       --follow-tags=LIJST          deze HTML-tags volgen\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr "       --ignore-tags=LIJST          deze HTML-tags negeren\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                 ook naar andere servers gaan (bij recursie)\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                 ook naar andere servers gaan (bij "
+"recursie)\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
-msgstr "  -L,  --relative                   alleen relatieve hyperlinks volgen\n"
+msgstr ""
+"  -L,  --relative                   alleen relatieve hyperlinks volgen\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=LIJST  geaccepteerde mappen\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LIJST  uitgesloten mappen\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent                  hogergelegen mappen negeren\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr ""
-"Rapporteer gebreken in het programma (of suggesties) aan <bug-wget@gnu.org>.\n"
-"Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
+"Rapporteer gebreken in het programma (of suggesties) aan <bug-wget@gnu."
+"org>;\n"
+"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr ""
-"GNU Wget %s, een niet-interactief programma\n"
-"voor het ophalen van bestanden over een netwerk.\n"
+"GNU Wget %s\n"
+"\n"
+"Een niet-interactief programma voor het ophalen van bestanden over een "
+"netwerk.\n"
 "\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Dit programma wordt verspreid in de hoop dat het nuttig zal zijn,\n"
-"maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie\n"
-"van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL.\n"
-"Zie de GNU General Public License voor de details.\n"
-
-#: src/main.c:665
+"Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n"
+"De precieze licentie is GPLv3+: GNU GPL versie 3 of later.\n"
+"Zie http://gnu.org/licenses/gpl.html voor de volledige tekst.\n"
+"Er is GEEN GARANTIE, voor zover de wet dit toestaat.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
 msgstr ""
 "\n"
-"Oorspronkelijk geschreven door Hrvoje Niksic <hniksic@xemacs.org>.\n"
+"Oorspronkelijk geschreven door Hrvoje Nikšić <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Tegenwoordig onderhouden door Micah Cowan <micah@cowan.name>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
-msgstr "Probeer '%s --help' voor meer opties.\n"
+msgstr "Typ '%s --help' voor meer opties.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: ongeldige optie -- '-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Kan niet gelijktijdig 'breedsprakig' en 'stil' zijn.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Tijdstempels en het niet-overschrijven van oude bestanden gaan niet samen.\n"
+msgstr ""
+"Tijdsstempels en het niet-overschrijven van oude bestanden gaan niet samen.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Opties '--inet4-only' en '--inet6-only' gaan niet samen.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Opties '-r', '-p' en '-N en gaan niet samen met '-O'.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+"Opties '-k' en '-O' gaan niet samen als er meerdere URL's gegeven zijn.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: ontbrekende URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
-msgstr "Geen URLs gevonden in %s.\n"
+msgstr "Geen URL's gevonden in %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "KLAAR --%s--\n"
-"Opgehaald: %s bytes in %d bestanden\n"
+"Opgehaald: %d bestanden, %s in %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Downloadquotum (%s bytes) is overschreden!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Downloadquotum van %s bytes is overschreden!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Voortzetting in de achtergrond.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Voortzetting in de achtergrond, proces-ID %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Uitvoer wordt naar '%s' geschreven.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Kan geen bruikbare 'socket driver' vinden.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: waarschuwing: '%s'-sleutelwoord aangetroffen voor een machinenaam\n"
+msgstr ""
+"%s: %s:%d: waarschuwing: '%s'-sleutelwoord aangetroffen voor een "
+"machinenaam\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: onbekend sleutelwoord '%s'\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Gebruik:  %s NETRC [HOSTNAAM]\n"
 
-# stat
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
-msgstr "%s: kan de status van bestand %s niet opvragen: %s\n"
+msgstr "%s: kan status van %s niet opvragen: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
-msgstr "WAARSCHUWING: er wordt een zwakke 'seed' voor de toevalsgenerator gebruikt.\n"
+msgstr ""
+"WAARSCHUWING: er wordt een zwakke 'seed' voor de toevalsgenerator gebruikt.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "Kan geen 'seed' voor PRNG vinden;  gebruik eventueel '--random-file'.\n"
+msgstr ""
+"Kan geen 'seed' voor PRNG vinden;  gebruik eventueel '--random-file'.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "FOUT"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "WAARSCHUWING"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: Geen certificaat aangeboden door %s.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: Fout tijdens certificaatscontrole voor %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: Kan certificaat van %s (uitgegeven door %s) niet controleren:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Kan de autoriteit van de uitgever niet lokaal verifiëren.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Zelf-ondertekend certificaat gevonden.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Certificaat is nog niet geldig.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Certificaat is verlopen.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: Naam '%s' in certificaat komt niet overeen met gevraagde hostnaam '%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: Naam '%s' in certificaat komt niet overeen met gevraagde hostnaam '%s'.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "Gebruik '--no-check-certificate' om een onbeveiligde verbinding met %s te maken.\n"
+msgstr ""
+"Gebruik '--no-check-certificate' om een onbeveiligde verbinding met %s te "
+"maken.\n"
 
-# I have no clue what this comment is about... RvS
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ %dK wordt overgeslagen ]"
+"%*s[ %sK wordt overgeslagen ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Ongeldige puntjesstijl '%s' opgegeven; blijft onveranderd.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  nog %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   in "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "Kan frequentie van de klok niet bepalen: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "'%s' wordt verwijderd omdat het verworpen dient te worden.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Kan %s niet openen: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Laden van 'robots.txt'; fouten kunnen worden genegeerd.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Fout tijdens ontleden van proxy-URL '%s': %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Fout in proxy-URL '%s': moet HTTP zijn.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
-msgstr "%d doorverwijzingen overschreden.\n"
+msgstr "Maximum van %d doorverwijzingen is overschreden.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1562,7 +1764,7 @@ msgstr ""
 "Pogingen worden gestaakt.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1570,50 +1772,77 @@ msgstr ""
 "Nieuwe poging.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Geen verbroken hyperlinks gevonden.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"%d verbroken hyperlink gevonden.\n"
+"\n"
+msgstr[1] ""
+"%d verbroken hyperlinks gevonden.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Geen fout"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Niet-ondersteund schema"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Ongeldige hostnaam"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Ongeldig poortnummer"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Ongeldige gebruikersnaam"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Onafgesloten numeriek IPv6-adres"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6-adressen worden niet ondersteund"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Ongeldig numeriek IPv6-adres"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Voortzetting in de achtergrond, proces-ID %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Verwijderen van symbolische koppeling '%s' is mislukt: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: Kan geen %ld bytes reserveren; onvoldoende geheugen.\n"
diff --git a/po/no.po b/po/no.po
deleted file mode 100644 (file)
index 090b40b..0000000
--- a/po/no.po
+++ /dev/null
@@ -1,1110 +0,0 @@
-# Norwegian messages for GNU wget (bokmål dialect)
-# Copyright (C) 1998 Free Software Foundation, Inc.
-# Robert Schmidt <rsc@vingmed.no>, 1998.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: wget 1.5.2-b1\n"
-"POT-Creation-Date: 2001-06-03 15:27+0200\n"
-"PO-Revision-Date: 1998-05-22 09:00+0100\n"
-"Last-Translator: Robert Schmidt <rsc@vingmed.no>\n"
-"Language-Team: Norwegian <no@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/cookies.c:588
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr ""
-
-#: src/cookies.c:612
-#, c-format
-msgid "Syntax error in Set-Cookie at character `%c'.\n"
-msgstr ""
-
-#: src/cookies.c:620
-msgid "Syntax error in Set-Cookie: premature end of string.\n"
-msgstr ""
-
-#: src/cookies.c:1352
-#, fuzzy, c-format
-msgid "Cannot open cookies file `%s': %s\n"
-msgstr "Kan ikke konvertere linker i %s: %s\n"
-
-#: src/cookies.c:1364
-#, fuzzy, c-format
-msgid "Error writing to `%s': %s\n"
-msgstr "Kan ikke skrive til «%s» (%s).\n"
-
-#: src/cookies.c:1368
-#, c-format
-msgid "Error closing `%s': %s\n"
-msgstr ""
-
-#: src/ftp-ls.c:787
-msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr ""
-
-#: src/ftp-ls.c:832 src/ftp-ls.c:834
-#, c-format
-msgid "Index of /%s on %s:%d"
-msgstr "Indeks for /%s på %s:%d"
-
-#: src/ftp-ls.c:856
-msgid "time unknown       "
-msgstr "ukjent tid         "
-
-#: src/ftp-ls.c:860
-msgid "File        "
-msgstr "Fil         "
-
-#: src/ftp-ls.c:863
-msgid "Directory   "
-msgstr "Katalog     "
-
-#: src/ftp-ls.c:866
-msgid "Link        "
-msgstr "Link        "
-
-#: src/ftp-ls.c:869
-msgid "Not sure    "
-msgstr "Usikker     "
-
-#: src/ftp-ls.c:887
-#, c-format
-msgid " (%s bytes)"
-msgstr " (%s bytes)"
-
-#. Login to the server:
-#. First: Establish the control connection.
-#: src/ftp.c:150 src/http.c:624
-#, c-format
-msgid "Connecting to %s:%hu... "
-msgstr "Kontakter %s:%hu... "
-
-#: src/ftp.c:172 src/ftp.c:539 src/http.c:641
-#, c-format
-msgid "Connection to %s:%hu refused.\n"
-msgstr "Kontakt med %s:%hu nektet.\n"
-
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:193 src/http.c:652
-msgid "connected!\n"
-msgstr "kontakt!\n"
-
-#: src/ftp.c:194
-#, c-format
-msgid "Logging in as %s ... "
-msgstr "Logger inn som %s ... "
-
-#: src/ftp.c:203 src/ftp.c:256 src/ftp.c:288 src/ftp.c:336 src/ftp.c:429
-#: src/ftp.c:481 src/ftp.c:575 src/ftp.c:648 src/ftp.c:709 src/ftp.c:757
-msgid "Error in server response, closing control connection.\n"
-msgstr "Feil i svar fra tjener, lukker kontrollforbindelsen.\n"
-
-#: src/ftp.c:211
-msgid "Error in server greeting.\n"
-msgstr "Feil i melding fra tjener.\n"
-
-#: src/ftp.c:219 src/ftp.c:345 src/ftp.c:438 src/ftp.c:490 src/ftp.c:585
-#: src/ftp.c:658 src/ftp.c:719 src/ftp.c:767
-msgid "Write failed, closing control connection.\n"
-msgstr "Feil ved skriving, lukker kontrollforbindelsen.\n"
-
-#: src/ftp.c:226
-msgid "The server refuses login.\n"
-msgstr "Tjeneren tillater ikke innlogging.\n"
-
-#: src/ftp.c:233
-msgid "Login incorrect.\n"
-msgstr "Feil ved innlogging.\n"
-
-#: src/ftp.c:240
-msgid "Logged in!\n"
-msgstr "Logget inn!\n"
-
-#: src/ftp.c:265
-msgid "Server error, can't determine system type.\n"
-msgstr ""
-
-#: src/ftp.c:275 src/ftp.c:560 src/ftp.c:632 src/ftp.c:689
-msgid "done.    "
-msgstr "OK.      "
-
-#: src/ftp.c:325 src/ftp.c:459 src/ftp.c:740 src/ftp.c:788 src/url.c:1429
-msgid "done.\n"
-msgstr "OK.\n"
-
-#: src/ftp.c:353
-#, c-format
-msgid "Unknown type `%c', closing control connection.\n"
-msgstr "Ukjent type «%c», lukker kontrollforbindelsen.\n"
-
-#: src/ftp.c:366
-msgid "done.  "
-msgstr "OK.    "
-
-#: src/ftp.c:372
-msgid "==> CWD not needed.\n"
-msgstr "==> CWD ikke nødvendig.\n"
-
-#: src/ftp.c:445
-#, c-format
-msgid "No such directory `%s'.\n\n"
-msgstr "Ingen katalog ved navn «%s».\n\n"
-
-#. do not CWD
-#: src/ftp.c:463
-msgid "==> CWD not required.\n"
-msgstr "==> CWD ikke nødvendig.\n"
-
-#: src/ftp.c:497
-msgid "Cannot initiate PASV transfer.\n"
-msgstr "Kan ikke sette opp PASV-overføring.\n"
-
-#: src/ftp.c:501
-msgid "Cannot parse PASV response.\n"
-msgstr "Kan ikke tolke PASV-tilbakemelding.\n"
-
-#: src/ftp.c:515
-#, c-format
-msgid "Will try connecting to %s:%hu.\n"
-msgstr "Vil prøve å kontakte %s:%hu.\n"
-
-#: src/ftp.c:602
-#, c-format
-msgid "Bind error (%s).\n"
-msgstr "Bind-feil (%s).\n"
-
-#: src/ftp.c:618
-msgid "Invalid PORT.\n"
-msgstr "Ugyldig PORT.\n"
-
-#: src/ftp.c:671
-#, c-format
-msgid "\nREST failed; will not truncate `%s'.\n"
-msgstr ""
-
-#: src/ftp.c:678
-msgid "\nREST failed, starting from scratch.\n"
-msgstr "\nFeil ved REST, starter fra begynnelsen.\n"
-
-#: src/ftp.c:727
-#, c-format
-msgid "No such file `%s'.\n\n"
-msgstr "Ingen fil ved navn «%s».\n\n"
-
-#: src/ftp.c:775
-#, c-format
-msgid "No such file or directory `%s'.\n\n"
-msgstr "Ingen fil eller katalog ved navn «%s».\n\n"
-
-#: src/ftp.c:859 src/ftp.c:867
-#, c-format
-msgid "Length: %s"
-msgstr "Lengde: %s"
-
-#: src/ftp.c:861 src/ftp.c:869
-#, c-format
-msgid " [%s to go]"
-msgstr " [%s igjen]"
-
-#: src/ftp.c:871
-msgid " (unauthoritative)\n"
-msgstr " (ubekreftet)\n"
-
-#: src/ftp.c:898
-#, c-format
-msgid "%s: %s, closing control connection.\n"
-msgstr "%s: %s, lukker kontrollforbindelsen.\n"
-
-#: src/ftp.c:906
-#, c-format
-msgid "%s (%s) - Data connection: %s; "
-msgstr "%s (%s) - dataforbindelse: %s; "
-
-#: src/ftp.c:923
-msgid "Control connection closed.\n"
-msgstr "Forbindelsen brutt.\n"
-
-#: src/ftp.c:941
-msgid "Data transfer aborted.\n"
-msgstr "Dataoverføring brutt.\n"
-
-#: src/ftp.c:1005
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
-msgstr "File «%s» eksisterer allerede, ignoreres.\n"
-
-#: src/ftp.c:1075 src/http.c:1502
-#, c-format
-msgid "(try:%2d)"
-msgstr "(forsøk:%2d)"
-
-#: src/ftp.c:1139 src/http.c:1753
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld]\n\n"
-msgstr "%s (%s) - «%s» lagret [%ld]\n\n"
-
-#: src/ftp.c:1181 src/main.c:810 src/recur.c:483 src/retr.c:566
-#, c-format
-msgid "Removing %s.\n"
-msgstr "Fjerner %s.\n"
-
-#: src/ftp.c:1221
-#, c-format
-msgid "Using `%s' as listing tmp file.\n"
-msgstr "Bruker «%s» som temporær katalogliste.\n"
-
-#: src/ftp.c:1233
-#, c-format
-msgid "Removed `%s'.\n"
-msgstr "Slettet «%s».\n"
-
-#: src/ftp.c:1269
-#, c-format
-msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "Rekursjonsdybde %d overskred maksimal dybde %d.\n"
-
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1330
-#, fuzzy, c-format
-msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Fil på tjener er nyere - hentes.\n"
-
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1337
-#, fuzzy, c-format
-msgid "Remote file is newer than local file `%s' -- retrieving.\n\n"
-msgstr "Fil på tjener er nyere - hentes.\n"
-
-#. Sizes do not match
-#: src/ftp.c:1344
-#, fuzzy, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n\n"
-msgstr "Filstørrelsene er forskjellige (local %ld), hentes.\n"
-
-#: src/ftp.c:1361
-msgid "Invalid name of the symlink, skipping.\n"
-msgstr "Ugyldig navn for symbolsk link, ignoreres.\n"
-
-#: src/ftp.c:1378
-#, c-format
-msgid "Already have correct symlink %s -> %s\n\n"
-msgstr "Har allerede gyldig symbolsk link %s -> %s\n\n"
-
-#: src/ftp.c:1386
-#, c-format
-msgid "Creating symlink %s -> %s\n"
-msgstr "Lager symbolsk link %s -> %s\n"
-
-#: src/ftp.c:1397
-#, c-format
-msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Symbolske linker ikke støttet, ignorerer «%s».\n"
-
-#: src/ftp.c:1409
-#, c-format
-msgid "Skipping directory `%s'.\n"
-msgstr "Ignorerer katalog «%s».\n"
-
-#: src/ftp.c:1418
-#, c-format
-msgid "%s: unknown/unsupported file type.\n"
-msgstr "%s: filtypen er ukjent/ikke støttet.\n"
-
-#: src/ftp.c:1445
-#, c-format
-msgid "%s: corrupt time-stamp.\n"
-msgstr "%s: ugyldig tidsstempel.\n"
-
-#: src/ftp.c:1466
-#, c-format
-msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Henter ikke kataloger på dybde %d (max %d).\n"
-
-#: src/ftp.c:1512
-#, c-format
-msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Behandler ikke «%s» da det er ekskludert/ikke inkludert.\n"
-
-#: src/ftp.c:1559
-#, c-format
-msgid "Rejecting `%s'.\n"
-msgstr "Ignorerer «%s».\n"
-
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1606
-#, c-format
-msgid "No matches on pattern `%s'.\n"
-msgstr "Ingenting passer med mønsteret «%s».\n"
-
-#: src/ftp.c:1671
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
-msgstr "Skrev HTML-formattert indeks til «%s» [%ld].\n"
-
-#: src/ftp.c:1676
-#, c-format
-msgid "Wrote HTML-ized index to `%s'.\n"
-msgstr "Skrev HTML-formattert indeks til «%s».\n"
-
-#: src/getopt.c:454
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: flagget «%s» er tvetydig\n"
-
-#: src/getopt.c:478
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: flagget «--%s» tillater ikke argumenter\n"
-
-#: src/getopt.c:483
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: flagget «%c%s» tillater ikke argumenter\n"
-
-#: src/getopt.c:498
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: flagget «%s» krever et argument\n"
-
-#. --option
-#: src/getopt.c:528
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ukjent flagg «--%s»\n"
-
-#. +option or -option
-#: src/getopt.c:532
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ukjent flagg «%c%s»\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:563
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ugyldig flagg -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:602
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: flagget krever et argument -- %c\n"
-
-#: src/host.c:374
-msgid "Host not found"
-msgstr "Tjener ikke funnet"
-
-#: src/host.c:376
-msgid "Unknown error"
-msgstr "Ukjent feil"
-
-#. this is fatal
-#: src/http.c:555
-msgid "Failed to set up an SSL context\n"
-msgstr ""
-
-#: src/http.c:561
-#, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr ""
-
-#: src/http.c:565 src/http.c:573
-msgid "Trying without the specified certificate\n"
-msgstr ""
-
-#: src/http.c:569
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr ""
-
-#: src/http.c:663 src/http.c:1593
-msgid "Unable to establish SSL connection.\n"
-msgstr ""
-
-#: src/http.c:671
-#, fuzzy, c-format
-msgid "Reusing connection to %s:%hu.\n"
-msgstr "Vil prøve å kontakte %s:%hu.\n"
-
-#: src/http.c:861
-#, fuzzy, c-format
-msgid "Failed writing HTTP request: %s.\n"
-msgstr "Feil ved sending av HTTP-forespørsel.\n"
-
-#: src/http.c:866
-#, c-format
-msgid "%s request sent, awaiting response... "
-msgstr "%s forespørsel sendt, mottar topptekster... "
-
-#: src/http.c:910
-msgid "End of file while parsing headers.\n"
-msgstr "Filslutt funnet ved lesing av topptekster.\n"
-
-#: src/http.c:920
-#, c-format
-msgid "Read error (%s) in headers.\n"
-msgstr "Lesefeil (%s) i topptekster.\n"
-
-#: src/http.c:959
-msgid "No data received"
-msgstr "Ingen data mottatt"
-
-#: src/http.c:961
-msgid "Malformed status line"
-msgstr "Feil i statuslinje"
-
-#: src/http.c:966
-msgid "(no description)"
-msgstr "(ingen beskrivelse)"
-
-#: src/http.c:1089
-msgid "Authorization failed.\n"
-msgstr "Autorisasjon mislyktes\n"
-
-#: src/http.c:1096
-msgid "Unknown authentication scheme.\n"
-msgstr "Ukjent autorisasjons-protokoll.\n"
-
-#: src/http.c:1136
-#, c-format
-msgid "Location: %s%s\n"
-msgstr "Sted: %s%s\n"
-
-#: src/http.c:1137 src/http.c:1269
-msgid "unspecified"
-msgstr "uspesifisert"
-
-#: src/http.c:1138
-msgid " [following]"
-msgstr " [omdirigert]"
-
-#: src/http.c:1200
-msgid "\n    The file is already fully retrieved; nothing to do.\n\n"
-msgstr ""
-
-#: src/http.c:1216
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1259
-msgid "Length: "
-msgstr "Lengde: "
-
-#: src/http.c:1264
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s igjen)"
-
-#: src/http.c:1269
-msgid "ignored"
-msgstr "ignoreres"
-
-#: src/http.c:1399
-msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "Advarsel: jokertegn ikke støttet i HTTP.\n"
-
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1417
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Filen «%s» hentes ikke, fordi den allerede eksisterer.\n"
-
-#: src/http.c:1585
-#, c-format
-msgid "Cannot write to `%s' (%s).\n"
-msgstr "Kan ikke skrive til «%s» (%s).\n"
-
-#: src/http.c:1602
-#, c-format
-msgid "ERROR: Redirection (%d) without location.\n"
-msgstr "FEIL: Omdirigering (%d) uten nytt sted.\n"
-
-#: src/http.c:1630
-#, c-format
-msgid "%s ERROR %d: %s.\n"
-msgstr "%s FEIL %d: %s.\n"
-
-#: src/http.c:1642
-msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Last-modified topptekst mangler -- tidsstempling slås av.\n"
-
-#: src/http.c:1650
-msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Last-modified topptekst ugyldig -- tidsstempel ignoreres.\n"
-
-#: src/http.c:1673
-#, c-format
-msgid "Server file no newer than local file `%s' -- not retrieving.\n\n"
-msgstr ""
-
-#: src/http.c:1680
-#, fuzzy, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
-msgstr "Filstørrelsene er forskjellige (local %ld), hentes.\n"
-
-#: src/http.c:1684
-msgid "Remote file is newer, retrieving.\n"
-msgstr "Fil på tjener er nyere - hentes.\n"
-
-#: src/http.c:1728
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld]\n\n"
-msgstr "%s (%s) - «%s» lagret [%ld/%ld]\n\n"
-
-#: src/http.c:1774
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Forbindelse brutt ved byte %ld. "
-
-#: src/http.c:1782
-#, c-format
-msgid "%s (%s) - `%s' saved [%ld/%ld])\n\n"
-msgstr "%s (%s) - «%s» lagret [%ld/%ld]\n\n"
-
-#: src/http.c:1801
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Forbindelse brutt ved byte %ld/%ld. "
-
-#: src/http.c:1812
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
-msgstr "%s (%s) - Lesefeil ved byte %ld (%s)."
-
-#: src/http.c:1820
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
-msgstr "%s (%s) - Lesefeil ved byte %ld/%ld (%s)."
-
-#: src/init.c:349 src/netrc.c:267
-#, c-format
-msgid "%s: Cannot read %s (%s).\n"
-msgstr "%s: Kan ikke lese %s (%s).\n"
-
-#: src/init.c:367 src/init.c:373
-#, c-format
-msgid "%s: Error in %s at line %d.\n"
-msgstr "%s: Feil i %s på linje %d.\n"
-
-#: src/init.c:405
-#, c-format
-msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Advarsel: Både systemets og brukerens wgetrc peker til «%s».\n"
-
-#: src/init.c:497
-#, c-format
-msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-msgstr "%s: Ukjent kommando «%s», verdi «%s».\n"
-
-#: src/init.c:529
-#, fuzzy, c-format
-msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
-msgstr "%s: Advarsel: feil fra tilbake-oppslag for lokal IP-adresse.\n"
-
-#: src/init.c:559
-#, c-format
-msgid "%s: %s: Please specify on or off.\n"
-msgstr "%s: %s: Vennligst spesifiser «on» eller «off».\n"
-
-#: src/init.c:603
-#, fuzzy, c-format
-msgid "%s: %s: Please specify always, on, off, or never.\n"
-msgstr "%s: %s: Vennligst spesifiser «on» eller «off».\n"
-
-#: src/init.c:622 src/init.c:919 src/init.c:941 src/init.c:1005
-#, c-format
-msgid "%s: %s: Invalid specification `%s'.\n"
-msgstr "%s: %s: Ugyldig spesifikasjon «%s»\n"
-
-#: src/init.c:775 src/init.c:797 src/init.c:819 src/init.c:845
-#, c-format
-msgid "%s: Invalid specification `%s'\n"
-msgstr "%s: Ugyldig spesifikasjon «%s»\n"
-
-#: src/main.c:120
-#, c-format
-msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "Bruk: %s [FLAGG]... [URL]...\n"
-
-#: src/main.c:128
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, en ikke-interaktiv informasjonsagent.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:133
-msgid "\nMandatory arguments to long options are mandatory for short options too.\n\n"
-msgstr ""
-"\n"
-"Obligatoriske argumenter til lange flagg er obligatoriske også \n"
-"for korte.\n"
-"\n"
-
-#: src/main.c:137
-#, fuzzy
-msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
-msgstr ""
-"Oppstart:\n"
-"  -V,  --version           viser Wget's versjonsnummer og avslutter.\n"
-"  -h,  --help              skriver ut denne hjelpeteksten.\n"
-"  -b,  --background        kjører i bakgrunnen etter oppstart.\n"
-"  -e,  --execute=KOMMANDO  utfør en «.wgetrc»-kommando.\n"
-"\n"
-
-#: src/main.c:144
-#, fuzzy
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"\n"
-msgstr ""
-"Utskrifter og innlesing:\n"
-"  -o,  --output-file=FIL      skriv meldinger til ny FIL.\n"
-"  -a,  --append-output=FIL    skriv meldinger på slutten av FIL.\n"
-"  -d,  --debug                skriv avlusingsinformasjon.\n"
-"  -q,  --quiet                stille (ingen utskrifter).\n"
-"  -v,  --verbose              vær utførlig (standard).\n"
-"  -nv, --non-verbose          mindre utførlig, men ikke stille.\n"
-"  -i,  --input-file=FIL       les URLer fra FIL.\n"
-"  -F,  --force-html           les inn filer som HTML.\n"
-"\n"
-
-#: src/main.c:158
-#, fuzzy
-msgid ""
-"Download:\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --dot-style=STYLE        set retrieval display style.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"\n"
-msgstr ""
-"Nedlasting:\n"
-"  -t,  --tries=ANTALL           maksimalt antall forsøk (0 for uendelig).\n"
-"  -O   --output-document=FIL    skriv nedlastede filer til FIL.\n"
-"  -nc, --no-clobber             ikke berør eksisterende filer.\n"
-"  -c,  --continue               fortsett nedlasting av en eksisterende fil.\n"
-"       --dot-style=TYPE         velg format for nedlastings-status.\n"
-"  -N,  --timestamping           ikke hent filer som er eldre enn eksisterende.\n"
-"  -S,  --server-response        vis svar fra tjeneren.\n"
-"       --spider                 ikke hent filer.\n"
-"  -T,  --timeout=SEKUNDER       sett ventetid ved lesing til SEKUNDER.\n"
-"  -w,  --wait=SEKUNDER          sett ventetid mellom filer til SEKUNDER.\n"
-"  -Y,  --proxy=on/off           sett bruk av proxy på eller av.\n"
-"  -Q,  --quota=ANTALL           sett nedlastingskvote til ANTALL.\n"
-"\n"
-
-#: src/main.c:175
-msgid ""
-"Directories:\n"
-"  -nd  --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
-msgstr ""
-"Kataloger:\n"
-"  -nd  --no-directories             ikke lag kataloger.\n"
-"  -x,  --force-directories          lag kataloger.\n"
-"  -nH, --no-host-directories        ikke lag ovenstående kataloger.\n"
-"  -P,  --directory-prefix=PREFIKS   skriv filer til PREFIKS/...\n"
-"       --cut-dirs=ANTALL            ignorer ANTALL komponenter av tjenerens\n"
-"                                    katalognavn.\n"
-"\n"
-
-#: src/main.c:183
-#, fuzzy
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"\n"
-msgstr ""
-"HTTP-flagg:\n"
-"       --http-user=BRUKER      sett HTTP-bruker til BRUKER.\n"
-"       --http-passwd=PASSORD   sett HTTP-passord til PASSORD.\n"
-"  -C,  --cache=on/off          (ikke) tillat bruk av hurtiglager på tjener.\n"
-"       --ignore-length         ignorer «Content-Length» felt i topptekst.\n"
-"       --header=TEKST          sett TEKST inn som en topptekst.\n"
-"       --proxy-user=BRUKER     sett proxy-bruker til BRUKER.\n"
-"       --proxy-passwd=PASSORD  sett proxy-passord til PASSORD.\n"
-"  -s,  --save-headers          skriv HTTP-topptekster til fil.\n"
-"  -U,  --user-agent=AGENT      identifiser som AGENT i stedet for \n"
-"                               «Wget/VERSJON».\n"
-"\n"
-
-#: src/main.c:201
-#, fuzzy
-msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
-msgstr ""
-"FTP-flagg:\n"
-"       --retr-symlinks   hent symbolske linker via FTP.\n"
-"  -g,  --glob=on/off     (ikke) tolk bruk av jokertegn i filnavn.\n"
-"       --passive-ftp     bruk passiv overføringsmodus.\n"
-"\n"
-
-#: src/main.c:208
-#, fuzzy
-msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive web-suck -- use with care!\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-"       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
-"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"\n"
-msgstr ""
-"Rekursiv nedlasting:\n"
-"  -r,  --recursive             tillat rekursiv nedlasting -- bruk med omtanke!\n"
-"  -l,  --level=ANTALL          maksimalt antall rekursjonsnivåer (0=uendelig).\n"
-"       --delete-after          slett nedlastede filer.\n"
-"  -k,  --convert-links         konverter absolutte linker til relative.\n"
-"  -m,  --mirror                sett passende flagg for speiling av tjenere.\n"
-"  -nr, --dont-remove-listing   ikke slett «.listing»-filer.\n"
-"\n"
-
-#: src/main.c:218
-#, fuzzy
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -nh, --no-host-lookup             don't DNS-lookup hosts.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
-msgstr ""
-"Hva er tillatt ved rekursjon:\n"
-"  -A,  --accept=LISTE               liste med tillatte filtyper.\n"
-"  -R,  --reject=LISTE               liste med ikke tillatte filtyper.\n"
-"  -D,  --domains=LISTE              liste med tillatte domener.\n"
-"       --exclude-domains=LISTE      liste med ikke tillatte domener.\n"
-"  -L,  --relative                   følg kun relative linker.\n"
-"       --follow-ftp                 følg FTP-linker fra HTML-dokumenter.\n"
-"  -H,  --span-hosts                 følg linker til andre tjenere.\n"
-"  -I,  --include-directories=LISTE  liste med tillatte katalognavn.\n"
-"  -X,  --exclude-directories=LISTE  liste med ikke tillatte katalognavn.\n"
-"  -nh, --no-host-lookup             ikke let etter tjenernavn via DNS.\n"
-"  -np, --no-parent                  ikke følg linker til ovenstående katalog.\n"
-"\n"
-
-#: src/main.c:234
-msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "Rapportér feil og send forslag til <bug-wget@gnu.org>.\n"
-
-#: src/main.c:420
-#, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: støtte for avlusing ikke inkludert ved kompilering.\n"
-
-#: src/main.c:472
-#, fuzzy
-msgid ""
-"Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-msgstr ""
-"Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.\n"
-"Dette programmet distribueres i håp om at det blir funnet nyttig,\n"
-"men UTEN NOEN GARANTIER; ikke en gang for SALGBARHET eller\n"
-"EGNETHET TIL NOEN SPESIELL OPPGAVE.\n"
-"Se «GNU General Public License» for detaljer.\n"
-
-#: src/main.c:478
-#, fuzzy
-msgid "\nOriginally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"
-msgstr "\nSkrevet av Hrvoje Niksic <hniksic@srce.hr>.\n"
-
-#: src/main.c:569
-#, c-format
-msgid "%s: %s: invalid command\n"
-msgstr "%s: %s: ugyldig kommando\n"
-
-#: src/main.c:625
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: ugyldig flagg -- «-n%c»\n"
-
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:628 src/main.c:670 src/main.c:728
-#, c-format
-msgid "Try `%s --help' for more options.\n"
-msgstr "Prøv «%s --help» for flere flagg.\n"
-
-#: src/main.c:708
-msgid "Can't be verbose and quiet at the same time.\n"
-msgstr "Kan ikke være utførlig og stille på samme tid.\n"
-
-#: src/main.c:714
-msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Kan ikke tidsstemple og la være å berøre eksisterende filer på samme tid.\n"
-
-#. No URL specified.
-#: src/main.c:723
-#, c-format
-msgid "%s: missing URL\n"
-msgstr "%s: URL mangler.\n"
-
-#: src/main.c:825
-#, c-format
-msgid "No URLs found in %s.\n"
-msgstr "Fant ingen URLer i %s.\n"
-
-#: src/main.c:834
-#, c-format
-msgid ""
-"\n"
-"FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
-msgstr ""
-"\n"
-"FERDIG --%s--\n"
-"Lastet ned %s bytes i %d filer\n"
-
-#: src/main.c:842
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Nedlastingskvote (%s bytes) overskredet!\n"
-
-#. Please note that the double `%' in `%%s' is intentional, because
-#. redirect_output passes tmp through printf.
-#: src/main.c:876
-#, c-format
-msgid "%s received, redirecting output to `%%s'.\n"
-msgstr "%s mottatt, omdirigerer utskrifter til «%%s».\n"
-
-#: src/mswindows.c:89
-#, c-format
-msgid ""
-"\n"
-"CTRL+Break received, redirecting output to `%s'.\n"
-"Execution continued in background.\n"
-"You may stop Wget by pressing CTRL+ALT+DELETE.\n"
-msgstr ""
-"\n"
-"CTRL+Break mottatt, omdirigerer utskrifter til `%s'.\n"
-"Kjøring fortsetter i bakgrunnen.\n"
-"Du kan stoppe Wget ved å trykke CTRL+ALT+DELETE.\n"
-"\n"
-
-#. parent, no error
-#: src/mswindows.c:106 src/utils.c:458
-msgid "Continuing in background.\n"
-msgstr "Fortsetter i bakgrunnen.\n"
-
-#: src/mswindows.c:108 src/utils.c:460
-#, c-format
-msgid "Output will be written to `%s'.\n"
-msgstr "Utskrifter vil bli skrevet til «%s».\n"
-
-#: src/mswindows.c:188
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Starter WinHelp %s\n"
-
-#: src/mswindows.c:215 src/mswindows.c:222
-#, c-format
-msgid "%s: Couldn't find usable socket driver.\n"
-msgstr "%s: Fant ingen brukbar socket-driver.\n"
-
-#: src/netrc.c:367
-#, c-format
-msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: Advarsel: symbolet «%s» funnet før tjener-navn\n"
-
-#: src/netrc.c:398
-#, c-format
-msgid "%s: %s:%d: unknown token \"%s\"\n"
-msgstr "%s: %s:%d: ukjent symbol «%s»\n"
-
-#: src/netrc.c:462
-#, c-format
-msgid "Usage: %s NETRC [HOSTNAME]\n"
-msgstr "Bruk: %s NETRC [TJENERNAVN]\n"
-
-#: src/netrc.c:472
-#, c-format
-msgid "%s: cannot stat %s: %s\n"
-msgstr "%s: «stat» feilet for %s: %s\n"
-
-#: src/recur.c:484
-#, c-format
-msgid "Removing %s since it should be rejected.\n"
-msgstr "Fjerner %s fordi den skal forkastes.\n"
-
-#: src/recur.c:679
-msgid "Loading robots.txt; please ignore errors.\n"
-msgstr "Henter robots.txt; ignorer eventuelle feilmeldinger.\n"
-
-#: src/retr.c:227
-#, c-format
-msgid "\n          [ skipping %dK ]"
-msgstr "\n          [ hopper over %dK ]"
-
-#: src/retr.c:373
-msgid "Could not find proxy host.\n"
-msgstr "Fant ikke proxy-tjener.\n"
-
-#: src/retr.c:387
-#, c-format
-msgid "Proxy %s: Must be HTTP.\n"
-msgstr "Proxy %s: Må støtte HTTP.\n"
-
-#: src/retr.c:481
-#, fuzzy, c-format
-msgid "%s: Redirection cycle detected.\n"
-msgstr "%s: Omdirigerer til seg selv.\n"
-
-#: src/retr.c:587
-msgid "Giving up.\n\n"
-msgstr "Gir opp.\n\n"
-
-#: src/retr.c:587
-msgid "Retrying.\n\n"
-msgstr "Prøver igjen.\n\n"
-
-#: src/url.c:1329
-#, c-format
-msgid "Converting %s... "
-msgstr "Konverterer %s... "
-
-#: src/url.c:1342
-msgid "nothing to do.\n"
-msgstr ""
-
-#: src/url.c:1350 src/url.c:1374
-#, c-format
-msgid "Cannot convert links in %s: %s\n"
-msgstr "Kan ikke konvertere linker i %s: %s\n"
-
-#: src/url.c:1365
-#, fuzzy, c-format
-msgid "Unable to delete `%s': %s\n"
-msgstr "Kan ikke slette den symbolske linken «%s»: %s\n"
-
-#: src/url.c:1555
-#, fuzzy, c-format
-msgid "Cannot back up %s as %s: %s\n"
-msgstr "Kan ikke konvertere linker i %s: %s\n"
-
-#: src/utils.c:94
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Ikke nok minne.\n"
-
-#: src/utils.c:417
-msgid "Unknown/unsupported protocol"
-msgstr "Protokollen er ukjent/ikke støttet"
-
-#: src/utils.c:420
-msgid "Invalid port specification"
-msgstr "Port-spesifikasjonen er ugyldig"
-
-#: src/utils.c:423
-msgid "Invalid host name"
-msgstr "Tjenernavnet er ugyldig"
-
-#: src/utils.c:620
-#, c-format
-msgid "Failed to unlink symlink `%s': %s\n"
-msgstr "Kan ikke slette den symbolske linken «%s»: %s\n"
-
-#~ msgid "Local file `%s' is more recent, not retrieving.\n\n"
-#~ msgstr "Lokal fil «%s» er samme/nyere, ignoreres.\n\n"
-
-#~ msgid "%s: Cannot determine user-id.\n"
-#~ msgstr "%s: Fant ikke bruker-ID.\n"
-
-#~ msgid "%s: Warning: uname failed: %s\n"
-#~ msgstr "%s: Advarsel: feil fra «uname»:  %s\n"
-
-#~ msgid "%s: Warning: gethostname failed\n"
-#~ msgstr "%s: Advarsel: feil fra «gethostname»\n"
-
-#~ msgid "%s: Warning: cannot determine local IP address.\n"
-#~ msgstr "%s: Advarsel: fant ikke lokal IP-adresse.\n"
-
-#~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
-#~ msgstr "%s: Advarsel: fikk ikke FQDN fra tilbake-oppslag for lokal IP-adresse!\n"
-
-#~ msgid "Error (%s): Link %s without a base provided.\n"
-#~ msgstr "Feil (%s): Link %s gitt uten utgangspunkt.\n"
-
-#~ msgid "Error (%s): Base %s relative, without referer URL.\n"
-#~ msgstr "Feil (%s): Utgangspunktet %s er relativt, ukjent URL som referent.\n"
index fc34d53ad9a65814c0dee3516d2c34e3d9c525c1..23db4e408b2d67767fe3919861280269bb600e7a 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -9,7 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9-b5\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2003-10-15 00:28+02:00\n"
 "Last-Translator: Wojciech Kotwica <wkotwica@post.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -17,28 +18,93 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "Nieudana konwersja `%s' na powi±zany adres.  Powrót do ANY.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: opcja `%s` jest niejednoznaczna\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "£±czenie siê z %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: opcja `--%s' nie przyjmuje argumentów\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: opcja `%c%s' nie przyjmuje argumentów\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: opcja `%s' wymaga argumentu\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: nierozpoznana opcja `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: nierozpoznana opcja `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: nieprawid³owa opcja -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: niew³a¶ciwa opcja -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opcja wymaga argumentu -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: opcja `-W %s' jest niejednoznaczna\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: opcja `-W %s' nie przyjmuje argumentów\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "£±czenie siê z %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "£±czenie siê z %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "po³±czono.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "nieudane: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Nie uda³o siê usun±æ `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Przekonwertowano %d plików w %.2f sekund.\n"
 
 #: src/convert.c:197
@@ -60,129 +126,153 @@ msgstr "Nie mo
 msgid "Unable to delete `%s': %s\n"
 msgstr "Nie uda³o siê usun±æ `%s': %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Nie mo¿na stworzyæ kopii zapasowej %s jako %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "B³±d w Set-Cookie, w polu `%s'"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, fuzzy, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "B³±d sk³adni w Set-Cookie: przedwczesny koniec ci±gu znaków.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Nie mo¿na otworzyæ pliku ciasteczek `%s': %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "B³±d podczas zapisu do `%s': %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "B³±d podczas zamykania `%s': %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Nieobs³ugiwany typ listy plików, próbowanie analizatora list Uniksowych.\n"
+msgstr ""
+"Nieobs³ugiwany typ listy plików, próbowanie analizatora list Uniksowych.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Indeks /%s na %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "czas nieznany      "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Plik        "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Katalog     "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Odno¶nik    "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Nie pewny   "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bajtów)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "D³ugo¶æ: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (nie autorytatywne)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Logowanie siê jako %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "B³±d w odpowiedzi serwera, zamykanie po³±czenia steruj±cego.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "B³±d w powitaniu serwera.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Niepowodzenie podczas zapisu, zamykanie po³±czenia steruj±cego.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Serwer nie pozwala na zalogowanie siê.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Nieprawid³owy login lub has³o.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Zalogowano siê!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "B³±d serwera, nie mo¿na ustaliæ typu systemu.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "zrobiono.    "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "zrobiono.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Nieznany typ `%c', zamykanie po³±czenienia steruj±cego.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "zrobiono.  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD nie jest potrzebne.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -191,43 +281,33 @@ msgstr ""
 "Nie ma katalogu `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD nie wymagane.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Nie mo¿na zainicjowaæ przesy³ania typu PASV.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Nie mo¿na przeanalizowaæ sk³adni odpowiedzi PASV.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "nie uda³o siê po³±czyæ z %s:%hu: %s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "B³±d Bind (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Nieprawid³owe PORT.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST nieudane; zawarto¶æ `%s' nie zostanie obciêta.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -235,7 +315,7 @@ msgstr ""
 "\n"
 "REST nieudane, rozpoczynanie od pocz±tku.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -244,7 +324,7 @@ msgstr ""
 "Nie ma pliku `%s'.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -253,86 +333,75 @@ msgstr ""
 "Nie ma pliku ani katalogu `%s'.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid "Length: %s"
-msgstr "D³ugo¶æ: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
-#, c-format
-msgid " [%s to go]"
-msgstr " [%s do koñca]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (nie autorytatywne)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, zamykanie po³±czenienia steruj±cego.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Po³±czenie danych: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Zamkniêto po³±czenie steruj±ce.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Przerwano przesy³anie danych.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Plik `%s' ju¿ istnieje, bez pobierania.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(próba:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - zapisano `%s' [%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Usuwanie %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "U¿ycie `%s' jako tymczasowego pliku dla listy.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Usuniêto `%s'.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "G³êboko¶æ rekurencji %d przekroczy³a maksymaln± g³êboko¶æ %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Plik po stronie serwera nie jest nowszy ni¿ lokalny `%s' -- bez pobierania.\n"
+msgstr ""
+"Plik po stronie serwera nie jest nowszy ni¿ lokalny `%s' -- bez pobierania.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -341,21 +410,20 @@ msgstr ""
 "Plik po stronie serwera jest nowszy ni¿ lokalny `%s' -- pobieranie.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "Rozmiary siê ró¿ni± (lokalny %ld) -- pobieranie.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Nieprawid³owa nazwa dowi±zania symbolicznego, pomijanie.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -364,237 +432,189 @@ msgstr ""
 "Ju¿ istnieje poprawne dowi±zanie symboliczne %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Tworzenie dowi±zania symbolicznego %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Dowi±zania symboliczne nie s± obs³ugiwane, pomijanie symb. dowi±zania `%s'.\n"
+msgstr ""
+"Dowi±zania symboliczne nie s± obs³ugiwane, pomijanie symb. dowi±zania `%s'.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Pomijanie katalogu `%s'.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: nieznany/nieobs³ugiwany typ pliku.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: znacznik czasowy uszkodzony.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Nie bêd± pobierane katalogi, gdy¿ g³êboko¶æ wynosi %d (maks. %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Bez wchodzenia do `%s', poniewa¿ jest on wy³±czony/nie-w³±czony.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Odrzucanie `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "B³±d podczas zapisu do `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Brak pasuj±cych do wzorca `%s'.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Zapisano indeks w postaci HTML-u w `%s' [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Zapisano indeks w postaci HTML-u w `%s'.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr ""
-"Nie da³o siê ustaliæ ziarna generatora liczb pseudolosowych dla OpenSSL;\n"
-"wy³±czenie SSL.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcja `%s` jest niejednoznaczna\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opcja `--%s' nie przyjmuje argumentów\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcja `%c%s' nie przyjmuje argumentów\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcja `%s' wymaga argumentu\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nierozpoznana opcja `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nierozpoznana opcja `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: nieprawid³owa opcja -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: niew³a¶ciwa opcja -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcja wymaga argumentu -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Nieznany b³±d"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opcja `-W %s' jest niejednoznaczna\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opcja `-W %s' nie przyjmuje argumentów\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Nieznany b³±d"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Translacja %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "nieudane: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "b³±d: przekroczono limit czasu oczekiwania.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Host nie zosta³ znaleziony"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Nieznany b³±d"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Nie uda³o siê przeanalizowaæ niedokoñczonego ³±cza %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Nieudane ustawianie kontekstu SSL\n"
+# c-format
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Nieprawid³owa warto¶æ `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Nie uda³o siê wczytaæ certyfikatów z %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Próbowanie bez podanego certyfikatu\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Nie powiod³o siê wysy³anie ¿±dania HTTP: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Nie uda³o siê uzyskaæ klucza certyfikatu z %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Niemo¿liwe utworzenie po³±czenia SSL.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Ponowne u¿ycie po³±czenia do %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Nie powiod³o siê wysy³anie ¿±dania HTTP: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "¯±danie %s wys³ano, oczekiwanie na odpowied¼... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Podczas analizy nag³ówków wyst±pi³ koniec pliku.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Brak danych w odpowiedzi"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "B³±d odczytu (%s) w nag³ówkach.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Brak danych w odpowiedzi"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Plik `%s' ju¿ istnieje, bez pobierania.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Nieznana metoda uwierzytelniania.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Autoryzacja nie powiod³a siê.\n"
 
-#: src/http.c:1130
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "¬le sformu³owana linia statusu"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(brak opisu)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Autoryzacja nie powiod³a siê.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Nieznana metoda uwierzytelniania.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Lokalizacja: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nieznana"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [pod±¿anie]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -604,197 +624,208 @@ msgstr ""
 "    Plik ju¿ zosta³ w pe³ni pobrany; nic do roboty.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Kontynuacja pobierania tego pliku nie powiod³a siê, co koliduje z `-c'.\n"
-"Odmowa obciêcia istniej±cego pliku `%s'.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "D³ugo¶æ: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s do koñca)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "zignorowano"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Pomijanie katalogu `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Ostrze¿enie: znaki globalne nie s± obs³ugiwane w HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Plik `%s' ju¿ tu jest. Nie zostanie pobrany.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Nie mo¿na zapisaæ do `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Niemo¿liwe utworzenie po³±czenia SSL.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "B£¡D: Przekierowanie (%d) bez lokalizacji.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s B£¡D %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Brak nag³ówka Last-modified -- znaczniki czasu wy³±czone.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "B³êdny nag³ówek Last-modified -- znacznik czasu zignorowany.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
-msgstr "Plik po stronie serwera nie nowszy ni¿ plik lokalny `%s' -- bez pobierania.\n"
+msgstr ""
+"Plik po stronie serwera nie nowszy ni¿ plik lokalny `%s' -- bez pobierania.\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Rozmiary siê ró¿ni± (lokalny %ld) -- pobieranie.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Plik na zdalnym serwerze jest nowszy, pobieranie.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - zapisano `%s' [%ld/%ld]\n"
+"Plik po stronie serwera jest nowszy ni¿ lokalny `%s' -- pobieranie.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Po³±czenie zamkniête przy %ld bajcie. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Plik po stronie serwera nie jest nowszy ni¿ lokalny `%s' -- bez pobierania.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Plik po stronie serwera nie jest nowszy ni¿ lokalny `%s' -- bez pobierania.\n"
+
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - zapisano `%s' [%ld/%ld])\n"
+"%s (%s) - zapisano `%s' [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Po³±czenie zamkniête przy %ld/%ld bajcie."
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Po³±czenie zamkniête przy %ld bajcie. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - B³±d podczas odczytu przy bajcie %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - B³±d podczas odczytu przy bajcie %ld/%ld (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC wskazuje na %s, który nie istnieje.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Nie mo¿na odczytaæ %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: B³±d w %s w linii %d.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: B³±d w %s w linii %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: B³±d w %s w linii %d.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Ostrze¿enie: Zarówno wgetrc systemowy jak i u¿ytkownika wskazuj± na `%s'.\n"
+msgstr ""
+"%s: Ostrze¿enie: Zarówno wgetrc systemowy jak i u¿ytkownika wskazuj± na `%"
+"s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, fuzzy, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Nieprawid³owa specyfikacja `%s`\n"
 
-#: src/init.c:630
+#: src/init.c:722
 #, fuzzy, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Proszê podaæ on lub off.\n"
 
-#: src/init.c:673
-#, fuzzy, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Proszê podaæ: always, on, off lub never.\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Niew³a¶ciwa liczba `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, fuzzy, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Nieprawid³owa warto¶æ bajtu `%s'.\n"
 
 # c-format
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Nieprawid³owa warto¶æ okresu czasu `%s'.\n"
 
-#: src/init.c:1051
+# c-format
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Nieprawid³owa warto¶æ `%s'.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Nieprawid³owy nag³ówek `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Nieprawid³owy typ wska¼nika postêpu `%s'.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Nieprawid³owe ograniczenie `%s', u¿yj `unix' lub `windows'.\n"
 
 # c-format
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Nieprawid³owa warto¶æ `%s'.\n"
-
-# c-format
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -803,28 +834,26 @@ msgstr ""
 "\n"
 "%s pobrano, przekierowanie wyj¶cia do `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Brak danych w odpowiedzi"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; logowanie zosta³o wy³±czone.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "U¿ycie: %s [OPCJE]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, nie-interaktywny pobieracz sieciowy.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -832,312 +861,567 @@ msgstr ""
 "Obowi±zkowe argumenty d³ugich opcji s± te¿ obowi±zkowe dla opcji krótkich.\n"
 "\n"
 
-#: src/main.c:144
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Uruchamianie:\n"
-"  -V,  --version           wy¶wietla wersjê Wget i koñczy dzia³anie.\n"
-"  -h,  --help              wypisuje tê pomoc.\n"
-"  -b,  --background        powoduje wys³anie w t³o po uruchomieniu.\n"
-"  -e,  --execute=KOMENDA   wykonuje polecenie jak z `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"Rejestracja pracy i plik wej¶ciowy:\n"
-"  -o,  --output-file=PLIK         rejestruje komunikaty w PLIKu.\n"
-"  -a,  --append-output=PLIK       do³±cza komunikaty do PLIKu.\n"
-"  -d,  --debug                    wypisuje informacje diagnostyczne.\n"
-"  -q,  --quiet                    cisza (¿adnych komunikatów).\n"
-"  -v,  --verbose                  wypisuje mo¿liwie najwiêcej komunikatów\n"
-"                                  (zachowanie domy¶lne).\n"
-"  -nv, --non-verbose              wy³±cza wypisywanie jak najwiêkszej liczby\n"
-"                                  komunikatów, bez trybu ciszy.\n"
-"  -i,  --input-file=PLIK          wczytuje URL-e z PLIKu.\n"
-"  -F,  --force-html               traktuje plik wej¶ciowy jako HTML.\n"
-"  -B,  --base=URL                 poprzedza URL-em odno¶niki wzglêdne\n"
-"                                  z pliku -F -i.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"Pobieranie:\n"
-"  -t,  --tries=LICZBA           ustawia liczbê ponownych prób na LICZBA\n"
-"                                (0 = bez limitu).\n"
-"       --retry-connrefused      ponawia pobieranie nawet je¶li po³±czenia s± \n"
-"\t\t\t\t odrzucane.\n"
-"  -O   --output-document=PLIK   zapisuje dokumenty do PLIKu.\n"
-"  -nc, --no-clobber             zakazuje nadpisywania istniej±cych plików\n"
-"                                lub tworzy kopie z przyrostkami.\n"
-"  -c,  --continue               wznawia pobieranie czê¶ciowo ukoñczonego pliku.\n"
-"       --progress=TYP           ustawia tryb wizualizacji postêpów pobierania.\n"
-"  -N,  --timestamping           nie pobiera ponownie plików, chyba ¿e s± nowsze\n"
-"                                ni¿ lokalne.\n"
-"  -S,  --server-response        wy¶wietla odpowiedzi serwera.\n"
-"       --spider                 nie pobiera niczego.\n"
-"  -T,  --timeout=SEKUND         ustawia limit przekroczenia czasu odczytywania\n"
-"                                na zadana liczbê SEKUND.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SEKUND            czeka SEKUND pomiêdzy pobieraniami.\n"
-"       --waitretry=SEKUND       czeka 1...SEKUND pomiêdzy ponown± prób±\n"
-"                                wznowienia pobrania.\n"
-"       --random-wait            czeka 0...2*WAIT sekund miêdzy pobraniami.\n"
-"  -Y,  --proxy=on/off           w³±cza/wy³±cza proxy.\n"
-"  -Q,  --quota=ROZMIAR          ustawia ograniczenie pobieranych danych\n"
-"                                na ROZMIAR.\n"
-"       --bind-address=ADRES     u¿ywa lokalnego adresu ADRES (nazwa lub IP).\n"
-"       --limit-rate=SZYBKO¦Æ    ogranicza szybko¶æ pobierania do SZYBKO¦Æ.\n"
-"       --dns-cache=off          wy³±cza zapisywanie podrêcznych informacji\n"
-"\t\t\t\t o wyszukanych adresach DNS\n"
-"       --restrict-file-names=OS ogranicza ilo¶æ znaków w nazwie pliku\n"
-"\t\t\t\t do obs³ugiwanej przez system operacyjny.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:407
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"Katalogi:\n"
-"  -nd  --no-directories             zakazuje tworzenia katalogów.\n"
-"  -x,  --force-directories          wymusza tworzenie katalogów.\n"
-"  -nH, --no-host-directories        zakazuje tworzenia katalogu o nazwie hosta.\n"
-"  -P,  --directory-prefix=PRZEDR    zapisuje pliki w PRZEDR/...\n"
-"       --cut-dirs=LICZBA            ignoruje okre¶lon± LICZBÊ zdalnych katalogów\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr ""
-"Opcje HTTP:\n"
-"       --http-user=U¯YTK      ustawia u¿ytkownika http na U¯YTK.\n"
-"       --http-passwd=HAS£O    ustawia has³o http na HAS£O.\n"
-"  -C,  --cache=on/off         pozwala/zakazuje na korzystanie z buforowania\n"
-"                              danych przez serwer (normalnie dozwolone).\n"
-"  -E,  --html-extension       zapisuje wszystkie dokumenty text/html\n"
-"                              z rozszerzeniem .html.\n"
-"       --ignore-length        ignoruje pole `Content-Length' nag³ówka.\n"
-"       --header=CI¡G_ZN       wstawia CI¡G_ZN w nag³ówki.\n"
-"       --proxy-user=U¯YTK     ustawia nazwê u¿ytkownika proxy na U¯YTK.\n"
-"       --proxy-passwd=HAS£O   ustawia has³o proxy na HAS£O.\n"
-"       --referer=URL          do³±cza nag³ówek `Referer: URL' do ¿±dania HTTP.\n"
-"  -s,  --save-headers         zapisuje nag³ówki HTTP w pliku.\n"
-"  -U,  --user-agent=AGENT     identyfikuje siê jako AGENT zamiast Wget/WERSJA.\n"
-"       --no-http-keep-alive   wy³±cza HTTP keep-alive (ci±g³e po³±czenia).\n"
-"       --cookies=off          zakazuje u¿ywania ciasteczek.\n"
-"       --load-cookies=PLIK    wczytuje ciasteczka z PLIKu przed sesj±.\n"
-"       --save-cookies=PLIK    zapisuje ciasteczka do PLIKu po sesji.\n"
-"       --post-data=CI¡G_ZN    wykorzystuje metodê POST; wysy³a CI¡G_ZN jako dane.\n"
-"       --post-file=PLIK       wykorzystuje metodê POST; wysy³a zawarto¶æ PLIKu.\n"
-"\n"
 
-#: src/main.c:217
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
 #, fuzzy
+msgid "Directories:\n"
+msgstr "Katalog     "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
 msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
 msgstr ""
-"Opcje HTTPS (SSL):\n"
-"       --sslcertfile=PLIK         opcjonalny certyfikat klienta.\n"
-"       --sslcertkey=PLIK_KLUCZY   opcjonalny plik kluczy dla certyfikatu.\n"
-"       --egd-file=PLIK            nazwa pliku gniazda EGD.\n"
-"       --sslcadir=KATALOG\t   katalog, w którym zapisana jest lista certyfikatów CA.\n"
-"       --sslcafile=FILE           plik z zestawem certyfikatów CA\n"
-"       --sslcerttype=0/1          rodzaj certyfikatu klienta 0=PEM (domy¶lnie) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1         sprawdza, czy serwer obs³uguje podany CA\n"
-"       --sslprotocol=0-3          wybór protoko³u SSL; 0=automatycznie,\n"
-"                                  1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
 msgstr ""
-"Opcje FTP:\n"
-"  -nr, --dont-remove-listing   zakazuje usuwania plików `.listing'.\n"
-"  -g,  --glob=on/off           w³±cza/wy³±cza mo¿liwo¶ci u¿ywania znaków\n"
-"                               globalnych.\n"
-"       --passive-ftp           u¿ywa \"pasywnego\" trybu przesy³ania.\n"
-"       --retr-symlinks         przy pracy rekurencyjnej, pobiera dowi±zania\n"
-"                               symboliczne (nie dotyczy katalogów).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Pobieranie rekurencyjne:\n"
-"  -r,  --recursive          praca rekurencyjna.\n"
-"  -l,  --level=NUMER        maksymalny poziom zag³êbienia przy rekurencji\n"
-"                            (inf lub 0 oznacza bez ograniczeñ).\n"
-"       --delete-after       usuwa lokalnie pliki po ich pobraniu.\n"
-"  -k,  --convert-links      konwertuje odno¶niki bezwzglêdne na wzglêdne.\n"
-"  -K,  --backup-converted   przed konwersj± pliku X zapisuje jego kopiê jako\n"
-"                            X.orig.\n"
-"  -m,  --mirror             skrót równowa¿ny opcjom -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    pobiera wszystkie pliki graficzne itp. potrzebne\n"
-"                            by poprawnie wy¶wietliæ stronê HTML.\n"
-"       --strict-comments    w³±cza surow± (SGML) interpretacjê komentarzy HTML.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
-"Rekurencyjna akceptacja/odrzucanie:\n"
-"  -A,  --accept=LISTA               lista oddzielonych przecinkami akceptowanych\n"
-"                                    rozszerzeñ.\n"
-"  -R,  --reject=LISTA               lista oddzielonych przecinkami odrzucanych\n"
-"                                    rozszerzeñ.\n"
-"  -D,  --domains=LISTA              lista oddzielonych przecinkami akceptowanych\n"
-"                                    domen.\n"
-"       --exclude-domains=LISTA      lista oddzielonych przecinkami odrzucanych\n"
-"                                    domen.\n"
-"       --follow-ftp                 pod±¿a za odno¶nikami FTP ze stron HTML.\n"
-"       --follow-tags=LISTA          lista oddzielonych przecinkami znaczników\n"
-"                                    HTML, za którymi program ma pod±¿aæ.\n"
-"  -G,  --ignore-tags=LISTA          lista oddzielonych przecinkami znaczników\n"
-"                                    HTML, które maj± byæ ignorowane.\n"
-"  -H,  --span-hosts                 zezwala na przej¶cie do obcych maszyn\n"
-"                                    podczas pracy rekurencyjnej.\n"
-"  -L,  --relative                   zezwala na pod±¿anie tylko za odno¶nikami\n"
-"                                    wzglêdnymi.\n"
-"  -I,  --include-directories=LISTA  lista akceptowanych katalogów.\n"
-"  -X,  --exclude-directories=LISTA  lista odrzucanych katalogów.\n"
-"  -np, --no-parent                  zakazuje wychodzenia poza katalog nadrzêdny.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "Prosimy o zg³aszanie b³êdów i propozycji na adres <bug-wget@gnu.org>.\n"
+msgstr ""
+"Prosimy o zg³aszanie b³êdów i propozycji na adres <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: obs³uga diagnostyki nie zosta³a wkompilowana.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, nie-interaktywny pobieracz sieciowy.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Program ten jest rozprowadzany w nadziei, ¿e bêdzie przydatny,\n"
-"ale BEZ ¯ADNYCH GWARANCJI, wyra¿onych wprost lub domy¶lnie,\n"
-"w tym gwarancji mo¿liwo¶ci SPRZEDA¯Y i PRZYDATNO¦CI DO KONKRETNYCH CELÓW.\n"
-"Szczegó³y znajdziesz w Powszechnej Licencji Publicznej GNU.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1145,134 +1429,232 @@ msgstr ""
 "\n"
 "Autor orygina³u Hrvoje Niksic <hniksic@arsdigita.com>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: nieprawid³owa opcja -- `n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Polecenie `%s --help' wy¶wietli wiêcej opcji.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: nieprawid³owa opcja -- `n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
-msgstr "Nie mo¿na jednocze¶nie wy¶wietlaæ wiêcej informacji i w ogóle nic nie wy¶wietlaæ.\n"
+msgstr ""
+"Nie mo¿na jednocze¶nie wy¶wietlaæ wiêcej informacji i w ogóle nic nie "
+"wy¶wietlaæ.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Nie mo¿na jednocze¶nie u¿ywaæ znaczników czasu i zakazaæ nadpisywania starych plików.\n"
+msgstr ""
+"Nie mo¿na jednocze¶nie u¿ywaæ znaczników czasu i zakazaæ nadpisywania "
+"starych plików.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: brakuj±cy URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Nie znaleziono URL-i w %s.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "ZAKOÑCZONO --%s--\n"
 "Pobrano: %s bajtów w %d plikach\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Ograniczenie na ilo¶æ pobieranych danych (%s bajtów) PRZEKROCZONE!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Kontynuacja w tle.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Kontynuacja w tle, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Wyj¶cie zostanie zapisane do `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Uruchamianie WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
-msgstr "%s: Nie mo¿na znale¼æ daj±cego siê u¿yæ sterownika do gniazd (socket).\n"
+msgstr ""
+"%s: Nie mo¿na znale¼æ daj±cego siê u¿yæ sterownika do gniazd (socket).\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: ostrze¿enie: element (token) \"%s\" pojawia siê przed ka¿d± nazw± komputera\n"
+msgstr ""
+"%s: %s:%d: ostrze¿enie: element (token) \"%s\" pojawia siê przed ka¿d± nazw± "
+"komputera\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: nieznany element (token) \"%s\"\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "U¿ycie: %s NETRC [NAZWA_HOSTA]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: nie mo¿na pobraæ informacji o %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr ""
+"Nie da³o siê ustaliæ ziarna generatora liczb pseudolosowych dla OpenSSL;\n"
+"wy³±czenie SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
 #, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ pomijanie %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "Nieprawid³owa specyfikacja stylu wizualizacji `%s'; pozostawiono bez zmian.\n"
+msgstr ""
+"Nieprawid³owa specyfikacja stylu wizualizacji `%s'; pozostawiono bez zmian.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
 
-#: src/recur.c:378
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Usuwanie %s poniewa¿ powinien byæ odrzucony.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Nie mo¿na przekonwertowaæ odno¶ników w %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Wczytywanie robots.txt; proszê zignorowaæ b³êdy.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "B³±d podczas analizy sk³adni URL-a proxy %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "B³±d w URL-u proxy %s: Musi byæ HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "przekroczono %d przekierowañ.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1280,7 +1662,7 @@ msgstr ""
 "Program nie mo¿e sobie poradziæ.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1288,50 +1670,501 @@ msgstr ""
 "Ponawianie próby.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Brak b³êdu"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Nieobs³ugiwany schemat"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Pusta nazwa hosta"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Niew³a¶ciwa nazwa u¿ytkownika"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Niew³a¶ciwy numer portu"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Niew³a¶ciwa nazwa u¿ytkownika"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Niedokoñczony adres numeryczny IPv6"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Adresy IPv6 nie s± obs³ugiwane"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Niew³a¶ciwy adres numeryczny IPv6"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Brak pamiêci.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Kontynuacja w tle, pid %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Nie uda³o siê usun±æ dowi±zania symbolicznego `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr "Nieudana konwersja `%s' na powi±zany adres.  Powrót do ANY.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "B³±d w Set-Cookie, w polu `%s'"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST nieudane; zawarto¶æ `%s' nie zostanie obciêta.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s do koñca]"
+
+#~ msgid "Host not found"
+#~ msgstr "Host nie zosta³ znaleziony"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Nieudane ustawianie kontekstu SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Nie uda³o siê wczytaæ certyfikatów z %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Próbowanie bez podanego certyfikatu\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Nie uda³o siê uzyskaæ klucza certyfikatu z %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Podczas analizy nag³ówków wyst±pi³ koniec pliku.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Kontynuacja pobierania tego pliku nie powiod³a siê, co koliduje z `-c'.\n"
+#~ "Odmowa obciêcia istniej±cego pliku `%s'.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s do koñca)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Plik `%s' ju¿ tu jest. Nie zostanie pobrany.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - zapisano `%s' [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Po³±czenie zamkniête przy %ld/%ld bajcie."
+
+#, fuzzy
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr "%s: %s: Proszê podaæ: always, on, off lub never.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Uruchamianie:\n"
+#~ "  -V,  --version           wy¶wietla wersjê Wget i koñczy dzia³anie.\n"
+#~ "  -h,  --help              wypisuje tê pomoc.\n"
+#~ "  -b,  --background        powoduje wys³anie w t³o po uruchomieniu.\n"
+#~ "  -e,  --execute=KOMENDA   wykonuje polecenie jak z `.wgetrc'.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rejestracja pracy i plik wej¶ciowy:\n"
+#~ "  -o,  --output-file=PLIK         rejestruje komunikaty w PLIKu.\n"
+#~ "  -a,  --append-output=PLIK       do³±cza komunikaty do PLIKu.\n"
+#~ "  -d,  --debug                    wypisuje informacje diagnostyczne.\n"
+#~ "  -q,  --quiet                    cisza (¿adnych komunikatów).\n"
+#~ "  -v,  --verbose                  wypisuje mo¿liwie najwiêcej "
+#~ "komunikatów\n"
+#~ "                                  (zachowanie domy¶lne).\n"
+#~ "  -nv, --non-verbose              wy³±cza wypisywanie jak najwiêkszej "
+#~ "liczby\n"
+#~ "                                  komunikatów, bez trybu ciszy.\n"
+#~ "  -i,  --input-file=PLIK          wczytuje URL-e z PLIKu.\n"
+#~ "  -F,  --force-html               traktuje plik wej¶ciowy jako HTML.\n"
+#~ "  -B,  --base=URL                 poprzedza URL-em odno¶niki wzglêdne\n"
+#~ "                                  z pliku -F -i.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Pobieranie:\n"
+#~ "  -t,  --tries=LICZBA           ustawia liczbê ponownych prób na LICZBA\n"
+#~ "                                (0 = bez limitu).\n"
+#~ "       --retry-connrefused      ponawia pobieranie nawet je¶li po³±czenia "
+#~ "s± \n"
+#~ "\t\t\t\t odrzucane.\n"
+#~ "  -O   --output-document=PLIK   zapisuje dokumenty do PLIKu.\n"
+#~ "  -nc, --no-clobber             zakazuje nadpisywania istniej±cych "
+#~ "plików\n"
+#~ "                                lub tworzy kopie z przyrostkami.\n"
+#~ "  -c,  --continue               wznawia pobieranie czê¶ciowo ukoñczonego "
+#~ "pliku.\n"
+#~ "       --progress=TYP           ustawia tryb wizualizacji postêpów "
+#~ "pobierania.\n"
+#~ "  -N,  --timestamping           nie pobiera ponownie plików, chyba ¿e s± "
+#~ "nowsze\n"
+#~ "                                ni¿ lokalne.\n"
+#~ "  -S,  --server-response        wy¶wietla odpowiedzi serwera.\n"
+#~ "       --spider                 nie pobiera niczego.\n"
+#~ "  -T,  --timeout=SEKUND         ustawia limit przekroczenia czasu "
+#~ "odczytywania\n"
+#~ "                                na zadana liczbê SEKUND.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SEKUND            czeka SEKUND pomiêdzy pobieraniami.\n"
+#~ "       --waitretry=SEKUND       czeka 1...SEKUND pomiêdzy ponown± prób±\n"
+#~ "                                wznowienia pobrania.\n"
+#~ "       --random-wait            czeka 0...2*WAIT sekund miêdzy "
+#~ "pobraniami.\n"
+#~ "  -Y,  --proxy=on/off           w³±cza/wy³±cza proxy.\n"
+#~ "  -Q,  --quota=ROZMIAR          ustawia ograniczenie pobieranych danych\n"
+#~ "                                na ROZMIAR.\n"
+#~ "       --bind-address=ADRES     u¿ywa lokalnego adresu ADRES (nazwa lub "
+#~ "IP).\n"
+#~ "       --limit-rate=SZYBKO¦Æ    ogranicza szybko¶æ pobierania do "
+#~ "SZYBKO¦Æ.\n"
+#~ "       --dns-cache=off          wy³±cza zapisywanie podrêcznych "
+#~ "informacji\n"
+#~ "\t\t\t\t o wyszukanych adresach DNS\n"
+#~ "       --restrict-file-names=OS ogranicza ilo¶æ znaków w nazwie pliku\n"
+#~ "\t\t\t\t do obs³ugiwanej przez system operacyjny.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Katalogi:\n"
+#~ "  -nd  --no-directories             zakazuje tworzenia katalogów.\n"
+#~ "  -x,  --force-directories          wymusza tworzenie katalogów.\n"
+#~ "  -nH, --no-host-directories        zakazuje tworzenia katalogu o nazwie "
+#~ "hosta.\n"
+#~ "  -P,  --directory-prefix=PRZEDR    zapisuje pliki w PRZEDR/...\n"
+#~ "       --cut-dirs=LICZBA            ignoruje okre¶lon± LICZBÊ zdalnych "
+#~ "katalogów\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opcje HTTP:\n"
+#~ "       --http-user=U¯YTK      ustawia u¿ytkownika http na U¯YTK.\n"
+#~ "       --http-passwd=HAS£O    ustawia has³o http na HAS£O.\n"
+#~ "  -C,  --cache=on/off         pozwala/zakazuje na korzystanie z "
+#~ "buforowania\n"
+#~ "                              danych przez serwer (normalnie dozwolone).\n"
+#~ "  -E,  --html-extension       zapisuje wszystkie dokumenty text/html\n"
+#~ "                              z rozszerzeniem .html.\n"
+#~ "       --ignore-length        ignoruje pole `Content-Length' nag³ówka.\n"
+#~ "       --header=CI¡G_ZN       wstawia CI¡G_ZN w nag³ówki.\n"
+#~ "       --proxy-user=U¯YTK     ustawia nazwê u¿ytkownika proxy na U¯YTK.\n"
+#~ "       --proxy-passwd=HAS£O   ustawia has³o proxy na HAS£O.\n"
+#~ "       --referer=URL          do³±cza nag³ówek `Referer: URL' do ¿±dania "
+#~ "HTTP.\n"
+#~ "  -s,  --save-headers         zapisuje nag³ówki HTTP w pliku.\n"
+#~ "  -U,  --user-agent=AGENT     identyfikuje siê jako AGENT zamiast Wget/"
+#~ "WERSJA.\n"
+#~ "       --no-http-keep-alive   wy³±cza HTTP keep-alive (ci±g³e "
+#~ "po³±czenia).\n"
+#~ "       --cookies=off          zakazuje u¿ywania ciasteczek.\n"
+#~ "       --load-cookies=PLIK    wczytuje ciasteczka z PLIKu przed sesj±.\n"
+#~ "       --save-cookies=PLIK    zapisuje ciasteczka do PLIKu po sesji.\n"
+#~ "       --post-data=CI¡G_ZN    wykorzystuje metodê POST; wysy³a CI¡G_ZN "
+#~ "jako dane.\n"
+#~ "       --post-file=PLIK       wykorzystuje metodê POST; wysy³a zawarto¶æ "
+#~ "PLIKu.\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opcje HTTPS (SSL):\n"
+#~ "       --sslcertfile=PLIK         opcjonalny certyfikat klienta.\n"
+#~ "       --sslcertkey=PLIK_KLUCZY   opcjonalny plik kluczy dla "
+#~ "certyfikatu.\n"
+#~ "       --egd-file=PLIK            nazwa pliku gniazda EGD.\n"
+#~ "       --sslcadir=KATALOG\t   katalog, w którym zapisana jest lista "
+#~ "certyfikatów CA.\n"
+#~ "       --sslcafile=FILE           plik z zestawem certyfikatów CA\n"
+#~ "       --sslcerttype=0/1          rodzaj certyfikatu klienta 0=PEM "
+#~ "(domy¶lnie) / 1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1         sprawdza, czy serwer obs³uguje podany "
+#~ "CA\n"
+#~ "       --sslprotocol=0-3          wybór protoko³u SSL; 0=automatycznie,\n"
+#~ "                                  1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opcje FTP:\n"
+#~ "  -nr, --dont-remove-listing   zakazuje usuwania plików `.listing'.\n"
+#~ "  -g,  --glob=on/off           w³±cza/wy³±cza mo¿liwo¶ci u¿ywania znaków\n"
+#~ "                               globalnych.\n"
+#~ "       --passive-ftp           u¿ywa \"pasywnego\" trybu przesy³ania.\n"
+#~ "       --retr-symlinks         przy pracy rekurencyjnej, pobiera "
+#~ "dowi±zania\n"
+#~ "                               symboliczne (nie dotyczy katalogów).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Pobieranie rekurencyjne:\n"
+#~ "  -r,  --recursive          praca rekurencyjna.\n"
+#~ "  -l,  --level=NUMER        maksymalny poziom zag³êbienia przy "
+#~ "rekurencji\n"
+#~ "                            (inf lub 0 oznacza bez ograniczeñ).\n"
+#~ "       --delete-after       usuwa lokalnie pliki po ich pobraniu.\n"
+#~ "  -k,  --convert-links      konwertuje odno¶niki bezwzglêdne na "
+#~ "wzglêdne.\n"
+#~ "  -K,  --backup-converted   przed konwersj± pliku X zapisuje jego kopiê "
+#~ "jako\n"
+#~ "                            X.orig.\n"
+#~ "  -m,  --mirror             skrót równowa¿ny opcjom -r -N -l inf -nr.\n"
+#~ "  -p,  --page-requisites    pobiera wszystkie pliki graficzne itp. "
+#~ "potrzebne\n"
+#~ "                            by poprawnie wy¶wietliæ stronê HTML.\n"
+#~ "       --strict-comments    w³±cza surow± (SGML) interpretacjê komentarzy "
+#~ "HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rekurencyjna akceptacja/odrzucanie:\n"
+#~ "  -A,  --accept=LISTA               lista oddzielonych przecinkami "
+#~ "akceptowanych\n"
+#~ "                                    rozszerzeñ.\n"
+#~ "  -R,  --reject=LISTA               lista oddzielonych przecinkami "
+#~ "odrzucanych\n"
+#~ "                                    rozszerzeñ.\n"
+#~ "  -D,  --domains=LISTA              lista oddzielonych przecinkami "
+#~ "akceptowanych\n"
+#~ "                                    domen.\n"
+#~ "       --exclude-domains=LISTA      lista oddzielonych przecinkami "
+#~ "odrzucanych\n"
+#~ "                                    domen.\n"
+#~ "       --follow-ftp                 pod±¿a za odno¶nikami FTP ze stron "
+#~ "HTML.\n"
+#~ "       --follow-tags=LISTA          lista oddzielonych przecinkami "
+#~ "znaczników\n"
+#~ "                                    HTML, za którymi program ma pod±¿aæ.\n"
+#~ "  -G,  --ignore-tags=LISTA          lista oddzielonych przecinkami "
+#~ "znaczników\n"
+#~ "                                    HTML, które maj± byæ ignorowane.\n"
+#~ "  -H,  --span-hosts                 zezwala na przej¶cie do obcych "
+#~ "maszyn\n"
+#~ "                                    podczas pracy rekurencyjnej.\n"
+#~ "  -L,  --relative                   zezwala na pod±¿anie tylko za "
+#~ "odno¶nikami\n"
+#~ "                                    wzglêdnymi.\n"
+#~ "  -I,  --include-directories=LISTA  lista akceptowanych katalogów.\n"
+#~ "  -X,  --exclude-directories=LISTA  lista odrzucanych katalogów.\n"
+#~ "  -np, --no-parent                  zakazuje wychodzenia poza katalog "
+#~ "nadrzêdny.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: obs³uga diagnostyki nie zosta³a wkompilowana.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Program ten jest rozprowadzany w nadziei, ¿e bêdzie przydatny,\n"
+#~ "ale BEZ ¯ADNYCH GWARANCJI, wyra¿onych wprost lub domy¶lnie,\n"
+#~ "w tym gwarancji mo¿liwo¶ci SPRZEDA¯Y i PRZYDATNO¦CI DO KONKRETNYCH "
+#~ "CELÓW.\n"
+#~ "Szczegó³y znajdziesz w Powszechnej Licencji Publicznej GNU.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Uruchamianie WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Pusta nazwa hosta"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Brak pamiêci.\n"
diff --git a/po/pt.po b/po/pt.po
new file mode 100644 (file)
index 0000000..993c433
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,1843 @@
+# Portuguese translation of the "wget" messages
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the wget package.
+# Helder Correia <helder.pereira.correia@gmail.com>, 2005-2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-13 12:49+0100\n"
+"Last-Translator: Helder Correia <helder.pereira.correia@gmail.com>\n"
+"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: a opção '%s' é ambígua\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: a opção '--%s não permite um argumento\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: a opção '%c%s' não permite um argumento\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: a opção '%s' requere um argumento\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opção '--%s' desconhecida\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opção '%c%s' desconhecida\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opção ilegal -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opção inválida -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s a opção requere um argumento -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: a opção '-W %s' é ambígua\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: a opção '-W %s' não permite um argumento\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+"%s: incapaz de resolver o endereço de ligação '%s'; a desactivar a ligação.\n"
+
+#: src/connect.c:267
+#, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "A conectar %s|%s|:%d... "
+
+#: src/connect.c:270
+#, c-format
+msgid "Connecting to %s:%d... "
+msgstr "A conectar %s:%d... "
+
+#: src/connect.c:330
+msgid "connected.\n"
+msgstr "conectado.\n"
+
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "falhou: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: incapaz de processar o endereço '%s'\n"
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "%d ficheiros convertidos em %s segundos.\n"
+
+#: src/convert.c:197
+#, c-format
+msgid "Converting %s... "
+msgstr "A converter %s..."
+
+#: src/convert.c:210
+msgid "nothing to do.\n"
+msgstr "nada para fazer.\n"
+
+#: src/convert.c:218 src/convert.c:242
+#, c-format
+msgid "Cannot convert links in %s: %s\n"
+msgstr "Não é possível converter as ligações em %s: %s\n"
+
+#: src/convert.c:233
+#, c-format
+msgid "Unable to delete `%s': %s\n"
+msgstr "Não é possível remover '%s': %s\n"
+
+#: src/convert.c:442
+#, c-format
+msgid "Cannot back up %s as %s: %s\n"
+msgstr "Não é possível salvaguardar %s como %s: %s\n"
+
+#: src/cookies.c:443
+#, c-format
+msgid "Syntax error in Set-Cookie: %s at position %d.\n"
+msgstr "Erro de sintaxe em Set-Cookie: %s na posiçao %d.\n"
+
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "O 'cookie' vindo de %s tentou definir o domínio como %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
+#, c-format
+msgid "Cannot open cookies file `%s': %s\n"
+msgstr "Não é possível abrir o ficheiro de cookies '%s': %s\n"
+
+#: src/cookies.c:1287
+#, c-format
+msgid "Error writing to `%s': %s\n"
+msgstr "Erro ao escrever para '%s': %s\n"
+
+#: src/cookies.c:1290
+#, c-format
+msgid "Error closing `%s': %s\n"
+msgstr "Erro ao fechar '%s': %s\n"
+
+#: src/ftp-ls.c:836
+msgid "Unsupported listing type, trying Unix listing parser.\n"
+msgstr ""
+"Tipo de listagem não suportado, a tentar o analisador de listagem Unix.\n"
+
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
+#, c-format
+msgid "Index of /%s on %s:%d"
+msgstr "Índice de /%s em %s:%d"
+
+#: src/ftp-ls.c:907
+#, c-format
+msgid "time unknown       "
+msgstr "tempo desconhecido       "
+
+#: src/ftp-ls.c:911
+#, c-format
+msgid "File        "
+msgstr "Ficheiro        "
+
+#: src/ftp-ls.c:914
+#, c-format
+msgid "Directory   "
+msgstr "Pasta   "
+
+#: src/ftp-ls.c:917
+#, c-format
+msgid "Link        "
+msgstr "Ligação        "
+
+#: src/ftp-ls.c:920
+#, c-format
+msgid "Not sure    "
+msgstr "Incerto     "
+
+#: src/ftp-ls.c:938
+#, c-format
+msgid " (%s bytes)"
+msgstr " (%s bytes)"
+
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Tamanho: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ", %s (%s) em falta"
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ", %s em falta"
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (não autoritário)\n"
+
+#: src/ftp.c:303
+#, c-format
+msgid "Logging in as %s ... "
+msgstr "A entrar como %s ... "
+
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
+msgid "Error in server response, closing control connection.\n"
+msgstr "Erro na resposta do servidor, a fechar a conexão de controlo.\n"
+
+#: src/ftp.c:323
+msgid "Error in server greeting.\n"
+msgstr "Erro na saudação do servidor.\n"
+
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
+msgid "Write failed, closing control connection.\n"
+msgstr "A escrita falhou, a fechar a conexão de controlo.\n"
+
+#: src/ftp.c:336
+msgid "The server refuses login.\n"
+msgstr "O servidor recusa a entrada.\n"
+
+#: src/ftp.c:342
+msgid "Login incorrect.\n"
+msgstr "Entrada incorrecta.\n"
+
+#: src/ftp.c:348
+msgid "Logged in!\n"
+msgstr "Entrada com sucesso!\n"
+
+#: src/ftp.c:370
+msgid "Server error, can't determine system type.\n"
+msgstr "Erro do servidor, não é possível determinar o tipo de sistema.\n"
+
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
+msgid "done.    "
+msgstr "feito.    "
+
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
+msgid "done.\n"
+msgstr "feito.\n"
+
+#: src/ftp.c:458
+#, c-format
+msgid "Unknown type `%c', closing control connection.\n"
+msgstr "Tipo '%c' desconhecido, a feito a conexão de controlo.\n"
+
+#: src/ftp.c:470
+msgid "done.  "
+msgstr "feito.  "
+
+#: src/ftp.c:476
+msgid "==> CWD not needed.\n"
+msgstr "==> CWD desnecessário.\n"
+
+#: src/ftp.c:569
+#, c-format
+msgid ""
+"No such directory `%s'.\n"
+"\n"
+msgstr ""
+"Pasta '%s' inexistente.\n"
+"\n"
+
+#: src/ftp.c:584
+msgid "==> CWD not required.\n"
+msgstr "==> CWD não requerido.\n"
+
+#: src/ftp.c:644
+msgid "Cannot initiate PASV transfer.\n"
+msgstr "Não é possível iniciar a transferência PASV.\n"
+
+#: src/ftp.c:648
+msgid "Cannot parse PASV response.\n"
+msgstr "Não é possível analisar a resposta PASV.\n"
+
+#: src/ftp.c:665
+#, c-format
+msgid "couldn't connect to %s port %d: %s\n"
+msgstr "não foi possível conectar %s porto %d: %s\n"
+
+#: src/ftp.c:713
+#, c-format
+msgid "Bind error (%s).\n"
+msgstr "Erro de cobertura (%s).\n"
+
+#: src/ftp.c:719
+msgid "Invalid PORT.\n"
+msgstr "PORT inválido.\n"
+
+#: src/ftp.c:765
+msgid ""
+"\n"
+"REST failed, starting from scratch.\n"
+msgstr ""
+"\n"
+"REST falhou, a reiniciar.\n"
+
+#: src/ftp.c:826
+#, c-format
+msgid ""
+"No such file `%s'.\n"
+"\n"
+msgstr ""
+"O ficheiro '%s' não existe.\n"
+"\n"
+
+#: src/ftp.c:873
+#, c-format
+msgid ""
+"No such file or directory `%s'.\n"
+"\n"
+msgstr ""
+"Ficheiro ou pasta '%s' inexistente.\n"
+"\n"
+
+#: src/ftp.c:935 src/http.c:2245
+#, c-format
+msgid "%s has sprung into existence.\n"
+msgstr "%s formou-se de repente.\n"
+
+#: src/ftp.c:987
+#, c-format
+msgid "%s: %s, closing control connection.\n"
+msgstr "%s: %s, a fechar a conexão de controlo.\n"
+
+#: src/ftp.c:996
+#, c-format
+msgid "%s (%s) - Data connection: %s; "
+msgstr "%s (%s) - conexão de dados: %s; "
+
+#: src/ftp.c:1011
+msgid "Control connection closed.\n"
+msgstr "Conexão de controlo fechada.\n"
+
+#: src/ftp.c:1029
+msgid "Data transfer aborted.\n"
+msgstr "Transferência de dados cancelada.\n"
+
+#: src/ftp.c:1097
+#, c-format
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "O ficheiro '%s' já existe; a não transferir.\n"
+
+#: src/ftp.c:1165 src/http.c:2423
+#, c-format
+msgid "(try:%2d)"
+msgstr "(tentativa:%2d)"
+
+#: src/ftp.c:1235 src/http.c:2746
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - '%s' gravado [%s]\n"
+"\n"
+
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
+#, c-format
+msgid "Removing %s.\n"
+msgstr "A remover %s.\n"
+
+#: src/ftp.c:1319
+#, c-format
+msgid "Using `%s' as listing tmp file.\n"
+msgstr "A usar '%s' como ficheiro de listagem temporário.\n"
+
+#: src/ftp.c:1334
+#, c-format
+msgid "Removed `%s'.\n"
+msgstr "'%s' removido.\n"
+
+#: src/ftp.c:1367
+#, c-format
+msgid "Recursion depth %d exceeded max. depth %d.\n"
+msgstr "Profundidade de recursividade %d excedeu a profundidade máxima %d.\n"
+
+#: src/ftp.c:1437
+#, c-format
+msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
+msgstr ""
+"O ficheiro remoto é mais antigo que o ficheiro local '%s' -- a não "
+"transferir.\n"
+
+#: src/ftp.c:1444
+#, c-format
+msgid ""
+"Remote file is newer than local file `%s' -- retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro remoto é mais recente que o ficheiro local '%s' -- a transferir.\n"
+"\n"
+
+#: src/ftp.c:1451
+#, c-format
+msgid ""
+"The sizes do not match (local %s) -- retrieving.\n"
+"\n"
+msgstr ""
+"Os tamanhos não coincidem (local %s) -- a transferir.\n"
+"\n"
+
+#: src/ftp.c:1469
+msgid "Invalid name of the symlink, skipping.\n"
+msgstr "Nome da ligação simbólica inválido, a ignorar.\n"
+
+#: src/ftp.c:1486
+#, c-format
+msgid ""
+"Already have correct symlink %s -> %s\n"
+"\n"
+msgstr "Já tem a ligação simbólica correcta %s -> %s\n"
+
+#: src/ftp.c:1494
+#, c-format
+msgid "Creating symlink %s -> %s\n"
+msgstr "A criar a ligação simbólica %s -> %s\n"
+
+#: src/ftp.c:1504
+#, c-format
+msgid "Symlinks not supported, skipping symlink `%s'.\n"
+msgstr ""
+"Ligações simbólicas não suportadas, a ignorar ligação simbólica '%s'.\n"
+
+#: src/ftp.c:1516
+#, c-format
+msgid "Skipping directory `%s'.\n"
+msgstr "A ignorar a pasta '%s'.\n"
+
+#: src/ftp.c:1525
+#, c-format
+msgid "%s: unknown/unsupported file type.\n"
+msgstr "%s: tipo de ficheiro desconhecido ou não suportado.\n"
+
+#: src/ftp.c:1552
+#, c-format
+msgid "%s: corrupt time-stamp.\n"
+msgstr "%s: selo temporal corrompido.\n"
+
+#: src/ftp.c:1580
+#, c-format
+msgid "Will not retrieve dirs since depth is %d (max %d).\n"
+msgstr ""
+"As pastas não serão transferidas, uma ves que a profundidade é %d (máximo %"
+"d).\n"
+
+#: src/ftp.c:1630
+#, c-format
+msgid "Not descending to `%s' as it is excluded/not-included.\n"
+msgstr "A não descer para '%s', uma vez que está excluída.\n"
+
+#: src/ftp.c:1696 src/ftp.c:1710
+#, c-format
+msgid "Rejecting `%s'.\n"
+msgstr "A rejeitar '%s'.\n"
+
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Erro ao escrever para '%s': %s\n"
+
+#: src/ftp.c:1774
+#, c-format
+msgid "No matches on pattern `%s'.\n"
+msgstr "Não há correspondências com o padrão '%s'.\n"
+
+#: src/ftp.c:1840
+#, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
+msgstr "Índice em HTML gravado para '%s' [%s].\n"
+
+#: src/ftp.c:1845
+#, c-format
+msgid "Wrote HTML-ized index to `%s'.\n"
+msgstr "Índice HTML gravado para '%s'.\n"
+
+#: src/host.c:348
+msgid "Unknown host"
+msgstr "Máquina desconhecida"
+
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr "Falha temporária na resolução de nome"
+
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Erro desconhecido"
+
+#: src/host.c:715
+#, c-format
+msgid "Resolving %s... "
+msgstr "A resolver %s..."
+
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr "falhou: Endereços IPv4/IPv6 inexistentes para a máquina.\n"
+
+#: src/host.c:785
+msgid "failed: timed out.\n"
+msgstr "falhou: terminou o tempo.\n"
+
+#: src/html-url.c:289
+#, c-format
+msgid "%s: Cannot resolve incomplete link %s.\n"
+msgstr "%s: Não é possível resolver a ligação incompleta %s.\n"
+
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: Endereço '%s' inválido: %s\n"
+
+#: src/http.c:368
+#, c-format
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Falha ao escrever o pedido HTTP: %s.\n"
+
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr "Sem cabeçalhos, a assumir HTTP/0.9"
+
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr "A desactivar o SSL devido a erros encontrados.\n"
+
+#: src/http.c:1570
+#, c-format
+msgid "POST data file `%s' missing: %s\n"
+msgstr "Ficheiro de dados POST '%s' em falta: %s\n"
+
+#: src/http.c:1619
+#, c-format
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "A reutilizar a conexão existente com %s:%d.\n"
+
+#: src/http.c:1687
+#, c-format
+msgid "Failed reading proxy response: %s\n"
+msgstr "Falha ao ler a resposta do procurador ('proxy'): %s\n"
+
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr "Falhou o 'túnel' com o procurador ('proxy'): %s"
+
+#: src/http.c:1752
+#, c-format
+msgid "%s request sent, awaiting response... "
+msgstr "Pedido %s enviado, a aguardar resposta..."
+
+#: src/http.c:1763
+msgid "No data received.\n"
+msgstr "Nenhuns dados recebidos.\n"
+
+#: src/http.c:1770
+#, c-format
+msgid "Read error (%s) in headers.\n"
+msgstr "Erro de leitura (%s) nos cabeçalhos.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro '%s' já existe, a não transferir.\n"
+"\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Esquema de autenticação desconhecido.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "A autorização falhou.\n"
+
+#: src/http.c:2014
+msgid "Malformed status line"
+msgstr "Linha de estado mal-formada"
+
+#: src/http.c:2016
+msgid "(no description)"
+msgstr "(sem descrição)"
+
+#: src/http.c:2082
+#, c-format
+msgid "Location: %s%s\n"
+msgstr "Localização: %s%s\n"
+
+#: src/http.c:2083 src/http.c:2193
+msgid "unspecified"
+msgstr "não especificado"
+
+#: src/http.c:2084
+msgid " [following]"
+msgstr " [a seguir]"
+
+#: src/http.c:2140
+msgid ""
+"\n"
+"    The file is already fully retrieved; nothing to do.\n"
+"\n"
+msgstr ""
+"\n"
+"     O ficheiro já está todo transferido; nada para fazer.\n"
+"\n"
+
+#: src/http.c:2173
+msgid "Length: "
+msgstr "Tamanho: "
+
+#: src/http.c:2193
+msgid "ignored"
+msgstr "ignorado"
+
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "A gravar em: '%s'\n"
+
+#: src/http.c:2345
+msgid "Warning: wildcards not supported in HTTP.\n"
+msgstr "Aviso: carácteres de expansão ('wildcards') não suportados no HTTP.\n"
+
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Modo de aranha activado. Verificar se o ficheiro remoto existe.\n"
+
+#: src/http.c:2497
+#, c-format
+msgid "Cannot write to `%s' (%s).\n"
+msgstr "Não é possível escrever para '%s' (%s).\n"
+
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Incapaz de estabelecer a conexão SSL.\n"
+
+#: src/http.c:2514
+#, c-format
+msgid "ERROR: Redirection (%d) without location.\n"
+msgstr "ERRO: Redireccionamento (%d) sem localização.\n"
+
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "O ficheiro remoto não existe -- ligação quebrada!!!\n"
+
+#: src/http.c:2565
+#, c-format
+msgid "%s ERROR %d: %s.\n"
+msgstr "%s ERRO %d: %s.\n"
+
+#: src/http.c:2581
+msgid "Last-modified header missing -- time-stamps turned off.\n"
+msgstr "Falta o último cabeçalho modificado -- selos temporais desactivados.\n"
+
+#: src/http.c:2589
+msgid "Last-modified header invalid -- time-stamp ignored.\n"
+msgstr "Último cabeçalho modificado inválido -- selo temporal ignorado.\n"
+
+#: src/http.c:2619
+#, c-format
+msgid ""
+"Server file no newer than local file `%s' -- not retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro do servidor não é mais recente que o ficheiro local '%s' -- a não "
+"transferir.\n"
+"\n"
+
+#: src/http.c:2627
+#, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
+msgstr "Os tamanhos não coincidem (local %s) -- a transferir.\n"
+
+#: src/http.c:2634
+msgid "Remote file is newer, retrieving.\n"
+msgstr "O ficheiro remoto é mais recente, a transferir.\n"
+
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro remoto existe e pode conter ligações para outros recursos -- a "
+"transferir.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro remoto existe mas não contém ligações -- não transferir.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"O ficheiro remoto existe mas recursividade está desactivada -- não "
+"transferir.\n"
+"\n"
+
+#: src/http.c:2715
+#, c-format
+msgid ""
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s (%s) - '%s' gravado [%s/%s]\n"
+"\n"
+
+#: src/http.c:2770
+#, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Conexão fechada ao byte %s. "
+
+#: src/http.c:2785
+#, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
+msgstr "%s (%s) - Erro de leitura no byte %s (%s)."
+
+#: src/http.c:2794
+#, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
+msgstr "%s (%s) - Erro de leitura no byte %s/%s (%s). "
+
+#: src/init.c:387
+#, c-format
+msgid "%s: WGETRC points to %s, which doesn't exist.\n"
+msgstr "%s: WGETRC aponta para %s, o qual não existe.\n"
+
+#: src/init.c:450 src/netrc.c:265
+#, c-format
+msgid "%s: Cannot read %s (%s).\n"
+msgstr "%s: Não é possível ler %s (%s).\n"
+
+#: src/init.c:468
+#, c-format
+msgid "%s: Error in %s at line %d.\n"
+msgstr "%s: Erro em %s na linha %d.\n"
+
+#: src/init.c:474
+#, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Erro de sintaxe em %s na linha %d.\n"
+
+#: src/init.c:479
+#, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Comando desconhecido '%s' em %s na linha %d.\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr ""
+"%s: Aviso: Ambos o ficheiro de sistema e de utilizador wgetrc apontam para '%"
+"s'.\n"
+
+#: src/init.c:677
+#, c-format
+msgid "%s: Invalid --execute command `%s'\n"
+msgstr "%s: Comando --execute '%s' inválido\n"
+
+#: src/init.c:722
+#, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr "%s: %s: Valor lógico '%s' inválido; use 'on' ou 'off'.\n"
+
+#: src/init.c:739
+#, c-format
+msgid "%s: %s: Invalid number `%s'.\n"
+msgstr "%s: %s: Número '%s' inválido.\n"
+
+#: src/init.c:970 src/init.c:989
+#, c-format
+msgid "%s: %s: Invalid byte value `%s'\n"
+msgstr "%s: %s: Valor de byte '%s' inválido\n"
+
+#: src/init.c:1014
+#, c-format
+msgid "%s: %s: Invalid time period `%s'\n"
+msgstr "%s: %s Período de tempo '%s' inválido\n"
+
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Valor '%s' inválido.\n"
+
+#: src/init.c:1105
+#, c-format
+msgid "%s: %s: Invalid header `%s'.\n"
+msgstr "%s: %s: Cabeçãlho '%s' inválido.\n"
+
+#: src/init.c:1171
+#, c-format
+msgid "%s: %s: Invalid progress type `%s'.\n"
+msgstr "%s: %s: Tipo de progresso '%s' inválido.\n"
+
+#: src/init.c:1230
+#, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Restrição '%s' inválida, use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+
+#: src/log.c:784
+#, c-format
+msgid ""
+"\n"
+"%s received, redirecting output to `%s'.\n"
+msgstr ""
+"\n"
+"%s recebido, a redireccionar saída para '%s'.\n"
+
+#: src/log.c:794
+#, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr ""
+"\n"
+"%s recebido.\n"
+
+#: src/log.c:795
+#, c-format
+msgid "%s: %s; disabling logging.\n"
+msgstr "%s: %s; a desactivar registo.\n"
+
+#: src/main.c:357
+#, c-format
+msgid "Usage: %s [OPTION]... [URL]...\n"
+msgstr "Utilização: %s [OPÇÃO]... [ENDEREÇO]...\n"
+
+#: src/main.c:369
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+msgstr ""
+"Argumentos mandatórios para opções longas são também mandatórios para opções "
+"curtas.\n"
+"\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr "Arranque:\n"
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr "  -V,  --version           exibir a versão do Wget e terminar.\n"
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr "  -h,  --help              exibir esta ajuda.\n"
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+"  -b,  --background        executar em segundo plano após o arranque.\n"
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr "  -e,  --execute=COMANDO   executar um comando do estilo '.wgetrc'.\n"
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr "Registo e ficheiro de entrada:\n"
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr "  -o,  --output-file=FICH    registar mensagens em FICH.\n"
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr "  -a,  --append-output=FICH  acrescentar mensagens a FICH.\n"
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr "  -d,  --debug               exibir informação de depuração.\n"
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              exibir informação de depuração Watt-32.\n"
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr "  -q,  --quiet               modo silencioso.\n"
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr "  -v,  --verbose             modo verboso (activado por omissão).\n"
+
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          desactivar a verbosidade, sem silenciar.\n"
+
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
+msgstr "  -i,  --input-file=FICH     transferir endereços contidos em FICH.\n"
+
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
+msgstr "  -F,  --force-html          tratar o ficheiro de entrada como HTML.\n"
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            acrescenta URL a ligações relativas no ficheiro "
+"-F -i.\n"
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr "Transferência:\n"
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NÚMERO            definir NÚMERO de tentativas (0 para "
+"ilimitado).\n"
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+"       --retry-connrefused       tentar de novo se a conexão for recusada.\n"
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr "  -O,  --output-document=FICH    escrever documentos para FICH.\n"
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+"  -nc, --no-clobber              saltar transferências que sobreporiam\n"
+"                                 ficheiros existentes.\n"
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                continuar transferência parcial de "
+"ficheiro.\n"
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+"       --progress=TIPO           definir o TIPO de escala de progresso.\n"
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+"  -N,  --timestamping            não transferir ficheiros de novo mais "
+"antigos\n"
+"                                 que o local.\n"
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr "  -S,  --server-response         exibir a resposta do servidor.\n"
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr "       --spider                  não transferir os ficheiros.\n"
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+"  -T,  --timeout=SEGUNDOS        definir tempo máximo de todas as "
+"tentativas.\n"
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr "       --dns-timeout=SEGS        definir o tempo máximo de pesquisa.\n"
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr "       --connect-timeout=SEGS    definir o tempo máximo de conexão.\n"
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr "       --read-timeout=SEGS       definir o tempo máximo de leitura.\n"
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+"  -w,  --wait=SEGUNDOS           esperar SEGUNDOS entre transferências.\n"
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SEGUNDOS      esperar 1..SEGUNDOS entre tentativas.\n"
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             esperar de 0...2*N segundos entre transf.\n"
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+"       --no-proxy                desativar procurador ('proxy') "
+"implicitamente.\n"
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+"  -Q,  --quota=NUMERO            definir quota de transferência NÚMERO.\n"
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ENDEREÇO   ligar a ENDEREÇO (nome ou IP) na máquina "
+"local.\n"
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr "       --limit-rate=TAXA         limitar TAXA de transferência.\n"
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+"       --no-dns-cache            desactivar esconderijo ('cache') de "
+"pesquisas DNS.\n"
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  restringir a caracteres do sistema para "
+"nomes de ficheiros.\n"
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ignorar capitalização ao verificar "
+"ficheiros/pastas.\n"
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr "  -4,  --inet4-only              conectar apenas a endereços IPv4.\n"
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr "  -6,  --inet6-only              conectar apenas a endereços IPv6.\n"
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+"       --prefer-family=FAMÍLIA   conectar primeiro a endereços da família "
+"especificada,\n"
+"                                 um de IPv6, IPv4 ou nenhum.\n"
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr "       --user=UTILIZADOR         definir UTILIZADOR FTP e HTTP.\n"
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr "       --password=SENHA          definir a SENHA FTP e HTTP.\n"
+
+#: src/main.c:476
+msgid "Directories:\n"
+msgstr "Pastas:\n"
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr "  -nd, --no-directories           não criar pastas.\n"
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr "  -x,  --force-directories        forçar a criação de pastas.\n"
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr "  -nH, --no-host-directories      não criar pastas do servidor.\n"
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+"       --protocol-directories     usar o nome do protocolo nas pastas.\n"
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr "  -P,  --directory-prefix=PREFIX  gravar ficheiros para PREFIX/...\n"
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NÚMERO          ignorar NÚMERO componentes de pasta "
+"remotos.\n"
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr "Opções HTTP:\n"
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr "       --http-user=UTILIZADOR  definir o UTILIZADOR HTTP.\n"
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr "       --http-password=SENHA   definir a SENHA HTTP.\n"
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+"       --no-cache              não permitir dados em esconderijo ('cache') "
+"no servidor.\n"
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        gravar documentos HTML com extensão '.html'.\n"
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+"       --ignore-length         ignorar campo de cabeçalho `Content-Length'.\n"
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+"       --header=EXPRESSÃO      inserir EXPRESSÃO entre os cabeçalhos.\n"
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          máximo de redireccionamentos permitido por "
+"página.\n"
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+"       --proxy-user=UTILIZAD   definir UTILIZADor do procurador ('proxy').\n"
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+"       --proxy-password=SENHA  definir SENHA do procurador ('proxy').\n"
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=ENDEREÇO      incluir o cabeçalho 'Referer: ENDEREÇO' no "
+"pedido.\n"
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+"       --save-headers          gravar os cabeçalhos HTTP no ficheiro.\n"
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENTE     identificar como AGENTE ao invés de Wget/"
+"VERSÃO.\n"
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    desactivar 'HTTP keep-alive' (conexões "
+"persistentes).\n"
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr "       --no-cookies            não usar 'cookies'.\n"
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+"       --load-cookies=FICH     carregar 'cookies' de FICHeiro antes da "
+"sessão.\n"
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+"       --save-cookies=FICH     gravar 'cookies' para FICHeiro após a "
+"sessão.\n"
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  carregar e gravar os 'cookies' da sessão (não "
+"permanentes).\n"
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=EXPRESSÃO   usar o método POST; enviar EXPRESSÃO como "
+"dados.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FICHEIRO    usar o método POST; enviar conteúdo de "
+"FICHEIRO.\n"
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   honrar o cabeçalho Content-Disposition ao\n"
+"                               escolher nomes de fich. locais "
+"(EXPERIMENTAL).\n"
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr "Opções HTTPS (SSL/TLS):\n"
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+"       --secure-protocol=PR     escolher protocolo de segurança, auto, "
+"SSLv2,\n"
+"                                SSLv3 ou TLSv1.\n"
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   não validar o certificado do servidor.\n"
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr "       --certificate=FICH       FICHeiro do certificado do cliente.\n"
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+"       --certificate-type=TIPO  TIPO do certificado do cliente, PEM ou DER.\n"
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr "       --private-key=FICHEIRO   FICHEIRO da chave privada.\n"
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr "       --private-key-type=TIPO  TIPO da chave privada, PEM ou DER.\n"
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr "       --ca-certificate=FICH    FICHeiro com CAs.\n"
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr "       --ca-directory=PASTA     PASTA da lista de chaves de CAs.\n"
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FICH       FICHeiro com dados aleatórios para SSL "
+"PRNG.\n"
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr "       --egd-file=FICHEIRO      FICHEIRO EGD com dados aleatórios.\n"
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr "Opções FTP:\n"
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr "       --ftp-user=UTILIZADOR   definir UTILIZADOR FTP.\n"
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr "       --ftp-password=SENHA    definir a SENHA FTP.\n"
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr "       --no-remove-listing     não remover ficheiros '.listing'.\n"
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+"       --no-glob               desactivar alterações de nome de ficheiros "
+"FTP.\n"
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+"       --no-passive-ftp        desactivar o modo passivo de transferência.\n"
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         em recursividade, obter ficheiros ligados "
+"(não pastas).\n"
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+"       --preserve-permissions  preservar as permissões dos ficheiros "
+"remotos.\n"
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr "Transferência recursiva:\n"
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr "  -r,  --recursive          especificar transferência recursiva.\n"
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NÚMERO       profundidade máxima (inf ou 0 para infinito).\n"
+
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       remover os ficheiros localmente após "
+"transferência.\n"
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      apontar as ligações em HTML para ficheiros "
+"locais.\n"
+
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   salvaguardar com extensão '.orig' antes de "
+"converter.\n"
+
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             atalho para -N -r -l inf --no-remove-listing.\n"
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    obter todas as imagens, etc. para exibir a "
+"página HTML.\n"
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    activar tratamento severo (SGML) de comentários "
+"HTML.\n"
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr "Aceitação/Rejeitação recursiva:\n"
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LISTA              LISTA de extensões aceites separadas por "
+"vírgula.\n"
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr "  -R,  --reject=LISTA              LISTA de extensões rejeitadas.\n"
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr "  -D,  --domains=LISTA             LISTA de domínios aceites.\n"
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr "       --exclude-domains=LISTA     LISTA de domínios rejeitados.\n"
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                seguir ligações FTP de documentos HTML.\n"
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LISTA         LISTA de elementos HTML para seguir.\n"
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LISTA         LISTA de elementos HTML para ignorar.\n"
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                ir para outros servidores quando "
+"recursivo.\n"
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr "  -L,  --relative                  seguir apenas ligações relativas.\n"
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr "  -I,  --include-directories=LISTA LISTA de pastas permitidas.\n"
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr "  -X,  --exclude-directories=LISTA LISTA de pastas excluídas.\n"
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr "  -np, --no-parent                 não ascender à pasta anterior.\n"
+
+#: src/main.c:630
+msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
+msgstr "Envie erros e sugestões para <bug-wget@gnu.org>.\n"
+
+#: src/main.c:635
+#, c-format
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, um transferidor de rede não interactivo.\n"
+
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2007 Free Software Foundation, Inc.\n"
+
+#: src/main.c:679
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"Licença GPLv3+: GNU GPL versão 3 ou posterior\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Este software é livre: é livre de o alterar e redistribuir.\n"
+"Não é dada QUALQUER GARANTIA para o programa, até aos limites permitidos por "
+"lei aplicável.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
+msgid ""
+"\n"
+"Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
+msgstr ""
+"\n"
+"Originalmente escrito por Hrvoje Niksic <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Actualmente mantido por Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
+#, c-format
+msgid "Try `%s --help' for more options.\n"
+msgstr "Tente '%s --help' para mais opções.\n"
+
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: opção ilegal -- '-n%c'\n"
+
+#: src/main.c:859
+#, c-format
+msgid "Can't be verbose and quiet at the same time.\n"
+msgstr "Não é possível ser simultaneamente verboso e silencioso.\n"
+
+#: src/main.c:865
+#, c-format
+msgid "Can't timestamp and not clobber old files at the same time.\n"
+msgstr ""
+"Não é possível marcar com selo temporal e sobrepor ficheiros antigos, "
+"simultaneamente.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+"Não é possível especificar simultaneamente --inet4-only e --inet6-only.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Não é possível especificar -r, -p ou -N se -O for usado.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+"Não é possível especificar simultaneamente -k e -O quando são fornecidos "
+"múltiplos endereços.\n"
+
+#: src/main.c:899
+#, c-format
+msgid "%s: missing URL\n"
+msgstr "%s: URL em falta\n"
+
+#: src/main.c:1025
+#, c-format
+msgid "No URLs found in %s.\n"
+msgstr "URLs não encontrados em %s.\n"
+
+#: src/main.c:1043
+#, c-format
+msgid ""
+"FINISHED --%s--\n"
+"Downloaded: %d files, %s in %s (%s)\n"
+msgstr ""
+"TERMINADO --%s--\n"
+"Transferido: %d ficheiros, %s em %s (%s)\n"
+
+#: src/main.c:1052
+#, c-format
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Quota de transferência de %s EXCEDIDA!\n"
+
+#: src/mswindows.c:99
+#, c-format
+msgid "Continuing in background.\n"
+msgstr "A continuar em segundo plano (fundo).\n"
+
+#: src/mswindows.c:292
+#, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "A continuar em segundo plano, pid %lu.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
+#, c-format
+msgid "Output will be written to `%s'.\n"
+msgstr "Resultados serão gravados em '%s'.\n"
+
+#: src/mswindows.c:462 src/mswindows.c:469
+#, c-format
+msgid "%s: Couldn't find usable socket driver.\n"
+msgstr "%s: 'socket driver' utilizável não encontrado.\n"
+
+#: src/netrc.c:373
+#, c-format
+msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
+msgstr ""
+"%s: %s:%d: aviso: \"%s\" expressão aparece antes de qualquer nome de "
+"máquina\n"
+
+#: src/netrc.c:404
+#, c-format
+msgid "%s: %s:%d: unknown token \"%s\"\n"
+msgstr "%s: %s:%d: expressão desconhecida \"%s\"\n"
+
+#: src/netrc.c:468
+#, c-format
+msgid "Usage: %s NETRC [HOSTNAME]\n"
+msgstr "Utilização: %s NETRC [NOME-DA-MÁQUINA]\n"
+
+#: src/netrc.c:478
+#, c-format
+msgid "%s: cannot stat %s: %s\n"
+msgstr "%s: não é possível analisar %s: %s\n"
+
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr "AVISO: a usar uma semente aleatória fraca.\n"
+
+#: src/openssl.c:173
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Não foi possível gerar PRNG; considere usar --random-file.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr "ERRO"
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr "AVISO"
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr "%s: Certificado não apresentado por %s.\n"
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: não é possível verificar o certificado de %s, emitido por '%s':\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Incapaz de verificar localmente a autoridade do emissor.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Encontrado certificado auto-assinado.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Certificado emitido ainda inválido.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Certificado emitido expirado.\n"
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: o nome do certificado '%s' não corresponde ao nome da máquina requerida "
+"'%s'.\n"
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr "Para conectar a %s de forma insegura, use '--no-check-certificate'.\n"
+
+#: src/progress.c:242
+#, c-format
+msgid ""
+"\n"
+"%*s[ skipping %sK ]"
+msgstr ""
+"\n"
+"%*s[ a saltar %sK ]"
+
+#: src/progress.c:456
+#, c-format
+msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
+msgstr "Especificação de estilo de ponto '%s' inválida; a não alterar.\n"
+
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  eta %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   em "
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Não é possível obter a frequência de relógio de tempo real: %s\n"
+
+#: src/recur.c:379
+#, c-format
+msgid "Removing %s since it should be rejected.\n"
+msgstr "A remover %s, uma vez que deveria ser rejeitado.\n"
+
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Não é possível abrir %s: %s"
+
+#: src/res.c:542
+msgid "Loading robots.txt; please ignore errors.\n"
+msgstr "A carregar robots.txt; por favor, ignore erros.\n"
+
+#: src/retr.c:652
+#, c-format
+msgid "Error parsing proxy URL %s: %s.\n"
+msgstr "Erro ao analisar URL %s do 'proxy': %s.\n"
+
+#: src/retr.c:660
+#, c-format
+msgid "Error in proxy URL %s: Must be HTTP.\n"
+msgstr "Erro no URL %s do 'proxy': Necessita ser HTTP.\n"
+
+#: src/retr.c:746
+#, c-format
+msgid "%d redirections exceeded.\n"
+msgstr "%d redireccionamentos excedidos.\n"
+
+#: src/retr.c:881
+msgid ""
+"Giving up.\n"
+"\n"
+msgstr ""
+"A desistir.\n"
+"\n"
+
+#: src/retr.c:881
+msgid ""
+"Retrying.\n"
+"\n"
+msgstr ""
+"A tentar novamente.\n"
+"\n"
+
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Não foram encontradas ligações quebradas.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] "Encontrada %d ligação quebrada.\n"
+msgstr[1] "Encontradas %d ligações quebradas.\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
+msgid "No error"
+msgstr "Sem erros"
+
+#: src/url.c:622
+msgid "Unsupported scheme"
+msgstr "Esquema não suportado"
+
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Nome de máquina inválido"
+
+#: src/url.c:626
+msgid "Bad port number"
+msgstr "Mau número de porto"
+
+#: src/url.c:628
+msgid "Invalid user name"
+msgstr "Nome de utilizador inválido"
+
+#: src/url.c:630
+msgid "Unterminated IPv6 numeric address"
+msgstr "Endereço numérico IPv6 não concluído"
+
+#: src/url.c:632
+msgid "IPv6 addresses not supported"
+msgstr "Endereços IPv6 não suportados"
+
+#: src/url.c:634
+msgid "Invalid IPv6 numeric address"
+msgstr "Endereço numérico IPv6 inválido"
+
+#: src/utils.c:328
+#, c-format
+msgid "Continuing in background, pid %d.\n"
+msgstr "A continuar em segundo plano (fundo), pid %d.\n"
+
+#: src/utils.c:376
+#, c-format
+msgid "Failed to unlink symlink `%s': %s\n"
+msgstr "Erro ao remover ligação simbólica '%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr "%s: %s: Falha ao reservar %ld bytes; memória insuficiente.\n"
index 562f825693a129f098ebf683014227b4e1225980..adb3ad2e4d428619eb492ac090a122bd337da142 100644 (file)
@@ -7,7 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2004-03-25 10:45-03:00\n"
 "Last-Translator: Wanderlei Antonio Cavassin <cavassin@conectiva.com.br>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -15,28 +16,102 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: src/connect.c:88
+# , c-format
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "Não foi possível converter `%s' para um endereço. Mudando para ANY\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: opção `%s' é ambígua\n"
 
-#: src/connect.c:165
+# , c-format
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Conectando-se à %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: opção `--%s' não permite argumento\n"
+
+# , c-format
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: opção `%c%s' não permite argumento\n"
+
+# , c-format
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: opção `%s' requer um argumento\n"
+
+# , c-format
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opção não reconhecida `--%s'\n"
+
+# , c-format
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opção não reconhecida `%c%s'\n"
+
+# , c-format
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opção ilegal -- %c\n"
 
-#: src/connect.c:168
+#: lib/getopt.c:772 lib/getopt.c:775
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opção inválida -- %c\n"
+
+# , c-format
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opção requer um argumento -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: opção `-W %s' é ambígua\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: opção `-W %s' não permite argumentos\n"
+
+#: src/connect.c:195
+#, c-format
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Conectando-se à %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Conectando-se a %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "conectado!\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "falha: %s.\n"
+
+# , c-format
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Não foi possível apagar `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "convertendo %d arquivos em %.2f segundos.\n"
 
 #: src/convert.c:197
@@ -61,135 +136,159 @@ msgid "Unable to delete `%s': %s\n"
 msgstr "Não foi possível apagar `%s': %s\n"
 
 # , c-format
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Não foi possível copiar %s como %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Erro em Set-Cookie, campo `%s'"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Erro de sintax em Set-Cookie: %s na posição %d.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Não foi possível abrir arquivo de cookies %s: %s\n"
 
 # , c-format
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Erro ao gravar em `%s' %s.\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Erro ao fechar `%s': %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Tipo de listagem não suportado. Tentando listagem UNIX.\n"
 
 # , c-format
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Índice de /%s em %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "horário desconhecido "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Arquivo     "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Diretório   "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Link        "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Sem certeza "
 
 # , c-format
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bytes)"
 
 # , c-format
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Tamanho: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (sem autoridade)\n"
+
+# , c-format
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Logando como %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Erro na resposta do servidor, fechando a conexão de controle.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Erro na saudação do servidor.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Falha de escrita, fechando a conexão de controle.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "O servidor recusou o login.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Login incorreto.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Logado!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Erro do servidor, impossível determinar tipo de sistema.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "feito.   "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "feito.\n"
 
 # , c-format
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tipo `%c' desconhecido, fechando a conexão de controle.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "feito. "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD não necessário.\n"
 
 # , c-format
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -198,44 +297,34 @@ msgstr ""
 "Diretório `%s' não encontrado.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD não requerido.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Não foi possível iniciar transferência PASV.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Não foi possível entender resposta do comando PASV.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "não foi possível conectar para %s:%hu: %s\n"
 
 # , c-format
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Erro no bind (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORT inválido.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST falhou; %s não será truncado.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -244,7 +333,7 @@ msgstr ""
 "REST falhou, recomeçando do zero.\n"
 
 # , c-format
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -254,7 +343,7 @@ msgstr ""
 "\n"
 
 # , c-format
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -263,97 +352,83 @@ msgstr ""
 "Arquivo ou diretório `%s' não encontrado.\n"
 "\n"
 
-# , c-format
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Tamanho: %s"
-
-# , c-format
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s para terminar]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (sem autoridade)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
 # , c-format
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, fechando conexão de controle.\n"
 
 # , c-format
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Conexão de dados: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Conexão de controle fechada.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Transferência dos dados abortada.\n"
 
 # , c-format
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Arquivo `%s' já existente, não será baixado.\n"
 
 # , c-format
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(tentativa:%2d)"
 
 # , c-format
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' recebido [%ld]\n"
 "\n"
 
 # , c-format
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Removendo %s.\n"
 
 # , c-format
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Usando `%s' como arquivo temporário de listagem.\n"
 
 # , c-format
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Removido `%s'.\n"
 
 # , c-format
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Nível de recursão %d excede nível máximo %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Arquivo remoto não é mais novo que o local `%s' -- ignorando.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -362,22 +437,21 @@ msgstr ""
 "Arquivo remoto é mais que o local `%s' -- baixando.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "Os tamanhos não são iguais (local %ld) -- baixando.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Nome inválido do link simbólico, ignorando.\n"
 
 # , c-format
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -387,256 +461,203 @@ msgstr ""
 "\n"
 
 # , c-format
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Criando link simbólico %s -> %s\n"
 
 # , c-format
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Links simbólicos não suportados, %s será ignorado.\n"
 
 # , c-format
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Ignorando diretório `%s'.\n"
 
 # , c-format
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tipo de arquivo desconhecido/não suportado.\n"
 
 # , c-format
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: horário (timestamp) inválido.\n"
 
 # , c-format
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Não serão buscados diretórios, pois o nível de recursão é %d (max %d).\n"
+msgstr ""
+"Não serão buscados diretórios, pois o nível de recursão é %d (max %d).\n"
 
 # , c-format
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Não descendo para `%s', pois está excluído/não incluído.\n"
 
 # , c-format
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Rejeitando `%s'.\n"
 
 # , c-format
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Erro ao gravar em `%s' %s.\n"
+
+# , c-format
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Nada encontrado com o padrão `%s'.\n"
 
 # , c-format
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Escrito index em formato HTML para `%s' [%ld].\n"
 
 # , c-format
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Escrito índice em formato HTML para `%s'.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Não foi possível gerar semente para OpenSSL; desabilitando SSL.\n"
-
-# , c-format
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opção `%s' é ambígua\n"
-
-# , c-format
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opção `--%s' não permite argumento\n"
-
-# , c-format
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opção `%c%s' não permite argumento\n"
-
-# , c-format
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opção `%s' requer um argumento\n"
-
-# , c-format
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opção não reconhecida `--%s'\n"
-
-# , c-format
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opção não reconhecida `%c%s'\n"
-
-# , c-format
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opção ilegal -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opção inválida -- %c\n"
-
-# , c-format
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opção requer um argumento -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Erro desconhecido"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opção `-W %s' é ambígua\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opção `-W %s' não permite argumentos\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Erro desconhecido"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Resolvendo %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "falha: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "falha: tempo excedido.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Host não encontrado"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Erro desconhecido"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Não foi possível resolver link incompleto %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Falha ao definir um contexto SSL\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Valor inválido `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Falha ao carregar certificados do %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Tentando sem o certificado especificado\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Falha ao enviar requisição HTTP: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Falha ao obter a chave do certificado de %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Não foi possível estabelecer conexão segura (SSL).\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Reutilizando conexão para %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Falha ao enviar requisição HTTP: %s.\n"
 
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
 # , c-format
-#: src/http.c:1039
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s requisição enviada, aguardando resposta... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Fim de arquivo durante a leitura dos headers.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Nenhum dado recebido"
 
 # , c-format
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Erro de leitura (%s) nos headers.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Nenhum dado recebido"
+# , c-format
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Arquivo `%s' já existente, não será baixado.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Esquema de autenticação desconhecido.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Autorização falhou.\n"
 
-#: src/http.c:1130
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Linha de status inválida"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(sem descrição)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Autorização falhou.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Esquema de autenticação desconhecido.\n"
-
 # , c-format
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Localização: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nao especificado"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [seguinte]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -646,75 +667,63 @@ msgstr ""
 "    O arquivo já foi completamente obtido; nada a ser feito.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Continuação de download falhou nesse arquivo, o qual conflita com `-c'.\n"
-"Arquivo existente não será truncado: `%s'.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Tamanho: "
 
-# , c-format
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s para o fim)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignorado"
 
-#: src/http.c:1598
+# , c-format
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Ignorando diretório `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Aviso: wildcards não suportados para HTTP.\n"
 
-# , c-format
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Arquivo `%s' já presente, não será baixado.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
 # , c-format
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Não foi possível escrever em `%s' (%s).\n"
 
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Não foi possível estabelecer conexão segura (SSL).\n"
+
 # , c-format
-#: src/http.c:1819
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ERRO: Redireção (%d) sem Location.\n"
 
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
 # , c-format
-#: src/http.c:1851
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ERRO %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Header Last-modified não recebido -- time-stamps desligados.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Header Last-modified inválido -- time-stamp ignorado.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -723,125 +732,144 @@ msgstr ""
 "Arquivo no servidor não é mais novo que o local `%s' -- não baixando.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Os tamanhos não são iguais (local %ld) -- baixando.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Arquivo remoto é mais novo, buscando.\n"
 
-# , c-format
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' recebido [%ld/%ld]\n"
+"Arquivo remoto é mais que o local `%s' -- baixando.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Conexão fechada no byte %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Arquivo remoto não é mais novo que o local `%s' -- ignorando.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Arquivo remoto não é mais novo que o local `%s' -- ignorando.\n"
+
+# , c-format
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' recebido [%ld/%ld])\n"
+"%s (%s) - `%s' recebido [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Conexão fechada no byte %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Conexão fechada no byte %ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Erro de leitura no byte %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Erro de leitura no byte %ld/%ld (%s)."
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC aponta para %s, que não existe.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Não foi possível ler %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Erro em %s na linha %d.\n"
 
-#: src/init.c:454
-#, c-format
-msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Aviso: os arquivos wgetrc do sistema e do usuário apontam para `%s'.\n"
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Erro em %s na linha %d.\n"
+
+# , c-format
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: BUG: comando desconhecido `%s', valor `%s'.\n"
+
+#: src/init.c:524
+#, c-format
+msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
+msgstr ""
+"%s: Aviso: os arquivos wgetrc do sistema e do usuário apontam para `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: comando --execute é inválido `%s'\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: expressão inválida `%s', use `on' ou `off'.\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Expressão inválida `%s', use 'always', 'on', 'off', or 'never'.\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Número inválido `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Valor inválido do byte `%s'\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Período de tempo inválido `%s'\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Valor inválido `%s'.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Cabeçalho inválido `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Tipo de progresso inválido `%s'.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Restrição inválida `%s', use `unix' ou `windows'.\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Valor inválido `%s'.\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -850,28 +878,26 @@ msgstr ""
 "\n"
 "%s recebido, redirecionando saída para `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Nenhum dado recebido"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; desabilitando log.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Uso: %s [OPÇÃO]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, um programa não interativo para buscar arquivos da rede.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -880,287 +906,567 @@ msgstr ""
 "obrigatórios para opções curtas.\n"
 "\n"
 
-#: src/main.c:144
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Início:\n"
-"  -V,  --version           mostra a versão do Wget e sai.\n"
-"  -h,  --help              mostra esta ajuda.\n"
-"  -b,  --background        executa em background depois de iniciar.\n"
-"  -e,  --execute=COMANDO   executa um comando `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"Geração de log e arquivo de entrada:\n"
-"  -o,  --output-file=ARQUIVO   mensagens de log para ARQUIVO.\n"
-"  -a,  --append-output=ARQUIVO apenda mensagens em ARQUIVO.\n"
-"  -d,  --debug                 mostra saídas de debug.\n"
-"  -q,  --quiet                 quieto (sem saídas).\n"
-"  -nv, --non-verbose           desliga modo verboso, sem ser quieto.\n"
-"  -i,  --input-file=ARQUIVO    lê URL-s de ARQUIVO.\n"
-"  -F,  --force-html            trata arquivo de entrada como HTML.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"Download:\n"
-"  -t,  --tries=NÚMERO           define número de tentativas a NÚMERO\n"
-"                                (0 é ilimitado).\n"
-"       --retry-connrefused      tenta novamente mesmo se a conexão foi rejeitada.\n"
-"  -O   --output-document=ARQUIVO  escreve documentos para ARQUIVO.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               continuar usando arquivo parcialmente baixando.\n"
-"       --progress=TIPO          define o tipo de indicador de progresso.\n"
-"  -N,  --timestamping           não re-obtém arquivos, ao menos que sejam mais \n"
-"                                novos que os locais.\n"
-"  -S,  --server-response        mostra resposta do servidor.\n"
-"       --spider                 não baixa nada.\n"
-"  -T,  --timeout=SEGS           define todos os timeouts para SEGS (segundos).\n"
-"       --dns-timeout=SEGS       define o timeout de consuta ao DNS para SEGS.\n"
-"       --connect-timeout=SEGS   define o timeout de conexão para SEGS.\n"
-"       --read-timeout=SEGS      define o timeout de recepção para SEGS.\n"
-"  -w,  --wait=SEGS              aguarda SEGS segundos entre os downloads.\n"
-"       --waitretry=SEGS         aguarda 1...SEGS entre as re-tentativas de \n"
-"                                download.\n"
-"       --random-wait            aguarda de 0...2*WAIT segs entre re-tentativas \n"
-"                                de download.\n"
-"  -Y,  --proxy=on/off           ativa/desativa uso de proxy.\n"
-"  -Q,  --quota=NÚMERO           define quota de download para NÚMERO.\n"
-"       --bind-address=ENDEREÇO  usa o ENDEREÇO (nome de máquina ou IP) na máquina local.\n"
-"       --limit-rate=LIMITE      limita taxa de download para LIMITE.\n"
-"       --dns-cache=off          desabilita cache de resoluções DNS.\n"
-"       --restrict-file-names=OS restringe número de caracteres de arquivos para o\n"
-"                                aceitável pelo OS.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:407
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"Diretórios:\n"
-"  -nd  --no-directories            não cria diretórios.\n"
-"  -x,  --force-directories         força a criação de diretórios.\n"
-"  -nH, --no-host-directories       não cria diretórios com nome do host.\n"
-"  -P,  --directory-prefix=PREFIXO  salva arquivos em PREFIXO/...\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:411
+msgid "Download:\n"
 msgstr ""
-"Opções HTTP:\n"
-"       --http-user=USUÁRIO   configura usuário http.\n"
-"       --http-passwd=SENHA   configura senha http.\n"
-"  -C,  --cache=on/off        liga/desliga busca de dados do cache\n"
-"                             (normalmente ligada).\n"
-"  -E,  --html-extension      grava todos arquivos texto/html com extensão .html.\n"
-"       --ignore-length       ignora o header `Content-Length'.\n"
-"       --header=STRING       insere STRING entre os headers.\n"
-"       --proxy-user=USUÁRIO  configura nome do usuário do proxy.\n"
-"       --proxy-passwd=SENHA  configura a senha do usuário do proxy.\n"
-"       --referer=URL         inclui no cabeçalho HTTP `Referer: URL'.\n"
-"  -s,  --save-headers        salva os headers HTTP no arquivo.\n"
-"  -U,  --user-agent=AGENTE   identifica cliente como AGENTE especificado ao invés de                             Wget/VERSÃO.\n"
-"       --no-http-keep-alive  desabilita HTTP keep-alive (conexões permanentes).\n"
-"       --cookies=off         não usa cookies.\n"
-"       --load-cookies=ARQUIVO carrega cookies de ARQUIVO antes da sessão.\n"
-"       --save-cookies=ARQUIVO grava cookies para ARQUIVO no final da sessão.\n"
-"       --post-data=STRING    usar o método POST; envia dados de STRING.\n"
-"       --post-file=ARQUIVO   usar o método POST; envia conteúdo de ARQUIVO.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr ""
-"Opções HTTPS (SSL) :\n"
-"       --sslcertfile=ARQUIVO  certificado de cliente opcional.\n"
-"       --sslcertkey=KEYFILE   keyfile opcional para este certificado.\n"
-"       --egd-file=ARQUIVO     nome de arquivo do socket EGD.\n"
-"       --sslcadir=DIR         diretório onde a lista de CA's estão guardadas.\n"
-"       --sslcafile=ARQUIVO    arquivo com pacote de CA's\n"
-"       --sslcerttype=0/1      tipo de Client-Cert 0=PEM (padrão) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     verificar o certificado do servidor com o CA dado\n"
-"       --sslprotocol=0-3      escolher protocolo SSL; 0=automático,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:419
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Diretório   "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
 msgstr ""
-"Opções FTP:\n"
-"  -nr, --dont-remove-listing   não remove arquivos `.listing'.\n"
-"  -g,  --glob=on/off           liga/desliga expansão de nomes de arquivos.\n"
-"       --passive-ftp           usa modo de transferência \"passivo\".\n"
-"       --retr-symlinks         se recursivo, obtém links simbólicos (não diretórios).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Busca recursiva:\n"
-"  -r,  --recursive          downloads recursivos.\n"
-"  -l,  --level=NÚMERO       nível máximo de recursividade (0 para ilimitado).\n"
-"       --delete-after       apaga os arquivos baixados depois de finalizado.\n"
-"  -k,  --convert-links      converte links não relativos para relativos.\n"
-"  -K,  --backup-converted   antes de converter o arquivo, copia com a extensão .orig.\n"
-"  -m,  --mirror             liga opções para espelhamento (mirror).\n"
-"  -p,  --page-requisites    obtém todos objetos necessários para mostrar página HTML.\n"
-"       --strict-comments    ativa manipulação de comentários HTML.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
-"Aceitação/rejeição recursiva:\n"
-"  -A,  --accept=LISTA              lista de extensões aceitas.\n"
-"  -R,  --reject=LISTA              lista de extensões rejeitadas.\n"
-"  -D,  --domains=LISTA             lista de domínios aceitos.\n"
-"       --exclude-domains=LISTA     lista de domínios rejeitados.\n"
-"       --follow-ftp                segue links FTP em documentos HTML.\n"
-"       --follow-tags=LISTA         lista de tags HTML aceitas.\n"
-"  -G,  --ignore-tags=LISTA         lista de tags HTML rejeitadas.\n"
-"  -H,  --span-hosts                segue hosts externos quando recursivo.\n"
-"  -L,  --relative                  segue somente links relativos.\n"
-"  -I,  --include-directories=LISTA lista de diretórios permitidos.\n"
-"  -X,  --exclude-directories=LISTA lista de diretórios excluídos.\n"
-"  -np, --no-parent                 não sobe para o diretório pai.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Relatos de bugs e sugestões para <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: compilado sem opção de debug.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr ""
+"GNU Wget %s, um programa não interativo para buscar arquivos da rede.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Este programa é distribuído com o objetivo de que seja útil,\n"
-"mas SEM QUALQUER GARANTIA; nem mesmo a garantia ímplicita de\n"
-"COMERCIABILIDADE ou de UTILIDADE PARA UM PROPÓSITO PARTICULAR.\n"
-"Veja a Licença Pública Geral GNU (GNU GPL) para mais detalhes.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1168,149 +1474,240 @@ msgstr ""
 "\n"
 "Escrito originalmente por Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: opção ilegal -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
 # , c-format
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Tente `%s --help' para mais opções.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: opção ilegal -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Não pode ser verboso e quieto ao mesmo tempo.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Não é possível usar as opções \"timestamp\" e \"no clobber\" ao mesmo tempo.\n"
+msgstr ""
+"Não é possível usar as opções \"timestamp\" e \"no clobber\" ao mesmo "
+"tempo.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL faltando\n"
 
 # , c-format
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Nenhuma URL encontrada em %s.\n"
 
 # , c-format
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "FINALIZADO --%s--\n"
 "Baixados: %s bytes em %d arquivos\n"
 
 # , c-format
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "EXCEDIDA a quota (%s bytes) de recepção!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Continuando em background.\n"
 
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Continuando em background, pid %d.\n"
+
 # , c-format
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Saída será escrita em `%s'.\n"
 
-# , c-format
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Disparando WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Não foi possivel encontrar um driver de sockets usável.\n"
 
 # , c-format
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: aviso: token \"%s\" aparece antes de qualquer nome de máquina\n"
+msgstr ""
+"%s: %s:%d: aviso: token \"%s\" aparece antes de qualquer nome de máquina\n"
 
 # , c-format
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: token desconhecido \"%s\"\n"
 
 # , c-format
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Uso: %s NETRC [NOME DO HOST]\n"
 
 # , c-format
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: não foi possível acessar %s: %s\n"
 
-# , c-format
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Não foi possível gerar semente para OpenSSL; desabilitando SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
 #, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+# , c-format
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ ignorando %dK ]"
 
 # , c-format
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Especificação de estilo inválida `%s'; mantendo inalterado.\n"
 
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
 # , c-format
-#: src/recur.c:378
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Removendo %s pois ele deve ser rejeitado.\n"
 
-#: src/res.c:549
+# , c-format
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Não foi possível converter links em %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Buscando robots.txt; por favor ignore qualquer erro.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Erro analisando URL do proxy %s: %s\n"
 
 # , c-format
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Erro na URL do proxy %s. Deve ser HTTP.\n"
 
 # , c-format
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d redirecionamentos excedidos.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1318,7 +1715,7 @@ msgstr ""
 "Desistindo.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1326,56 +1723,473 @@ msgstr ""
 "Tentando novamente.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Nenhum erro"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Esquema não suportado"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Nome de host em branco"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Nome do usuário inválido"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Número de porta inválido"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Nome do usuário inválido"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Endereço IPV6 indeterminado"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Endereço IPv6 não suportado"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Endereço IPv6 inválido"
 
-# , c-format
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Memória insuficiente.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Continuando em background, pid %d.\n"
 
 # , c-format
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Falha na remoção do link simbólico `%s': %s\n"
 
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr ""
+#~ "Não foi possível converter `%s' para um endereço. Mudando para ANY\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Erro em Set-Cookie, campo `%s'"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST falhou; %s não será truncado.\n"
+
+# , c-format
+#~ msgid " [%s to go]"
+#~ msgstr " [%s para terminar]"
+
+#~ msgid "Host not found"
+#~ msgstr "Host não encontrado"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Falha ao definir um contexto SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Falha ao carregar certificados do %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Tentando sem o certificado especificado\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Falha ao obter a chave do certificado de %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Fim de arquivo durante a leitura dos headers.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Continuação de download falhou nesse arquivo, o qual conflita com `-c'.\n"
+#~ "Arquivo existente não será truncado: `%s'.\n"
+#~ "\n"
+
+# , c-format
+#~ msgid " (%s to go)"
+#~ msgstr " (%s para o fim)"
+
+# , c-format
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Arquivo `%s' já presente, não será baixado.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' recebido [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Conexão fechada no byte %ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: Expressão inválida `%s', use 'always', 'on', 'off', or 'never'.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Início:\n"
+#~ "  -V,  --version           mostra a versão do Wget e sai.\n"
+#~ "  -h,  --help              mostra esta ajuda.\n"
+#~ "  -b,  --background        executa em background depois de iniciar.\n"
+#~ "  -e,  --execute=COMANDO   executa um comando `.wgetrc'.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Geração de log e arquivo de entrada:\n"
+#~ "  -o,  --output-file=ARQUIVO   mensagens de log para ARQUIVO.\n"
+#~ "  -a,  --append-output=ARQUIVO apenda mensagens em ARQUIVO.\n"
+#~ "  -d,  --debug                 mostra saídas de debug.\n"
+#~ "  -q,  --quiet                 quieto (sem saídas).\n"
+#~ "  -nv, --non-verbose           desliga modo verboso, sem ser quieto.\n"
+#~ "  -i,  --input-file=ARQUIVO    lê URL-s de ARQUIVO.\n"
+#~ "  -F,  --force-html            trata arquivo de entrada como HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NÚMERO           define número de tentativas a NÚMERO\n"
+#~ "                                (0 é ilimitado).\n"
+#~ "       --retry-connrefused      tenta novamente mesmo se a conexão foi "
+#~ "rejeitada.\n"
+#~ "  -O   --output-document=ARQUIVO  escreve documentos para ARQUIVO.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               continuar usando arquivo parcialmente "
+#~ "baixando.\n"
+#~ "       --progress=TIPO          define o tipo de indicador de progresso.\n"
+#~ "  -N,  --timestamping           não re-obtém arquivos, ao menos que sejam "
+#~ "mais \n"
+#~ "                                novos que os locais.\n"
+#~ "  -S,  --server-response        mostra resposta do servidor.\n"
+#~ "       --spider                 não baixa nada.\n"
+#~ "  -T,  --timeout=SEGS           define todos os timeouts para SEGS "
+#~ "(segundos).\n"
+#~ "       --dns-timeout=SEGS       define o timeout de consuta ao DNS para "
+#~ "SEGS.\n"
+#~ "       --connect-timeout=SEGS   define o timeout de conexão para SEGS.\n"
+#~ "       --read-timeout=SEGS      define o timeout de recepção para SEGS.\n"
+#~ "  -w,  --wait=SEGS              aguarda SEGS segundos entre os "
+#~ "downloads.\n"
+#~ "       --waitretry=SEGS         aguarda 1...SEGS entre as re-tentativas "
+#~ "de \n"
+#~ "                                download.\n"
+#~ "       --random-wait            aguarda de 0...2*WAIT segs entre re-"
+#~ "tentativas \n"
+#~ "                                de download.\n"
+#~ "  -Y,  --proxy=on/off           ativa/desativa uso de proxy.\n"
+#~ "  -Q,  --quota=NÚMERO           define quota de download para NÚMERO.\n"
+#~ "       --bind-address=ENDEREÇO  usa o ENDEREÇO (nome de máquina ou IP) na "
+#~ "máquina local.\n"
+#~ "       --limit-rate=LIMITE      limita taxa de download para LIMITE.\n"
+#~ "       --dns-cache=off          desabilita cache de resoluções DNS.\n"
+#~ "       --restrict-file-names=OS restringe número de caracteres de "
+#~ "arquivos para o\n"
+#~ "                                aceitável pelo OS.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Diretórios:\n"
+#~ "  -nd  --no-directories            não cria diretórios.\n"
+#~ "  -x,  --force-directories         força a criação de diretórios.\n"
+#~ "  -nH, --no-host-directories       não cria diretórios com nome do host.\n"
+#~ "  -P,  --directory-prefix=PREFIXO  salva arquivos em PREFIXO/...\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opções HTTP:\n"
+#~ "       --http-user=USUÁRIO   configura usuário http.\n"
+#~ "       --http-passwd=SENHA   configura senha http.\n"
+#~ "  -C,  --cache=on/off        liga/desliga busca de dados do cache\n"
+#~ "                             (normalmente ligada).\n"
+#~ "  -E,  --html-extension      grava todos arquivos texto/html com "
+#~ "extensão .html.\n"
+#~ "       --ignore-length       ignora o header `Content-Length'.\n"
+#~ "       --header=STRING       insere STRING entre os headers.\n"
+#~ "       --proxy-user=USUÁRIO  configura nome do usuário do proxy.\n"
+#~ "       --proxy-passwd=SENHA  configura a senha do usuário do proxy.\n"
+#~ "       --referer=URL         inclui no cabeçalho HTTP `Referer: URL'.\n"
+#~ "  -s,  --save-headers        salva os headers HTTP no arquivo.\n"
+#~ "  -U,  --user-agent=AGENTE   identifica cliente como AGENTE especificado "
+#~ "ao invés de                             Wget/VERSÃO.\n"
+#~ "       --no-http-keep-alive  desabilita HTTP keep-alive (conexões "
+#~ "permanentes).\n"
+#~ "       --cookies=off         não usa cookies.\n"
+#~ "       --load-cookies=ARQUIVO carrega cookies de ARQUIVO antes da "
+#~ "sessão.\n"
+#~ "       --save-cookies=ARQUIVO grava cookies para ARQUIVO no final da "
+#~ "sessão.\n"
+#~ "       --post-data=STRING    usar o método POST; envia dados de STRING.\n"
+#~ "       --post-file=ARQUIVO   usar o método POST; envia conteúdo de "
+#~ "ARQUIVO.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opções HTTPS (SSL) :\n"
+#~ "       --sslcertfile=ARQUIVO  certificado de cliente opcional.\n"
+#~ "       --sslcertkey=KEYFILE   keyfile opcional para este certificado.\n"
+#~ "       --egd-file=ARQUIVO     nome de arquivo do socket EGD.\n"
+#~ "       --sslcadir=DIR         diretório onde a lista de CA's estão "
+#~ "guardadas.\n"
+#~ "       --sslcafile=ARQUIVO    arquivo com pacote de CA's\n"
+#~ "       --sslcerttype=0/1      tipo de Client-Cert 0=PEM (padrão) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     verificar o certificado do servidor com o "
+#~ "CA dado\n"
+#~ "       --sslprotocol=0-3      escolher protocolo SSL; 0=automático,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opções FTP:\n"
+#~ "  -nr, --dont-remove-listing   não remove arquivos `.listing'.\n"
+#~ "  -g,  --glob=on/off           liga/desliga expansão de nomes de "
+#~ "arquivos.\n"
+#~ "       --passive-ftp           usa modo de transferência \"passivo\".\n"
+#~ "       --retr-symlinks         se recursivo, obtém links simbólicos (não "
+#~ "diretórios).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Busca recursiva:\n"
+#~ "  -r,  --recursive          downloads recursivos.\n"
+#~ "  -l,  --level=NÚMERO       nível máximo de recursividade (0 para "
+#~ "ilimitado).\n"
+#~ "       --delete-after       apaga os arquivos baixados depois de "
+#~ "finalizado.\n"
+#~ "  -k,  --convert-links      converte links não relativos para relativos.\n"
+#~ "  -K,  --backup-converted   antes de converter o arquivo, copia com a "
+#~ "extensão .orig.\n"
+#~ "  -m,  --mirror             liga opções para espelhamento (mirror).\n"
+#~ "  -p,  --page-requisites    obtém todos objetos necessários para mostrar "
+#~ "página HTML.\n"
+#~ "       --strict-comments    ativa manipulação de comentários HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Aceitação/rejeição recursiva:\n"
+#~ "  -A,  --accept=LISTA              lista de extensões aceitas.\n"
+#~ "  -R,  --reject=LISTA              lista de extensões rejeitadas.\n"
+#~ "  -D,  --domains=LISTA             lista de domínios aceitos.\n"
+#~ "       --exclude-domains=LISTA     lista de domínios rejeitados.\n"
+#~ "       --follow-ftp                segue links FTP em documentos HTML.\n"
+#~ "       --follow-tags=LISTA         lista de tags HTML aceitas.\n"
+#~ "  -G,  --ignore-tags=LISTA         lista de tags HTML rejeitadas.\n"
+#~ "  -H,  --span-hosts                segue hosts externos quando "
+#~ "recursivo.\n"
+#~ "  -L,  --relative                  segue somente links relativos.\n"
+#~ "  -I,  --include-directories=LISTA lista de diretórios permitidos.\n"
+#~ "  -X,  --exclude-directories=LISTA lista de diretórios excluídos.\n"
+#~ "  -np, --no-parent                 não sobe para o diretório pai.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: compilado sem opção de debug.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Este programa é distribuído com o objetivo de que seja útil,\n"
+#~ "mas SEM QUALQUER GARANTIA; nem mesmo a garantia ímplicita de\n"
+#~ "COMERCIABILIDADE ou de UTILIDADE PARA UM PROPÓSITO PARTICULAR.\n"
+#~ "Veja a Licença Pública Geral GNU (GNU GPL) para mais detalhes.\n"
+
+# , c-format
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Disparando WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Nome de host em branco"
+
+# , c-format
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Memória insuficiente.\n"
+
 # , c-format
 #~ msgid "Connection to %s:%hu refused.\n"
 #~ msgstr "Conexão para %s:%hu recusada.\n"
@@ -1407,18 +2221,16 @@ msgstr "Falha na remo
 #~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
 #~ msgstr "%s: Aviso: resolução do endereço local não resultou em FQDN!\n"
 
-# , c-format
-#~ msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-#~ msgstr "%s: BUG: comando desconhecido `%s', valor `%s'.\n"
-
 #~ msgid ""
 #~ "Download:\n"
-#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
 #~ "  -O   --output-document=FILE   write documents to FILE.\n"
 #~ "  -nc, --no-clobber             don't clobber existing files.\n"
 #~ "  -c,  --continue               restart getting an existing file.\n"
 #~ "       --dot-style=STYLE        set retrieval display style.\n"
-#~ "  -N,  --timestamping           don't retrieve files if older than local.\n"
+#~ "  -N,  --timestamping           don't retrieve files if older than "
+#~ "local.\n"
 #~ "  -S,  --server-response        print server response.\n"
 #~ "       --spider                 don't download anything.\n"
 #~ "  -T,  --timeout=SECONDS        set the read timeout to SECONDS.\n"
@@ -1428,15 +2240,19 @@ msgstr "Falha na remo
 #~ "\n"
 #~ msgstr ""
 #~ "Download:\n"
-#~ "  -t,  --tries=NÚMERO            configura número de tentativas (0=infinitas).\n"
+#~ "  -t,  --tries=NÚMERO            configura número de tentativas "
+#~ "(0=infinitas).\n"
 #~ "  -O   --output-document=ARQUIVO escreve os documentos no ARQUIVO.\n"
 #~ "  -nc, --no-clobber              não sobrescreve arquivos existentes.\n"
-#~ "       --dot-style=ESTILO        configura estilo do display de download.\n"
-#~ "  -N,  --timestamping            não busca arquivos mais antigos que os locais.\n"
+#~ "       --dot-style=ESTILO        configura estilo do display de "
+#~ "download.\n"
+#~ "  -N,  --timestamping            não busca arquivos mais antigos que os "
+#~ "locais.\n"
 #~ "  -S,  --server-response         mostra respostas do servidor.\n"
 #~ "       --spider                  não baixa nenhum arquivo.\n"
 #~ "  -T,  --timeout=SEGUNDOS        configura o timeout de leitura.\n"
-#~ "  -w,  --wait=SEGUNDOS           espera SEGUNDOS entre buscas de arquivos.\n"
+#~ "  -w,  --wait=SEGUNDOS           espera SEGUNDOS entre buscas de "
+#~ "arquivos.\n"
 #~ "  -Y,  --proxy=on/off            liga ou desliga proxy.\n"
 #~ "  -Q,  --quota=NÚMERO            configura quota de recepção.\n"
 #~ "\n"
diff --git a/po/quot.sed b/po/quot.sed
new file mode 100644 (file)
index 0000000..71c9216
--- /dev/null
@@ -0,0 +1,12 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+
+# At least in all of our current strings, ' should be ’.
+s/'/’/g
+# Special: write Hrvoje’s last name properly.
+s/Niksic/Nikšić/g
+s/opyright (C)/opyright ©/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
new file mode 100644 (file)
index 0000000..2436c49
--- /dev/null
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
index b308adc814282555976c65f18b31244654b279da..2b761208bcd2212970ea82802e5f487b66bff5fc 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2003-11-01 18:02+0200\n"
 "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -13,28 +14,93 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "Nu am putut converti `%s' într-o adresã bind.  Readucere(reverting) la ANY.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: opþiunea `%s' este ambiguã\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Conectare la %s[%s]:%hu..."
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: opþiunea `--%s' nu permite un parametru\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: opþiunea `%c%s' nu permite un parametru\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: opþiunea `%s' necesitã un parametru\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: opþiune nerecunoscutã `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: opþiune nerecunoscutã `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: opþiune ilegalã -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: opþiune invalidã -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opþiunea necesitã un parametru -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: opþiunea `W %s' este ambiguã\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: opþiunea `-W %s' nu permite parametri\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Conectare la %s[%s]:%hu..."
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Conectare la %s:%hu..."
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "conectat.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "eºuare: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Nu pot ºterge `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "%d fiºiere convertite în %.2f secunde.\n"
 
 #: src/convert.c:197
@@ -56,129 +122,152 @@ msgstr "Nu pot converti linkurile 
 msgid "Unable to delete `%s': %s\n"
 msgstr "Nu pot ºterge `%s': %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Nu pot face backup la %s ca %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Eroare în Set-Cookie, câmpul `%s'"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Eroare de sintaxã în Set-Cookie: %s la poziþia %d.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Nu pot deschide fiºierul de cookies `%s': %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Eroare la scriere în `%s': %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Eroare la închiderea `%s': %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Tip de listare nesuportat, se încearcã trecere la listare Unix.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Index al /%s pe %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "duratã necunoscutã "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Fiºier      "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Director    "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Link        "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Nesigur     "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s octeþi)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Dimensiune: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (neobligatoriu)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Login ca %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Eroare în rãspunsul serverului, închid conexiunea.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Eroare în salutul serverului.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Scriere eºuatã, închid conexiunea.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Serverul refuzã loginul.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Login incorect.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Admis!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Eroare server, nu se poate determina tipul sistemului.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "terminat."
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "terminat.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tip `%c' necunoscut, conexiune închisã.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "finalizat."
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD nenecesar.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -187,43 +276,33 @@ msgstr ""
 "Nu existã directorul `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD nu este necesar.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Nu s-a putut iniþia transferul PASV.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Nu s-a putut analiza rãspunsul PASV.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "conectare la %s:%hu nereuºitã: %s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Eroare de legãturã(bind) (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORT invalid.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST eºuat; nu se va trunchia `%s'.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -231,7 +310,7 @@ msgstr ""
 "\n"
 "REST eºuat, start de la început.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -240,7 +319,7 @@ msgstr ""
 "Nu existã fiºierul `%s'.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -249,105 +328,93 @@ msgstr ""
 "Nu existã fiºierul sau directorul `%s'.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Dimensiune: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s rãmaºi]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (neobligatoriu)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, închid controlul conexiunii.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Conexiune de date: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Controlul conexiunii închis.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Transfer de date întrerupt.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Fiºierul `%s' existã deja, nu se mai aduce.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(încercare:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr "%s (%s) - `%s' salvat [%ld]\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "ªterg %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Se utilizeazã `%s' ca fiºier temporar de listare.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "`%s' ºters.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Adãncimea de recurenþã %d a depaºit max. de adãncime %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Fiºierul remote nu este mai nou decãt fiºierul local `%s'--nu se aduce.\n"
+msgstr ""
+"Fiºierul remote nu este mai nou decãt fiºierul local `%s'--nu se aduce.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr "Fiºierul remote este mai nou decãt fiºierul local `%s' -- se aduce.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "Dimensiunile nu corespund (local %ld) -- se aduce.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Nume symlink invalid, se omite.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -356,235 +423,187 @@ msgstr ""
 "Deja existã symlinkul corect %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Creare symlink %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Symlinkuri nesuportate, se omite symlinkul `%s'.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Se omite directorul `%s.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: tip fiºier necunoscut/nesuportat.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: identificator-timp(time-stamp) corupt.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Nu vor fi aduse directoare pentru adãncime setatã la %d (max %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Nu se coboarã la `%s' daca este exclus/neinclus.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Refuzare `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Eroare la scriere în `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Nu s-au gãsit potriviri pentru tiparul `%s'.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "S-a scris indexul HTML în `%s' [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "S-a scris indexul HTML în `%s'\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Nu s-a selectat OpenSSL PRNG; dezactivare SSL.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opþiunea `%s' este ambiguã\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opþiunea `--%s' nu permite un parametru\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opþiunea `%c%s' nu permite un parametru\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opþiunea `%s' necesitã un parametru\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opþiune nerecunoscutã `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opþiune nerecunoscutã `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opþiune ilegalã -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opþiune invalidã -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opþiunea necesitã un parametru -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Eroare necunoscutã"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opþiunea `W %s' este ambiguã\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opþiunea `-W %s' nu permite parametri\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Eroare necunoscutã"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Rezolvare %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "eºuare: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "eºuare: .expirat(ã)\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Host negãsit"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Eroare necunoscutã"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Nu s-a rezolvat linkul incomplet %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "S-a eºuat în setarea contextului SSL\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Valoare invalidã `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "S-a eºuat în încãrcarea certificatelor din %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Se încearcã fãrã certificatele specificate\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Scriere cerere HTTP eºuatã: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Nu s-a putut primi codul(key) certificatului de la %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Nu s-a putut stabili o conexiune SSL.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Reutilizare conexiune cãtre %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Scriere cerere HTTP eºuatã: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "Cerere %s trimisã, se aºteaptã rãspuns... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Sfârºit fiºier la analiza headerelor.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Nici o datã recepþionatã"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Eroare de citire (%s) în headere.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Nici o datã recepþionatã"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Fiºierul `%s' existã deja, nu se mai aduce.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Schemã autentificare necunoscutã.\n"
 
-#: src/http.c:1130
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Autorizare eºuatã.\n"
+
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Linie de stare malformatã"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(fãrã descriere)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Autorizare eºuatã.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Schemã autentificare necunoscutã.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Locaþie: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nespecificat(ã)"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [urmeazã]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -594,195 +613,206 @@ msgstr ""
 "    Fiºierul este deja complet; nu mai e nimic de fãcut.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Continuarea downloadului a eºuat la acest fiºier, ceea ce intrã în \n"
-"conflict cu `-c'.\n"
-"Se refuzã trunchierea fiºierului `%s' existent. \n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Dimensiune: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s rãmaºi)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignorat"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Se omite directorul `%s.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Avertisment: selecþiile globale(wildcards) nu sunt permise în HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Fiºierul `%s' existã deja, nu se mai aduce.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Nu se poate scrie în `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Nu s-a putut stabili o conexiune SSL.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "EROARE: Redirectare (%d) fãrã locaþie.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "EROARE %s %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Lipseºte headerul Last-modified -- identificatori de timp opriþi.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Headerul Last-modified invalid -- identificator de timp ignorat.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Fisierul de pe server nu e mai nou decât fiºierul local `%s' -- nu se aduce.\n"
+"Fisierul de pe server nu e mai nou decât fiºierul local `%s' -- nu se "
+"aduce.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Dimensiunile diferã (local %ld) -- se aduce.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Fiºierul remote este mai nou, se aduce.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
-msgstr ""
-"%s(%s) - `%s' salvat [%ld%ld]\n"
+msgstr "Fiºierul remote este mai nou decãt fiºierul local `%s' -- se aduce.\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
 "\n"
+msgstr ""
+"Fiºierul remote nu este mai nou decãt fiºierul local `%s'--nu se aduce.\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Conexiune închisã la octetul %ld. "
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Fiºierul remote nu este mai nou decãt fiºierul local `%s'--nu se aduce.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
+"\n"
+msgstr ""
+"%s(%s) - `%s' salvat [%ld%ld]\n"
 "\n"
-msgstr "%s (%s) - `%s' salvat [%ld%ld])\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Conexiune închisã la octetul %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Conexiune închisã la octetul %ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Eroare de citire la octetul %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Eroare de citire la octetul %ld/%ld (%s)."
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC þinteºte spre %s, care nu existã.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Nu s-a putut citi %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Eroare în %s la linia %d.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Eroare în %s la linia %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: BUG: comandã necunoscutã `%s', valoare `%s'.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Avertisment: Fiºierele wgetrc ºi sistem ºi user trimit cãtre `%s'.\n"
+msgstr ""
+"%s: Avertisment: Fiºierele wgetrc ºi sistem ºi user trimit cãtre `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Comandã --execute invalidã `%s'\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
-msgstr "%s: %s: Boolean invalid `%s', folosiþi `on' (activat) sau `off'(dezactivat).\n"
-
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s:Boolean invalid `%s', specificaþi always, on, off sau never.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr ""
+"%s: %s: Boolean invalid `%s', folosiþi `on' (activat) sau "
+"`off'(dezactivat).\n"
 
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Numãr invalid `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Valoare octet invalidã `%s'\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Perioadã de timp invalidã `%s'.\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Valoare invalidã `%s'.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Header invalid `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Tip evoluþie `%s' invalid.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Restricþie invalidã `%s', folosiþi `unix' sau `windows'.\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Valoare invalidã `%s'.\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -791,310 +821,593 @@ msgstr ""
 "\n"
 "%s recepþionaþi, redirectare output cãtre `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Nici o datã recepþionatã"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; logging dezactivat.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Folosire: %s [OPÞIUNE]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, un manager de descãrcare non-interactiv.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
 "\n"
-"Parametrii obligatorii pentru opþiuni lungi sunt obligatorii ºi la cele scurte.\n"
+"Parametrii obligatorii pentru opþiuni lungi sunt obligatorii ºi la cele "
+"scurte.\n"
+
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
 
-#: src/main.c:144
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"De start:\n"
-"  -V,  --version\t\t    afiºeazã versiunea Wget ºi iese.\n"
-"  -h,  --help\t\t\t    tipãreºte acest help.\n"
-"  -b,  --background\t\trulare în fundal dupa startare.\n"
-"  -e,  --execute=COMANDÃ\texecutã o comandã în stilul `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"Logãri ºi fiºiere de intrare:\n"
-"  -o,  --output-file=FIªIER\tlogare mesaje în FIªIER.\n"
-"  -a,  --append-output=FIªIER\tadãugare mesaje în FIªIER.\n"
-"  -d,  --debug\t\t\t        tipãrire output debug.\n"
-"  -q,  --quiet\t\t\t        silenþios (fãrã output).\n"
-"  -v,  --verbose\t\t        detaliat (este implicit).\n"
-"  -nv, --non-verbose\t\t    nedetaliat, fãrã a fi silenþios.\n"
-"  -i,  --input-file=FIªIER\t    download de URL-uri gãsite în FIªIER.\n"
-"  -F,  --force-html\t\t    considerã fiºierul de intrare ca HTML.\n"
-"  -B,  --base=URL\t            prefixare URL la linkuri relative în -F -i fiºier.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"Download:\n"
-"  -t,\t--tries=NUMÃR\t\tseteazã numãrul de încercãri ca NUMÃR (0 este nelimitat\n"
-"       --retry-connrefused      reîncearcã ºi în cazul în care conexiunea este refuzatã.\n"
-"  -O,\t--output-document=FIºIER \tscrie documentele în FIªIER.\n"
-"  -nc, --no-clobber\t\tnu secþiona fiºierele existente sau utilizeazã  sufixe .#\n"
-"  -c,  --continue\t\t    continuã sã iei un fiºier downloadat parþial.\n"
-"\t--progress=TIP\t\t    selecteazã mod mãsurare desfaºurare download.\n"
-"  -N,  --timestamping\t\tnu aduce fiºierele dacã nu sunt mai noi decât cele locale.\n"
-"  -S,  --server-response\ttipãreºte rãspunsul serverului.\n"
-"       --spider\t\t    nu descãrca nimic.\n"
-"  -T,  --timeout=SECUNDE\taºteaptã 1...SECUNDE între reîncercãrile de aducere.\n"
-"       --dns-timeout=SECUNDE       setare expirare cãutare DNS la SECUNDE.\n"
-"       --connect-timeout=SECUNDE   setare expirare conectare la.SECUNDE\n"
-"       --read-timeout=SECUNDE      setare expirare citire la SECUNDE.\n"
-"  -w,  --wait=SECUNDE           aºteaptã SECUNDE între aduceri.\n"
-"       --waitretry=SECUNDE      aºteaptã 1...SECUNDE între încercãrile de aducere.\n"
-"       --random-wait            aºteaptã între 0...2*WAIT secunde între  aduceri.\n"
-"  -Y,  --proxy=on/off\t\tactiveazã (on) sau dezactiveazã(off) proxy.\n"
-"  -Q,  --quota=NUMÃR\t\tseteazã cotã de descãrcare la NUMÃR.\n"
-"\t--limit-rate=RATÃ\t    limiteazã ratã descãrcare la RATã.\n"
-"       --dns-cache=off          dezactiveazã cachingul de cãutãri DNS.\n"
-"       --restrict-file-names=OS restricþioneazã caracterele din numele fiºierul la cele pe care le permite sistemul de operare.n\n"
-
-#: src/main.c:188
-msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"Directoare:\n"
-"  -nd  --no-directories            nu crea directoare.\n"
-"  -x,  --force-directories         forþeazã crearea directoarelor.\n"
-"  -nH, --no-host-directories       nu crea directoare gazdã.\n"
-"  -P,  --directory-prefix=PREFIX   salveazã fiºierele în PREFIX/...\n"
-"       --cut-dirs=NUMÃR            Ignorã NUMÃR componente director remote.\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:411
+msgid "Download:\n"
 msgstr ""
-"Opþiuni HTTP:\n"
-"       --http-user=USER      seteazã userul http ca USER.\n"
-"       --http-passwd=PASS    seteazã parola http ca PASS.\n"
-"  -C,  --cache=on/off        (nu)permite date server-cached (în mod normal permis).\n"
-"  -E,  --html-extension      salveazã toate documentele text/html cu extensie .html.\n"
-"       --ignore-length       ignorã câmpul header `Content-Length'.\n"
-"       --header=ªIR          insereazã ªIR în headere.\n"
-"       --proxy-user=USER     seteazã USER drept nume utilizator proxy.\n"
-"       --proxy-passwd=PASS   seteazã PASS drept parolã proxy.\n"
-"       --referer=URL         include headerul `Referer: URL' în cererea HTTP.\n"
-"  -s,  --save-headers        salveazã headerele HTTP în fiºier.\n"
-"  -U,  --user-agent=AGENT    identificare ca AGENT în loc de Wget/VERSIUNE.\n"
-"       --no-http-keep-alive  dezactiveazã HTTP keep-alive (conexiuni persistente).\n"
-"       --cookies=off         nu utiliza cookies.\n"
-"       --load-cookies=FIªIER încãrcã cookies din FIªIER înainte de sesiune.\n"
-"       --save-cookies=FIªIER salveazã cookies în FIªIER dupã sesiune.\n"
-"       --post-data=ªIR    foloseºte metoda POST; trimite ªIR ca ºi date.\n"
-"       --post-file=FIªIER      foloseºte metoda POST; trimite conþinutul FIªIERului\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
 msgstr ""
-"Opþiuni HTTPS (SSL):\n"
-"       --sslcertfile=FIªIER     certificat client opþional.\n"
-"       --sslcertkey=FIªIER_CHEIE   fiºier_cheie opþional pentru acest certificat.\n"
-"       --egd-file=FIªIER        nume fiºier al socketului EGD.\n"
-"       --sslcadir=DIR         directorul unde este stocatã lista de CA-uri.\n"
-"       --sslcafile=FIªIER       fiºierul cu grãmada(bundle) de CA-uri\n"
-"       --sslcerttype=0/1      Tip Cert-Client=PEM (implicit) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Verificarea serverului pentru CA-urile furnizate\n"
-"       --sslprotocol=0-3      verificare protocol SSL; 0=automat,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
 msgstr ""
-"Opþiuni FTP:\n"
-"  -nr, --dont-remove-listing   nu ºterge fiºierele `.listing'.\n"
-"  -g,  --glob=on/off           activare/dezactivare nume globale.\n"
-"       --passive-ftp           utilizeazã modul de transfer \"pasiv\".\n"
-"       --retr-symlinks         în recursiune, adu fiºierele linkuite (nu directoarele).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Director    "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Aducere recursivã:\n"
-"  -r,  --recursive          absorbire web recursivã -- folosiþi cu atenþie!\n"
-"  -l,  --level=NUMÃR       adâncime recursiune maximã (inf sau 0 pentru infinitã).\n"
-"       --delete-after       ºterge fiºierele locale dupa descãrcare.\n"
-"  -k,  --convert-links      converteºte linkuri non-relative în relative.\n"
-"  -K,  --backup-converted   înainte de a converti fiºierul X, back-up ca X.orig.\n"
-"  -m,  --mirror             opþiune scurtã echivalentã cu -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    aducere toate imaginile, etc. necesare pentru afiºarea paginii HTML.\n"
-"       --strict-comments    activeazã manipularea strictã (SGML) a comentariilorHTML.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
-"Acceptare/refuz recursive:\n"
-"  -A,  --accept=LISTà            listã separatã prin virgule a extensiilor acceptate.\n"
-"  -R,  --reject=LISTà            listã separatã prin virgule a extensiilor refuzate.\n"
-"  -D,  --domains=LISTà           listã separatã prin virgule a domeniilor acceptate.\n"
-"       --exclude-domains=LISTà   listã separatã prin virgule a domeniilor refuzate.\n"
-"       --follow-ftp               urmeazã legãturile FTP din documente HTML.\n"
-"       --follow-tags=LISTà       listã separatã prin virgule a tagurilor HTML urmate.\n"
-"  -G,  --ignore-tags=LISTà       listã separatã prin virgule a tagurilor HTML ignorate.\n"
-"  -H,  --span-hosts                 viziteazã ºi site-uri strãine în recursiune.\n"
-"  -L,  --relative                   urmeazã doar linkurile relative.\n"
-"  -I,  --include-directories=LISTà listã directoare permise.\n"
-"  -X,  --exclude-directories=LISTà listã directoare excluse.\n"
-"  -np, --no-parent                  nu urca la directorul pãrinte.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Rapoarte de bug-uri prin mail ºi sugestii la <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: suport de debug necompilat.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, un manager de descãrcare non-interactiv.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Acest program este distribuit în speranþa cã va fi folositor,\n"
-"dar FÃRàNICI O GARANÞIE; chiar fãrã garanþia presupusã a\n"
-"VANDABILITÃÞII sau POTRIVIRII PENT UN SCOP ANUME.  Citiþi\n"
-"Licenþa Publicã Generalã GNU pentru mai multe detalii.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1102,134 +1415,225 @@ msgstr ""
 "\n"
 "Original scris de Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: opþiune ilegalã -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Încercaþi `%s --help' pentru mai multe opþiuni.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: opþiune ilegalã -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Nu pot fi ºi detaliat ºi silenþios în acelaºi timp.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Nu pot ºi identifica pentru timp (timestamp) ºi lãsa fiºierele nesecþionate în acelaºi timp.\n"
+msgstr ""
+"Nu pot ºi identifica pentru timp (timestamp) ºi lãsa fiºierele nesecþionate "
+"în acelaºi timp.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL lipsã\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Nici un URL gãsit în %s.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "FINALIZAT --%s--\n"
 "Downloadat: %s octeþi în %d fiºiere\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Cotã de download (%s octeþi) DEPêITÃ!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Continui în fundal.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Continui în fundal, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Output-ul va fi scris în `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Startare WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Nu am putut gãsi un driver de socket folosibil.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: avertisment: Simbolul \"%s\" apare înainte de numele maºinii\n"
+msgstr ""
+"%s: %s:%d: avertisment: Simbolul \"%s\" apare înainte de numele maºinii\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: simbol necunoscut \"%s\"\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Folosire: %s NETRC [NUME_HOST]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: n-am putut stabili %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Nu s-a selectat OpenSSL PRNG; dezactivare SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
 msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
+msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ omitere %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Specificare punct invalidã `%s'; lãsat neschimbat.\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "ªtergere %s pentru cã oricum ar fi trebuit refuzat.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Nu pot converti linkurile în %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Se încarcã robots.txt; ignoraþi erorile.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Eroare în analiza URL proxy: %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Eroare în URL proxy %s: Trebuie sã fie HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d redirectãri depãºite.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1237,7 +1641,7 @@ msgstr ""
 "Renunþ.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1245,60 +1649,476 @@ msgstr ""
 "Reîncerc.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Eroare necunoscutã"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Schemã nesuportatã"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Host vid"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Nume utilizator invalid"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Numãr de port invalid"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Nume utilizator invalid"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Adresã numericã IPv6 neterminatã"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Adresele IPv6 nu sunt suportate"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Adresã numericã IPv6 invalidã"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Memorie plinã.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Continui în fundal, pid %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Nu am putut scoate(unlink) symlinkul `%s': %s\n"
 
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr ""
+#~ "Nu am putut converti `%s' într-o adresã bind.  Readucere(reverting) la "
+#~ "ANY.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Eroare în Set-Cookie, câmpul `%s'"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST eºuat; nu se va trunchia `%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s rãmaºi]"
+
+#~ msgid "Host not found"
+#~ msgstr "Host negãsit"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "S-a eºuat în setarea contextului SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "S-a eºuat în încãrcarea certificatelor din %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Se încearcã fãrã certificatele specificate\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Nu s-a putut primi codul(key) certificatului de la %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Sfârºit fiºier la analiza headerelor.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Continuarea downloadului a eºuat la acest fiºier, ceea ce intrã în \n"
+#~ "conflict cu `-c'.\n"
+#~ "Se refuzã trunchierea fiºierului `%s' existent. \n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s rãmaºi)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Fiºierul `%s' existã deja, nu se mai aduce.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr "%s (%s) - `%s' salvat [%ld%ld])\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Conexiune închisã la octetul %ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s:Boolean invalid `%s', specificaþi always, on, off sau never.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "De start:\n"
+#~ "  -V,  --version\t\t    afiºeazã versiunea Wget ºi iese.\n"
+#~ "  -h,  --help\t\t\t    tipãreºte acest help.\n"
+#~ "  -b,  --background\t\trulare în fundal dupa startare.\n"
+#~ "  -e,  --execute=COMANDÃ\texecutã o comandã în stilul `.wgetrc'.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Logãri ºi fiºiere de intrare:\n"
+#~ "  -o,  --output-file=FIªIER\tlogare mesaje în FIªIER.\n"
+#~ "  -a,  --append-output=FIªIER\tadãugare mesaje în FIªIER.\n"
+#~ "  -d,  --debug\t\t\t        tipãrire output debug.\n"
+#~ "  -q,  --quiet\t\t\t        silenþios (fãrã output).\n"
+#~ "  -v,  --verbose\t\t        detaliat (este implicit).\n"
+#~ "  -nv, --non-verbose\t\t    nedetaliat, fãrã a fi silenþios.\n"
+#~ "  -i,  --input-file=FIªIER\t    download de URL-uri gãsite în FIªIER.\n"
+#~ "  -F,  --force-html\t\t    considerã fiºierul de intrare ca HTML.\n"
+#~ "  -B,  --base=URL\t            prefixare URL la linkuri relative în -F -i "
+#~ "fiºier.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Download:\n"
+#~ "  -t,\t--tries=NUMÃR\t\tseteazã numãrul de încercãri ca NUMÃR (0 este "
+#~ "nelimitat\n"
+#~ "       --retry-connrefused      reîncearcã ºi în cazul în care conexiunea "
+#~ "este refuzatã.\n"
+#~ "  -O,\t--output-document=FIºIER \tscrie documentele în FIªIER.\n"
+#~ "  -nc, --no-clobber\t\tnu secþiona fiºierele existente sau utilizeazã  "
+#~ "sufixe .#\n"
+#~ "  -c,  --continue\t\t    continuã sã iei un fiºier downloadat parþial.\n"
+#~ "\t--progress=TIP\t\t    selecteazã mod mãsurare desfaºurare download.\n"
+#~ "  -N,  --timestamping\t\tnu aduce fiºierele dacã nu sunt mai noi decât "
+#~ "cele locale.\n"
+#~ "  -S,  --server-response\ttipãreºte rãspunsul serverului.\n"
+#~ "       --spider\t\t    nu descãrca nimic.\n"
+#~ "  -T,  --timeout=SECUNDE\taºteaptã 1...SECUNDE între reîncercãrile de "
+#~ "aducere.\n"
+#~ "       --dns-timeout=SECUNDE       setare expirare cãutare DNS la "
+#~ "SECUNDE.\n"
+#~ "       --connect-timeout=SECUNDE   setare expirare conectare la.SECUNDE\n"
+#~ "       --read-timeout=SECUNDE      setare expirare citire la SECUNDE.\n"
+#~ "  -w,  --wait=SECUNDE           aºteaptã SECUNDE între aduceri.\n"
+#~ "       --waitretry=SECUNDE      aºteaptã 1...SECUNDE între încercãrile de "
+#~ "aducere.\n"
+#~ "       --random-wait            aºteaptã între 0...2*WAIT secunde între  "
+#~ "aduceri.\n"
+#~ "  -Y,  --proxy=on/off\t\tactiveazã (on) sau dezactiveazã(off) proxy.\n"
+#~ "  -Q,  --quota=NUMÃR\t\tseteazã cotã de descãrcare la NUMÃR.\n"
+#~ "\t--limit-rate=RATÃ\t    limiteazã ratã descãrcare la RATã.\n"
+#~ "       --dns-cache=off          dezactiveazã cachingul de cãutãri DNS.\n"
+#~ "       --restrict-file-names=OS restricþioneazã caracterele din numele "
+#~ "fiºierul la cele pe care le permite sistemul de operare.n\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Directoare:\n"
+#~ "  -nd  --no-directories            nu crea directoare.\n"
+#~ "  -x,  --force-directories         forþeazã crearea directoarelor.\n"
+#~ "  -nH, --no-host-directories       nu crea directoare gazdã.\n"
+#~ "  -P,  --directory-prefix=PREFIX   salveazã fiºierele în PREFIX/...\n"
+#~ "       --cut-dirs=NUMÃR            Ignorã NUMÃR componente director "
+#~ "remote.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opþiuni HTTP:\n"
+#~ "       --http-user=USER      seteazã userul http ca USER.\n"
+#~ "       --http-passwd=PASS    seteazã parola http ca PASS.\n"
+#~ "  -C,  --cache=on/off        (nu)permite date server-cached (în mod "
+#~ "normal permis).\n"
+#~ "  -E,  --html-extension      salveazã toate documentele text/html cu "
+#~ "extensie .html.\n"
+#~ "       --ignore-length       ignorã câmpul header `Content-Length'.\n"
+#~ "       --header=ªIR          insereazã ªIR în headere.\n"
+#~ "       --proxy-user=USER     seteazã USER drept nume utilizator proxy.\n"
+#~ "       --proxy-passwd=PASS   seteazã PASS drept parolã proxy.\n"
+#~ "       --referer=URL         include headerul `Referer: URL' în cererea "
+#~ "HTTP.\n"
+#~ "  -s,  --save-headers        salveazã headerele HTTP în fiºier.\n"
+#~ "  -U,  --user-agent=AGENT    identificare ca AGENT în loc de Wget/"
+#~ "VERSIUNE.\n"
+#~ "       --no-http-keep-alive  dezactiveazã HTTP keep-alive (conexiuni "
+#~ "persistente).\n"
+#~ "       --cookies=off         nu utiliza cookies.\n"
+#~ "       --load-cookies=FIªIER încãrcã cookies din FIªIER înainte de "
+#~ "sesiune.\n"
+#~ "       --save-cookies=FIªIER salveazã cookies în FIªIER dupã sesiune.\n"
+#~ "       --post-data=ªIR    foloseºte metoda POST; trimite ªIR ca ºi date.\n"
+#~ "       --post-file=FIªIER      foloseºte metoda POST; trimite conþinutul "
+#~ "FIªIERului\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opþiuni HTTPS (SSL):\n"
+#~ "       --sslcertfile=FIªIER     certificat client opþional.\n"
+#~ "       --sslcertkey=FIªIER_CHEIE   fiºier_cheie opþional pentru acest "
+#~ "certificat.\n"
+#~ "       --egd-file=FIªIER        nume fiºier al socketului EGD.\n"
+#~ "       --sslcadir=DIR         directorul unde este stocatã lista de CA-"
+#~ "uri.\n"
+#~ "       --sslcafile=FIªIER       fiºierul cu grãmada(bundle) de CA-uri\n"
+#~ "       --sslcerttype=0/1      Tip Cert-Client=PEM (implicit) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Verificarea serverului pentru CA-urile "
+#~ "furnizate\n"
+#~ "       --sslprotocol=0-3      verificare protocol SSL; 0=automat,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Opþiuni FTP:\n"
+#~ "  -nr, --dont-remove-listing   nu ºterge fiºierele `.listing'.\n"
+#~ "  -g,  --glob=on/off           activare/dezactivare nume globale.\n"
+#~ "       --passive-ftp           utilizeazã modul de transfer \"pasiv\".\n"
+#~ "       --retr-symlinks         în recursiune, adu fiºierele linkuite (nu "
+#~ "directoarele).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Aducere recursivã:\n"
+#~ "  -r,  --recursive          absorbire web recursivã -- folosiþi cu "
+#~ "atenþie!\n"
+#~ "  -l,  --level=NUMÃR       adâncime recursiune maximã (inf sau 0 pentru "
+#~ "infinitã).\n"
+#~ "       --delete-after       ºterge fiºierele locale dupa descãrcare.\n"
+#~ "  -k,  --convert-links      converteºte linkuri non-relative în "
+#~ "relative.\n"
+#~ "  -K,  --backup-converted   înainte de a converti fiºierul X, back-up ca "
+#~ "X.orig.\n"
+#~ "  -m,  --mirror             opþiune scurtã echivalentã cu -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    aducere toate imaginile, etc. necesare pentru "
+#~ "afiºarea paginii HTML.\n"
+#~ "       --strict-comments    activeazã manipularea strictã (SGML) a "
+#~ "comentariilorHTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Acceptare/refuz recursive:\n"
+#~ "  -A,  --accept=LISTà            listã separatã prin virgule a "
+#~ "extensiilor acceptate.\n"
+#~ "  -R,  --reject=LISTà            listã separatã prin virgule a "
+#~ "extensiilor refuzate.\n"
+#~ "  -D,  --domains=LISTà           listã separatã prin virgule a "
+#~ "domeniilor acceptate.\n"
+#~ "       --exclude-domains=LISTà   listã separatã prin virgule a "
+#~ "domeniilor refuzate.\n"
+#~ "       --follow-ftp               urmeazã legãturile FTP din documente "
+#~ "HTML.\n"
+#~ "       --follow-tags=LISTà       listã separatã prin virgule a tagurilor "
+#~ "HTML urmate.\n"
+#~ "  -G,  --ignore-tags=LISTà       listã separatã prin virgule a tagurilor "
+#~ "HTML ignorate.\n"
+#~ "  -H,  --span-hosts                 viziteazã ºi site-uri strãine în "
+#~ "recursiune.\n"
+#~ "  -L,  --relative                   urmeazã doar linkurile relative.\n"
+#~ "  -I,  --include-directories=LISTà listã directoare permise.\n"
+#~ "  -X,  --exclude-directories=LISTà listã directoare excluse.\n"
+#~ "  -np, --no-parent                  nu urca la directorul pãrinte.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: suport de debug necompilat.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Acest program este distribuit în speranþa cã va fi folositor,\n"
+#~ "dar FÃRàNICI O GARANÞIE; chiar fãrã garanþia presupusã a\n"
+#~ "VANDABILITÃÞII sau POTRIVIRII PENT UN SCOP ANUME.  Citiþi\n"
+#~ "Licenþa Publicã Generalã GNU pentru mai multe detalii.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Startare WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Host vid"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Memorie plinã.\n"
+
 #~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
 #~ msgstr "Eroare de sintaxã în Set-Cookie la caracterul `%c'.\n"
 
-#~ msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-#~ msgstr "%s: BUG: comandã necunoscutã `%s', valoare `%s'.\n"
-
 #~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
 #~ msgstr "%s: %s: Nu se poate converti `%s' în adresã IP.\n"
 
index d78e9b9a41ec82495aaa66eefd3cf56eb13025c0..365e769d81af342b758836507367b21ed5b15719 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
-# Translation of wget-1.10.1-b1.po to Russian
-# Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
+# Translation of wget messages to Russian
+# Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
 # Const Kaplinsky <const@ce.cctpu.edu.ru>, 1998, 1999, 2000, 2001.
-# Pavel Maryanov <acid_jack@ukr.net>, 2004, 2005.
-#
+# Pavel Maryanov <acid_jack@ukr.net>, 2004, 2005, 2006, 2008.
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-13 13:11+0300\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2008-01-18 13:42+0200\n"
 "Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
-"Language-Team: Russian <ru@li.org>\n"
+"Language-Team: Russian <gnu@mx.ru>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=KOI8-R\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.10.1\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"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: опция `%s' неоднозначна\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: опция `--%s' не разрешает использовать аргумент\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: опция `%c%s' не разрешает использовать аргумент\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: для опции `%s' требуется аргумент\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: нераспознанная опция `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: нераспознанная опция `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: недопустимая опция -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: неверная опция -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: для опции требуется аргумент -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: опция `-W %s' неоднозначна\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: опция `-W %s' не разрешает использовать аргумент\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÒÁÓÐÏÚÎÁÔØ ÁÄÒÅÓ bind `%s'; bind ÏÔËÌÀÞÁÅÔÓÑ.\n"
+msgstr "%s: невозможно распознать адрес bind `%s'; bind отключается.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
-msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÏÅÄÉÎÅÎÉÅ Ó %s|%s|:%d... "
+msgstr "Устанавливается соединение с %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
-msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÏÅÄÉÎÅÎÉÅ Ó %s:%d... "
+msgstr "Устанавливается соединение с %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
-msgstr "ÓÏÅÄÉÎÅÎÉÅ ÕÓÔÁÎÏ×ÌÅÎÏ.\n"
+msgstr "соединение установлено.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
-msgstr "ÓÂÏÊ: %s.\n"
+msgstr "сбой: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "ðÒÅÏÂÒÁÚÏ×ÁÎÏ %d ÆÁÊÌÏ× ÚÁ %.*f ÓÅËÕÎÄ.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: невозможно распознать адрес `%s'\n"
 
-#: src/convert.c:202
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Преобразовано %d файлов за %s секунд.\n"
+
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
-msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ %s... "
+msgstr "Выполняется преобразование %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
-msgstr "ÎÅÞÅÇÏ ×ÙÐÏÌÎÑÔØ.\n"
+msgstr "нечего выполнять.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÅÏÂÒÁÚÏ×ÁÔØ ÓÓÙÌËÉ × %s: %s\n"
+msgstr "Невозможно преобразовать ссылки в %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ `%s': %s\n"
+msgstr "Невозможно удалить `%s': %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÈÒÁÎÉÔØ %s ÐÏÄ ÉÍÅÎÅÍ %s: %s\n"
+msgstr "Невозможно сохранить %s под именем %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "ïÛÉÂËÁ × Set-Cookie, ÐÏÌÅ `%s'"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
-msgstr "óÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ × Set-Cookie: %s × ÐÏÚÉÃÉÉ %d.\n"
+msgstr "Синтаксическая ошибка в Set-Cookie: %s в позиции %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
-msgstr "Cookie, ÐÒÉÛÅÄÛÉÅ ÉÚ %s, ÐÏÐÙÔÁÌÉÓØ ÕÓÔÁÎÏ×ÉÔØ ÄÏÍÅΠנ%s\n"
+msgstr "Cookie, Ð¿Ñ\80иÑ\88едÑ\88ие Ð¸Ð· %s, Ð¿Ð¾Ð¿Ñ\8bÑ\82алиÑ\81Ñ\8c Ñ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c Ð´Ð¾Ð¼ÐµÐ½ Ð² %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ cookies, `%s': %s\n"
+msgstr "Невозможно открыть файл cookies, `%s': %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
-msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ × `%s': %s\n"
+msgstr "Ошибка записи в `%s': %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
-msgstr "ïÛÉÂËÁ ÚÁËÒÙÔÉÑ `%s': %s\n"
+msgstr "Ошибка закрытия `%s': %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "îÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÆÏÒÍÁÔ ÌÉÓÔÉÎÇÁ, ÐÒÏÂÕÅÔÓÑ ÐÁÒÓÅÒ ÌÉÓÔÉÎÇÁ ÄÌÑ Unix.\n"
+msgstr ""
+"Неподдерживаемый формат листинга, пробуется парсер листинга для Unix.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
-msgstr "éÎÄÅËÓ /%s ÎÁ %s:%d"
+msgstr "Индекс /%s на %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
-msgstr "×ÒÅÍÑ ÎÅÉÚ×ÅÓÔÎÏ   "
+msgstr "время неизвестно   "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
-msgstr "æÁÊÌ        "
+msgstr "Файл        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
-msgstr "ëÁÔÁÌÏÇ     "
+msgstr "Каталог     "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
-msgstr "óÓÙÌËÁ      "
+msgstr "Ссылка      "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
-msgstr "îÅÉÚ×ÅÓÔÎÏ  "
+msgstr "Неизвестно  "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
-msgstr " (%s ÂÁÊÔ)"
+msgstr " (%s байт)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
-msgstr "äÌÉÎÁ: %s"
+msgstr "Длина: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
-msgstr ", %s (%s) ÏÓÔÁÌÏÓØ"
+msgstr ", %s (%s) осталось"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
-msgstr ", %s ÏÓÔÁÌÏÓØ"
+msgstr ", %s осталось"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
-msgstr " (ÎÅ ÄÏÓÔÏ×ÅÒÎÏ)\n"
+msgstr " (не достоверно)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
-msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ×ÈÏÄ ÐÏÄ ÉÍÅÎÅÍ %s ... "
+msgstr "Выполняется вход под именем %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "ïÛÉÂËÁ × ÏÔ×ÅÔÅ ÓÅÒ×ÅÒÁ, ÕÐÒÁ×ÌÑÀÝÅÅ ÓÏÅÄÉÎÅÎÉÅ ÚÁËÒÙ×ÁÅÔÓÑ.\n"
+msgstr "Ошибка в ответе сервера, управляющее соединение закрывается.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
-msgstr "ïÛÉÂËÁ × ÐÒÉ×ÅÔÓÔ×ÉÉ ÓÅÒ×ÅÒÁ.\n"
+msgstr "Ошибка в приветствии сервера.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
-msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ, ÕÐÒÁ×ÌÑÀÝÅÅ ÓÏÅÄÉÎÅÎÉÅ ÚÁËÒÙ×ÁÅÔÓÑ.\n"
+msgstr "Ошибка записи, управляющее соединение закрывается.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
-msgstr "óÅÒ×ÅÒ ÏÔËÌÏÎÉÌ ÌÏÇÉÎ.\n"
+msgstr "Сервер отклонил логин.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
-msgstr "îÅ×ÅÒÎÙÊ ÌÏÇÉÎ.\n"
+msgstr "Неверный логин.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
-msgstr "÷ÙÐÏÌÎÅΠ×ÈÏÄ × ÓÉÓÔÅÍÕ!\n"
+msgstr "Выполнен вход в систему!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "ïÛÉÂËÁ ÓÅÒ×ÅÒÁ, ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÔÉРÓÉÓÔÅÍÙ.\n"
+msgstr "Ошибка сервера, невозможно определить тип системы.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
-msgstr "ÇÏÔÏ×Ï.  "
+msgstr "готово.  "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
-msgstr "ÇÏÔÏ×Ï.\n"
+msgstr "готово.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÔÉР`%c', ÕÐÒÁ×ÌÑÀÝÅÅ ÓÏÅÄÉÎÅÎÉÅ ÚÁËÒÙ×ÁÅÔÓÑ.\n"
+msgstr "Неизвестный тип `%c', управляющее соединение закрывается.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
-msgstr "ÇÏÔÏ×Ï.   "
+msgstr "готово.   "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
-msgstr "==> CWD ÎÅ ÎÕÖÅÎ.\n"
+msgstr "==> CWD не нужен.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
 "\n"
 msgstr ""
-"îÅÔ ÔÁËÏÇÏ ËÁÔÁÌÏÇÁ `%s'.\n"
+"Нет такого каталога `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
-msgstr "==> CWD ÎÅ ÔÒÅÂÕÅÔÓÑ.\n"
+msgstr "==> CWD не требуется.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÞÁÔØ PASV-ÐÅÒÅÄÁÞÕ.\n"
+msgstr "Невозможно начать PASV-передачу.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
-msgstr "ïÛÉÂËÁ ÐÁÒÓÉÎÇÁ ÏÔ×ÅÔÁ PASV.\n"
+msgstr "Ошибка парсинга ответа PASV.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÐÏÄËÌÀÞÉÔØÓÑ Ë %s ÐÏÒÔ %d: %s\n"
+msgstr "невозможно было подключиться к %s порт %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
-msgstr "ïÛÉÂËÁ bind (%s).\n"
+msgstr "Ошибка bind (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
-msgstr "îÅÄÏÐÕÓÔÉÍÙÊ PORT.\n"
+msgstr "Недопустимый PORT.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
 msgstr ""
 "\n"
-"óÂÏÊ REST, ÚÁÐÕÓË Ó ÎÁÞÁÌÁ.\n"
+"Сбой REST, запуск с начала.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
 "\n"
 msgstr ""
-"îÅÔ ÔÁËÏÇÏ ÆÁÊÌÁ `%s'.\n"
+"Нет такого файла `%s'.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
 "\n"
 msgstr ""
-"îÅÔ ÔÁËÏÇÏ ÆÁÊÌÁ ÉÌÉ ËÁÔÁÌÏÇÁ `%s'.\n"
+"Нет такого файла или каталога `%s'.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
-msgstr "%s ×ÙÒ×ÁÌÓÑ × ÄÅÊÓÔ×ÉÔÅÌØÎÏÓÔØ.\n"
+msgstr "%s вырвался в действительность.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
-msgstr "%s: %s, ÕÐÒÁ×ÌÑÀÝÅÅ ÓÏÅÄÉÎÅÎÉÅ ÚÁËÒÙ×ÁÅÔÓÑ.\n"
+msgstr "%s: %s, управляющее соединение закрывается.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
-msgstr "%s (%s) - óÏÅÄÉÎÅÎÉÅ: %s; "
+msgstr "%s (%s) - Соединение: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
-msgstr "õÐÒÁ×ÌÑÀÝÅÅ ÓÏÅÄÉÎÅÎÉÅ ÚÁËÒÙÔÏ.\n"
+msgstr "Управляющее соединение закрыто.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
-msgstr "ðÅÒÅÄÁÞÁ ÄÁÎÎÙÈ ÐÒÅÒ×ÁÎÁ.\n"
+msgstr "Передача данных прервана.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
-msgstr "æÁÊÌ `%s' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ; ÎÅ ÚÁÇÒÕÖÁÅÔÓÑ.\n"
+msgstr "Файл `%s' уже существует; не загружается.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
-msgstr "(ÐÏÐÙÔËÁ:%2d)"
+msgstr "(попÑ\8bÑ\82ка:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' ÓÏÈÒÁΣΠ[%s]\n"
+"%s (%s) - `%s' сохранён [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
-msgstr "õÄÁÌÑÅÔÓÑ %s.\n"
+msgstr "Удаляется %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
-msgstr "`%s' ÉÓÐÏÌØÚÕÅÔÓÑ ËÁË ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÄÌÑ ÌÉÓÔÉÎÇÁ.\n"
+msgstr "`%s' используется как временный файл для листинга.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
-msgstr "õÄÁÌÅΠ`%s'.\n"
+msgstr "Удалён `%s'.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "çÌÕÂÉÎÁ ÒÅËÕÒÓÉÉ %d ÐÒÅ×ÙÓÉÌÁ ÍÁËÓÉÍÁÌØÎÕÀ ÇÌÕÂÉÎÕ %d.\n"
+msgstr "Глубина рекурсии %d превысила максимальную глубину %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "õÄÁÌÅÎÎÙÊ ÆÁÊÌ ÎÅ ÎÏ×ÅÅ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ `%s' -- ÎÅ ÚÁÇÒÕÖÁÅÔÓÑ.\n"
+msgstr "Удалённый файл не новее локального файла `%s' -- не загружается.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
-msgstr "õÄÁÌÅÎÎÙÊ ÆÁÊÌ ÎÏ×ÅÅ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ `%s' -- ÚÁÇÒÕÖÁÅÔÓÑ.\n"
+msgstr "Удалённый файл новее локального файла `%s' -- загружается.\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
 "\n"
-msgstr "òÁÚÍÅÒÙ ÎÅ ÓÏ×ÐÁÄÁÀÔ (ÌÏËÁÌØÎÙÊ ÒÁÚÍÅÒ %s) -- ÚÁÇÒÕÖÁÅÔÓÑ.\n"
+msgstr "Размеры не совпадают (локальный размер %s) -- загружается.\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
-msgstr "îÅÄÏÐÕÓÔÉÍÏÅ ÉÍÑ ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÉ, ÐÒÏÐÕÓËÁÅÔÓÑ.\n"
+msgstr "Недопустимое имя символической ссылки, пропускается.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
 "\n"
 msgstr ""
-"ëÏÒÒÅËÔÎÁÑ ÓÉÍ×ÏÌÉÞÅÓËÁÑ ÓÓÙÌËÁ %s -> %s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
+"Корректная символическая ссылка %s -> %s уже существует.\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
-msgstr "óÏÚÄÁ£ÔÓÑ ÓÉÍ×ÏÌÉÞÅÓËÁÑ ÓÓÙÌËÁ %s -> %s\n"
+msgstr "Создаётся символическая ссылка %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "óÉÍ×ÏÌÉÞÅÓËÉÅ ÓÓÙÌËÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ, ÓÓÙÌËÁ `%s' ÐÒÏÐÕÓËÁÅÔÓÑ.\n"
+msgstr "Символические ссылки не поддерживаются, ссылка `%s' пропускается.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
-msgstr "ðÒÏÐÕÓËÁÅÔÓÑ ËÁÔÁÌÏÇ `%s'.\n"
+msgstr "Пропускается каталог `%s'.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ/ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÔÉРÆÁÊÌÁ.\n"
+msgstr "%s: неизвестный/неподдерживаемый тип файла.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
-msgstr "%s: ÐÏ×ÒÅÖÄÅÎÁ ÍÅÔËÁ ÄÁÔÙ/×ÒÅÍÅÎÉ.\n"
+msgstr "%s: Ð¿Ð¾Ð²Ñ\80еждена Ð¼ÐµÑ\82ка Ð´Ð°Ñ\82Ñ\8b/вÑ\80емени.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "ëÁÔÁÌÏÇÉ ÎÅ ÂÕÄÕÔ ÚÁÇÒÕÖÅÎÙ, Ô.Ë. ÇÌÕÂÉÎÁ ÓÏÓÔÁ×ÌÑÅÔ %d (ÍÁËÓÉÍÕÍ %d).\n"
+msgstr ""
+"Каталоги не будут загружены, т.к. глубина составляет %d (максимум %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "÷ÈÏÄ × ËÁÔÁÌÏÇ `%s' ÎÅ ×ÙÐÏÌÎÑÅÔÓÑ, Ô.Ë. ÏΠÉÓËÌÀÞÅÎ/ÎÅ ×ËÌÀÞÅÎ.\n"
+msgstr "Вход в каталог `%s' не выполняется, т.к. он исключён/не включён.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
-msgstr "ïÔËÌÏÎÑÅÔÓÑ `%s'.\n"
+msgstr "Отклоняется `%s'.\n"
+
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Ошибка записи в `%s': %s\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
-msgstr "îÅÔ ÓÏ×ÐÁÄÅÎÉÊ Ó ÛÁÂÌÏÎÏÍ `%s'.\n"
+msgstr "Нет совпадений с шаблоном `%s'.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
-msgstr "éÎÄÅËÓ × ÆÏÒÍÁÔÅ HTML ÚÁÐÉÓÁΠנÆÁÊÌ `%s' [%s].\n"
+msgstr "Индекс в формате HTML записан в файл `%s' [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
-msgstr "éÎÄÅËÓ × ÆÏÒÍÁÔÅ HTML ÚÁÐÉÓÁΠנÆÁÊÌ `%s'.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ÏÐÃÉÑ `%s' ÎÅÏÄÎÏÚÎÁÞÎÁ\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ÏÐÃÉÑ `--%s' ÎÅ ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÒÇÕÍÅÎÔ\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ÏÐÃÉÑ `%c%s' ÎÅ ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÒÇÕÍÅÎÔ\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ÄÌÑ ÏÐÃÉÉ `%s' ÔÒÅÂÕÅÔÓÑ ÁÒÇÕÍÅÎÔ\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÏÐÃÉÑ `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ ÏÐÃÉÑ `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÁÑ ÏÐÃÉÑ -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ÎÅ×ÅÒÎÁÑ ÏÐÃÉÑ -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ÄÌÑ ÏÐÃÉÉ ÔÒÅÂÕÅÔÓÑ ÁÒÇÕÍÅÎÔ -- %c\n"
+msgstr "Индекс в формате HTML записан в файл `%s'.\n"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ÏÐÃÉÑ `-W %s' ÎÅÏÄÎÏÚÎÁÞÎÁ\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ÏÐÃÉÑ `-W %s' ÎÅ ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÒÇÕÍÅÎÔ\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÈÏÓÔ"
+msgstr "Неизвестный хост"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
-msgstr "÷ÒÅÍÅÎÎÙÊ ÓÂÏÊ ÐÒÉ ÒÁÚÒÅÛÅÎÉÉ ÉÍÅÎÉ"
+msgstr "Временный сбой при разрешении имени"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ"
+msgstr "Неизвестная ошибка"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
-msgstr "òÁÓÐÏÚÎÁ£ÔÓÑ %s... "
+msgstr "Распознаётся %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
-msgstr "ÓÂÏÊ: äÌÑ ÈÏÓÔÁ ÎÅÔ ÁÄÒÅÓÏ× IPv4/IPv6.\n"
+msgstr "сбой: Для хоста нет адресов IPv4/IPv6.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
-msgstr "ÓÂÏÊ: ÐÒÅ×ÙÛÅΠÔÁÊÍ-ÁÕÔ.\n"
+msgstr "сбой: превышен тайм-аут.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÒÁÓÐÏÚÎÁÔØ ÎÅÐÏÌÎÕÀ ÓÓÙÌËÕ %s.\n"
+msgstr "%s: Невозможно распознать неполную ссылку %s.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
-msgstr "%s: îÅ×ÅÒÎÙÊ URL %s: %s\n"
+msgstr "%s: Неверный URL %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
-msgstr "óÂÏÊ ÚÁÐÉÓÉ ÚÁÐÒÏÓÁ HTTP: %s.\n"
+msgstr "Сбой записи запроса HTTP: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
-msgstr "úÁÇÏÌÏ×ËÉ ÏÔÓÕÔÓÔ×ÕÀÔ, ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ HTTP/0.9"
+msgstr "Заголовки отсутствуют, подразумевается HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
-msgstr "SSL ÏÔËÌÀÞÁÅÔÓÑ ÉÚ-ÚÁ ÎÅÐÒÅÄ×ÉÄÅÎÎÙÈ ÏÛÉÂÏË.\n"
+msgstr "SSL отключается из-за непредвиденных ошибок.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
-msgstr "ïÔÓÕÔÓÔ×ÕÅÔ ÆÁÊÌ POST-ÄÁÎÎÙÈ `%s': %s\n"
+msgstr "Отсутствует файл POST-данных `%s': %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
-msgstr "ðÏ×ÔÏÒÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÓÏÅÄÉÎÅÎÉÑ Ó %s:%d.\n"
+msgstr "Повторное использование соединения с %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
-msgstr "óÂÏÊ ÞÔÅÎÉÑ ÏÔ×ÅÔÁ ÐÒÏËÓÉ: %s.\n"
+msgstr "Сбой чтения ответа прокси: %s.\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
-msgstr "óÂÏÊ ÔÕÎÎÅÌÉÒÏ×ÁÎÉÑ ÐÒÏËÓÉ: %s"
+msgstr "Сбой туннелирования прокси: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
-msgstr "úÁÐÒÏÓ %s ÐÏÓÌÁÎ, ÏÖÉÄÁÅÔÓÑ ÏÔ×ÅÔ... "
+msgstr "Запрос %s послан, ожидается ответ... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
-msgstr "îÅ ÐÏÌÕÞÅÎÏ ÎÉËÁËÉÈ ÄÁÎÎÙÈ.\n"
+msgstr "Не получено никаких данных.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
-msgstr "ïÛÉÂËÁ ÞÔÅÎÉÑ (%s) × ÚÁÇÏÌÏ×ËÁÈ.\n"
+msgstr "Ошибка чтения (%s) в заголовках.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Файл `%s' уже существует; не загружается.\n"
+"\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÈÅÍÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ.\n"
+msgstr "Неизвестная схема аутентификации.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
-msgstr "óÂÏÊ Á×ÔÏÒÉÚÁÃÉÉ.\n"
+msgstr "Сбой авторизации.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
-msgstr "îÅÐÏÌÎÁÑ ÓÔÒÏËÁ ÓÔÁÔÕÓÁ"
+msgstr "Неполная строка статуса"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
-msgstr "(ÎÅÔ ÏÐÉÓÁÎÉÑ)"
+msgstr "(нет описания)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
-msgstr "áÄÒÅÓ: %s%s\n"
+msgstr "Адрес: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
-msgstr "ÎÅÔ ÉÎÆÏÒÍÁÃÉÉ"
+msgstr "нет информации"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
-msgstr " [ÐÅÒÅÈÏÄ]"
+msgstr " [пеÑ\80еÑ\85од]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-"    æÁÊÌ ÕÖÅ ÐÏÌÎÏÓÔØÀ ÚÁÇÒÕÖÅÎ; ÎÅÞÅÇÏ ×ÙÐÏÌÎÑÔØ.\n"
+"    Файл уже полностью загружен; нечего выполнять.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
-msgstr "äÌÉÎÁ: "
+msgstr "Длина: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
-msgstr "ÉÇÎÏÒÉÒÕÅÔÓÑ"
+msgstr "игнорируется"
+
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Сохраняется в каталог: `%s'.\n"
 
-#: src/http.c:2019
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: × HTTP ÍÁÓËÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ.\n"
+msgstr "Предупреждение: в HTTP маски не поддерживаются.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr ""
-"æÁÊÌ `%s' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ; ÎÅ ÚÁÇÒÕÖÁÅÔÓÑ.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Включен режим робота. Проверка существования удалённого файла.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ × `%s' (%s).\n"
+msgstr "Невозможно записать в `%s' (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓÏÅÄÉÎÅÎÉÅ SSL.\n"
+msgstr "Невозможно установить соединение SSL.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
-msgstr "ïûéâëá: ðÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ (%d) ÂÅÚ ÕËÁÚÁÎÉÑ ÁÄÒÅÓÁ.\n"
+msgstr "ОШИБКА: Перенаправление (%d) без указания адреса.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Удалённый файл не существует -- битая ссылка!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
-msgstr "%s ïûéâëá %d: %s.\n"
+msgstr "%s ОШИБКА %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "ïÔÓÕÔÓÔ×ÕÅÔ ÚÁÇÏÌÏ×ÏË last-modified -- ×ÒÅÍÅÎÎÙÅ ÏÔÍÅÔËÉ ×ÙËÌÀÞÅÎÙ.\n"
+msgstr "Отсутствует заголовок last-modified -- временные отметки выключены.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "îÅ×ÅÒÎÙÊ ÚÁÇÏÌÏ×ÏË last-modified -- ×ÒÅÍÅÎÎÙÅ ÏÔÍÅÔËÉ ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÙ.\n"
+msgstr ""
+"Неверный заголовок last-modified -- временные отметки проигнорированы.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
-msgstr "æÁÊÌ ÎÁ ÓÅÒ×ÅÒÅ ÎÅ ÎÏ×ÅÅ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ `%s' -- ÎÅ ÚÁÇÒÕÖÁÅÔÓÑ.\n"
+msgstr "Файл на сервере не новее локального файла `%s' -- не загружается.\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
-msgstr "òÁÚÍÅÒÙ ÆÁÊÌÏ× ÎÅ ÓÏ×ÐÁÄÁÀÔ (ÌÏËÁÌØÎÙÊ ÒÁÚÍÅÒ %s) -- ÚÁÇÒÕÖÁÅÔÓÑ.\n"
+msgstr "Размеры файлов не совпадают (локальный размер %s) -- загружается.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
-msgstr "õÄÁÌÅÎÎÙÊ ÆÁÊÌ ÂÏÌÅÅ ÎÏ×ÙÊ, ÚÁÇÒÕÖÁÅÔÓÑ.\n"
+msgstr "Удалённый файл более новый, загружается.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Удалённый файл существует и может содержать ссылки на другие ресурсы -- "
+"загружается.\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Удалённый файл существует, но не содержит ссылок -- не загружается.\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Удалённый файл существует, но рекурсивная загрузка отключена -- не "
+"загружается.\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' ÓÏÈÒÁΣΠ[%s/%s]\n"
+"%s (%s) - `%s' сохранён [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
-msgstr "%s (%s) - óÏÅÄÉÎÅÎÉÅ ÚÁËÒÙÔÏ, ÐÏÚÉÃÉÑ %s. "
-
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - óÏÅÄÉÎÅÎÉÅ ÚÁËÒÙÔÏ, ÐÏÚÉÃÉÑ %s/%s. "
+msgstr "%s (%s) - Соединение закрыто, позиция %s. "
 
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
-msgstr "%s (%s) - ïÛÉÂËÁ ÞÔÅÎÉÑ, ÐÏÚÉÃÉÑ %s (%s)."
+msgstr "%s (%s) - Ошибка чтения, позиция %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
-msgstr "%s (%s) - ïÛÉÂËÁ ÞÔÅÎÉÑ, ÐÏÚÉÃÉÑ %s/%s (%s). "
+msgstr "%s (%s) - Ошибка чтения, позиция %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
-msgstr "%s: WGETRC ÕËÁÚÙ×ÁÅÔ ÎÁ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÊ %s.\n"
+msgstr "%s: WGETRC указывает на несуществующий %s.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ %s (%s).\n"
+msgstr "%s: Невозможно прочитать %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
-msgstr "%s: ïÛÉÂËÁ × %s × ÓÔÒÏËÅ %d.\n"
+msgstr "%s: Ошибка в %s в строке %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
-msgstr "%s: ïÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ × %s × ÓÔÒÏËÅ %d.\n"
+msgstr "%s: Ошибка синтаксиса в %s в строке %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
-msgstr "%s: îÅÉÚ×ÅÓÔÎÁÑ ËÏÍÁÎÄÁ `%s' × %s ÓÔÒÏËÅ %d.\n"
+msgstr "%s: Неизвестная команда `%s' в %s строке %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÓÉÓÔÅÍÎÙÊ É ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ wgetrc ÕËÁÚÙ×ÁÀÔ ÎÁ `%s'.\n"
+msgstr ""
+"%s: Предупреждение: системный и пользовательский wgetrc указывают на `%s'.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
-msgstr "%s: îÅ×ÅÒÎÁÑ ËÏÍÁÎÄÁ --execute `%s'\n"
+msgstr "%s: Неверная команда --execute `%s'\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
-msgstr "%s: %s: îÅ×ÅÒÎÏÅ ÌÏÇÉÞÅÓËÏÅ ×ÙÒÁÖÅÎÉÅ `%s'; ÉÓÐÏÌØÚÕÊÔÅ `on' ÉÌÉ `off'.\n"
-
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
 msgstr ""
-"%s: %s: îÅ×ÅÒÎÏÅ ÒÁÓÛÉÒÅÎÎÏÅ ÌÏÇÉÞÅÓËÏÅ ×ÙÒÁÖÅÎÉÅ `%s';\n"
-"ÉÓÐÏÌØÚÕÊÔÅ `on', `off', `always' ÉÌÉ `never'.\n"
+"%s: %s: Неверное логическое выражение `%s'; используйте `on' или `off'.\n"
 
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
-msgstr "%s: %s: îÅ×ÅÒÎÏÅ ÞÉÓÌÏ `%s'.\n"
+msgstr "%s: %s: Неверное число `%s'.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
-msgstr "%s: %s: îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÂÁÊÔÁ `%s'\n"
+msgstr "%s: %s: Неверное значение байта `%s'\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
-msgstr "%s: %s: îÅ×ÅÒÎÙÊ ÄÉÁÐÁÚÏΠ×ÒÅÍÅÎÉ`%s'.\n"
+msgstr "%s: %s: Неверный диапазон времени`%s'.\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ `%s'.\n"
+msgstr "%s: %s: Неверное значение `%s'.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
-msgstr "%s: %s: îÅ×ÅÒÎÙÊ ÚÁÇÏÌÏ×ÏË `%s'.\n"
+msgstr "%s: %s: Неверный заголовок `%s'.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
-msgstr "%s: %s: îÅ×ÅÒÎÙÊ ÔÉРÐÒÏÇÒÅÓÓÁ, `%s'.\n"
+msgstr "%s: %s: Неверный тип прогресса, `%s'.\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: îÅ×ÅÒÎÏÅ ÏÇÒÁÎÉÞÅÎÉÅ `%s', ÉÓÐÏÌØÚÕÊÔÅ `unix' ÉÌÉ `windows'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Недопустимое ограничение `%s', используйте [unix|windows],[lowercase|"
+"uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
 "%s received, redirecting output to `%s'.\n"
 msgstr ""
 "\n"
-"ðÏÌÕÞÅΠÓÉÇÎÁÌ %s, ×Ù×ÏÄ ÐÅÒÅÎÁÐÒÁ×ÌÑÅÔÓÑ × `%s'.\n"
+"Получен сигнал %s, вывод перенаправляется в `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
 "%s received.\n"
 msgstr ""
 "\n"
-"ðÏÌÕÞÅΠÓÉÇÎÁÌ %s.\n"
+"Получен сигнал %s.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
-msgstr "%s: %s; ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ ÏÔËÌÀÞÁÅÔÓÑ.\n"
+msgstr "%s: %s; журналирование отключается.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ïðãéñ]... [URL]...\n"
+msgstr "Использование: %s [ОПЦИЯ]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"ïÂÑÚÁÔÅÌØÎÙÅ ÁÒÇÕÍÅÎÔÙ ÄÌÑ ÄÌÉÎÎÙÈ ÏÐÃÉÊ ÔÁËÖÅ Ñ×ÌÑÀÔÓÑ ÏÂÑÚÁÔÅÌØÎÙÍÉ É ÄÌÑ ËÏÒÏÔËÉÈ ÏÐÃÉÊ.\n"
+"Обязательные аргументы для длинных опций также являются обязательными и для "
+"коротких опций.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
-msgstr "úÁÐÕÓË:\n"
+msgstr "Запуск:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
-msgstr "  -V,  --version           ×Ù×ÏÄ ×ÅÒÓÉÉ Wget É ×ÙÈÏÄ.\n"
+msgstr "  -V,  --version           вывод версии Wget и выход.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
-msgstr "  -h,  --help              ×Ù×ÏÄ ÜÔÏÊ ÓÐÒÁ×ËÉ.\n"
+msgstr "  -h,  --help              вывод этой справки.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
-msgstr "  -b,  --background        ÐÏÓÌÅ ÚÁÐÕÓËÁ ÐÅÒÅÊÔÉ × ÆÏÎÏ×ÙÊ ÒÅÖÉÍ.\n"
+msgstr "  -b,  --background        Ð¿Ð¾Ñ\81ле Ð·Ð°Ð¿Ñ\83Ñ\81ка Ð¿ÐµÑ\80ейÑ\82и Ð² Ñ\84оновÑ\8bй Ñ\80ежим.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-msgstr "  -e,  --execute=ëïíáîäá   ×ÙÐÏÌÎÉÔØ ËÏÍÁÎÄÕ × ÓÔÉÌÅ `.wgetrc'.\n"
+msgstr "  -e,  --execute=КОМАНДА   выполнить команду в стиле `.wgetrc'.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
-msgstr "öÕÒÎÁÌÉÒÏ×ÁÎÉÅ É ×ÈÏÄÎÏÊ ÆÁÊÌ:\n"
+msgstr "Журналирование и входной файл:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
-msgstr "  -o,  --output-file=æáêì    ÚÁÐÉÓÙ×ÁÔØ ÓÏÏÂÝÅÎÉÑ × æáêì.\n"
+msgstr "  -o,  --output-file=ФАЙЛ    записывать сообщения в ФАЙЛ.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
-msgstr "  -a,  --append-output=æáêì  ÄÏÐÉÓÙ×ÁÔØ ÓÏÏÂÝÅÎÉÑ × ËÏÎÅàæáêìá.\n"
+msgstr "  -a,  --append-output=ФАЙЛ  дописывать сообщения в конец ФАЙЛА.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
-msgstr "  -d,  --debug               ×Ù×ÏÄ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
+msgstr ""
+"  -d,  --debug               вывод большого количества отладочной "
+"информации.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              выводить отладочную информацию Watt-32.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
-msgstr "  -q,  --quiet               ÍÏÌÞÁ (ÂÅÚ ×ÙÈÏÄÎÙÈ ÄÁÎÎÙÈ).\n"
+msgstr "  -q,  --quiet               молча (без выходных данных).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
-msgstr "  -v,  --verbose             ÐÏÄÒÏÂÎÙÊ ×Ù×ÏÄ (ÐÏ ÕÍÏÌÞÁÎÉÀ).\n"
+msgstr "  -v,  --verbose             Ð¿Ð¾Ð´Ñ\80обнÑ\8bй Ð²Ñ\8bвод (по Ñ\83молÑ\87аниÑ\8e).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --no-verbose          ÏÔËÌÀÞÅÎÉÅ ÐÏÄÒÏÂÎÏÇÏ ÒÅÖÉÍÁ, ÎÏ ÎÅ ÐÏÌÎÏÓÔØÀ.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          отключение подробного режима, но не полностью.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
-msgstr "  -i,  --input-file=æáêì     ÚÁÇÒÕÚËÁ URL'Ï×, ÎÁÊÄÅÎÎÙÈ × æáêìå.\n"
+msgstr "  -i,  --input-file=ФАЙЛ     загрузка URL'ов, найденных в ФАЙЛЕ.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
-msgstr "  -F,  --force-html          ÓÞÉÔÁÔØ, ÞÔÏ ×ÈÏÄÎÏÊ ÆÁÊÌ - HTML.\n"
+msgstr "  -F,  --force-html          считать, что входной файл - HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            ÄÏÂÁ×ÌÅÎÉÅ URL × ÎÁÞÁÌÏ ÏÔÎÏÓÉÔÅÌØÎÙÈ ÓÓÙÌÏË × ÆÁÊÌÅ -F -i.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            добавление URL в начало относительных ссылок в "
+"файле -F -i.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
-msgstr "úÁÇÒÕÚËÁ:\n"
+msgstr "Загрузка:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=þéóìï             ÕÓÔÁÎÏ×ÉÔØ þéóìï ÐÏ×ÔÏÒÎÙÈ ÐÏÐÙÔÏË (0 ÂÅÚ ÏÇÒÁÎÉÞÅÎÉÑ).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=ЧИСЛО             установить ЧИСЛО повторных попыток (0 без "
+"ограничения).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       ÐÏ×ÔÏÒÑÔØ, ÄÁÖÅ ÅÓÌÉ × ÐÏÄËÌÀÞÅÎÉÉ ÏÔËÁÚÁÎÏ.\n"
+msgstr ""
+"       --retry-connrefused       повторять, даже если в подключении "
+"отказано.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
-msgstr "  -O,  --output-document=æáêì    ÚÁÐÉÓÙ×ÁÔØ ÄÏËÕÍÅÎÔÙ × æáêì.\n"
+msgstr "  -O,  --output-document=ФАЙЛ    записывать документы в ФАЙЛ.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr ""
-"  -nc, --no-clobber              ÐÒÏÐÕÓËÁÔØ ÚÁÇÒÕÚËÉ, ËÏÔÏÒÙÅ ÐÒÉ×ÅÄÕÔ Ë\n"
-"                                 ÚÁÇÒÕÚËÅ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÉÈ ÆÁÊÌÏ×.\n"
+"  -nc, --no-clobber              Ð¿Ñ\80опÑ\83Ñ\81каÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зки, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ð¿Ñ\80иведÑ\83Ñ\82 Ðº\n"
+"                                 загрузке уже существующих файлов.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                ×ÏÚÏÂÎÏ×ÉÔØ ÚÁÇÒÕÚËÕ ÞÁÓÔÉÞÎÏ ÚÁÇÒÕÖÅÎÎÏÇÏ ÆÁÊÌÁ.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                возобновить загрузку частично загруженного "
+"файла.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=ôéð            ×ÙÂÒÁÔØ ÔÉРÉÎÄÉËÁÔÏÒÁ ×ÙÐÏÌÎÅÎÉÑ.\n"
+msgstr "       --progress=ТИП            выбрать тип индикатора выполнения.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
 msgstr ""
-"  -N,  --timestamping            ÎÅ ÚÁÇÒÕÖÁÔØ ÐÏ×ÔÏÒÎÏ ÆÁÊÌÙ, ÔÏÌØËÏ ÅÓÌÉ ÏÎÉ\n"
-"                                 ÎÅ ÎÏ×ÅÅ, ÞÅÍ ÌÏËÁÌØÎÙÅ.\n"
+"  -N,  --timestamping            не загружать повторно файлы, только если "
+"они\n"
+"                                 не новее, чем локальные.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
-msgstr "  -S,  --server-response         ×Ù×ÏÄ ÏÔ×ÅÔÁ ÓÅÒ×ÅÒÁ.\n"
+msgstr "  -S,  --server-response         вывод ответа сервера.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
-msgstr "       --spider                  ÎÉÞÅÇÏ ÎÅ ÚÁÇÒÕÖÁÔØ.\n"
+msgstr "       --spider                  ничего не загружать.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=óåëõîäù         ÕÓÔÁÎÏ×ËÁ ÚÎÁÞÅÎÉÊ ×ÓÅÈ ÔÁÊÍ-ÁÕÔÏ× × óåëõîäù.\n"
+msgstr ""
+"  -T,  --timeout=СЕКУНДЫ         установка значений всех тайм-аутов в "
+"СЕКУНДЫ.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=óåë         ÕÓÔÁÎÏ×ËÁ ÔÁÊÍ-ÁÕÔÁ ÐÏÉÓËÁ × DNS × óåë.\n"
+msgstr ""
+"       --dns-timeout=СЕК         установка тайм-аута поиска в DNS в СЕК.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=óåë     ÕÓÔÁÎÏ×ËÁ ÔÁÊÍ-ÁÕÔÁ ÐÏÄËÌÀÞÅÎÉÑ × óåë.\n"
+msgstr ""
+"       --connect-timeout=СЕК     установка тайм-аута подключения в СЕК.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=óåë        ÕÓÔÁÎÏ×ËÁ ÔÁÊÍ-ÁÕÔÁ ÞÔÅÎÉÑ × óåë.\n"
+msgstr "       --read-timeout=СЕК        установка тайм-аута чтения в СЕК.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=óåëõîäù            ÐÁÕÚÁ × óåëõîäáè ÍÅÖÄÕ ÚÁÇÒÕÚËÁÍÉ.\n"
+msgstr "  -w,  --wait=СЕКУНДЫ            пауза в СЕКУНДАХ между загрузками.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=óåëõîäù       ÐÁÕÚÁ × 1..óåëõîäù ÍÅÖÄÕ ÐÏ×ÔÏÒÎÙÍÉ ÐÏÐÙÔËÁÍÉ ÚÁÇÒÕÚËÉ.\n"
-
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait             ÐÁÕÚÁ × 0...2*WAIT ÓÅËÕÎÄ ÍÅÖÄÕ ÚÁÇÒÕÚËÁÍÉ.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=СЕКУНДЫ       пауза в 1..СЕКУНДЫ между повторными "
+"попытками загрузки.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   Ñ×ÎÏ ×ËÌÀÞÉÔØ ÐÒÏËÓÉ.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             пауза в 0...2*WAIT секунд между "
+"загрузками.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
-msgstr "       --no-proxy                Ñ×ÎÏ ×ÙËÌÀÞÉÔØ ÐÒÏËÓÉ.\n"
+msgstr "       --no-proxy                Ñ\8fвно Ð²Ñ\8bклÑ\8eÑ\87иÑ\82Ñ\8c Ð¿Ñ\80окÑ\81и.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=þéóìï             ÕÓÔÁÎÏ×ÉÔØ ×ÅÌÉÞÉÎÕ Ë×ÏÔÙ ÚÁÇÒÕÚËÉ × þéóìï.\n"
+msgstr ""
+"  -Q,  --quota=ЧИСЛО             установить величину квоты загрузки в "
+"ЧИСЛО.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=áäòåó      ÐÒÉ×ÑÚËÁ Ë áäòåóõ (ÉÍÑ ÈÏÓÔÁ ÉÌÉ IP) ÌÏËÁÌØÎÏÇÏ ÈÏÓÔÁ.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=АДРЕС      привязка к АДРЕСУ (имя хоста или IP) "
+"локального хоста.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=óëïòïóôø     ÏÇÒÁÎÉÞÅÎÉÅ óëïòïóôé ÚÁÇÒÕÚËÉ.\n"
+msgstr "       --limit-rate=СКОРОСТЬ     ограничение СКОРОСТИ загрузки.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache            ÏÔËÌÀÞÅÎÉÅ ËÜÛÉÒÏ×ÁÎÉÑ ÐÏÉÓËÏ×ÙÈ DNS-ÚÁÐÒÏÓÏ×.\n"
+msgstr ""
+"       --no-dns-cache            отключение кэширования поисковых DNS-"
+"запросов.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=ïó  ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ÓÉÍ×ÏÌÙ × ÉÍÅÎÁÈ ÆÁÊÌÏ×, ÉÓÐÏÌØÚÏ×ÁÎÉÅ ËÏÔÏÒÙÈ ÄÏÐÕÓËÁÅÔ ïó.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=ОС  ограничение на символы в именах файлов, "
+"использование которых допускает ОС.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             игнорировать регистр при сопоставлении\n"
+"                                 файлов и/или каталогов.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
-msgstr "  -4,  --inet4-only              ÐÏÄËÌÀÞÁÔØÓÑ ÔÏÌØËÏ Ë ÁÄÒÅÓÁÍ IPv4.\n"
+msgstr "  -4,  --inet4-only              Ð¿Ð¾Ð´ÐºÐ»Ñ\8eÑ\87аÑ\82Ñ\8cÑ\81Ñ\8f Ñ\82олÑ\8cко Ðº Ð°Ð´Ñ\80еÑ\81ам IPv4.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
-msgstr "  -6,  --inet6-only              ÐÏÄËÌÀÞÁÔØÓÑ ÔÏÌØËÏ Ë ÁÄÒÅÓÁÍ IPv6.\n"
+msgstr "  -6,  --inet6-only              Ð¿Ð¾Ð´ÐºÐ»Ñ\8eÑ\87аÑ\82Ñ\8cÑ\81Ñ\8f Ñ\82олÑ\8cко Ðº Ð°Ð´Ñ\80еÑ\81ам IPv6.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=óåíåêóô÷ï ÐÏÄËÌÀÞÁÔØÓÑ ÓÎÁÞÁÌÁ Ë ÁÄÒÅÓÁÍ ÕËÁÚÁÎÎÏÇÏ ÓÅÍÅÊÓÔ×Á,\n"
-"                                 ÍÏÖÅÔ ÂÙÔØ IPv6, IPv4 ÉÌÉ ÎÉÞÅÇÏ.\n"
+"       --prefer-family=СЕМЕЙСТВО подключаться сначала к адресам указанного "
+"семейства,\n"
+"                                 может быть IPv6, IPv4 или ничего.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=ðïìøúï÷áôåìø       ÕÓÔÁÎÏ×ÉÔØ É ftp- É http-ÐÏÌØÚÏ×ÁÔÅÌÑ × ðïìøúï÷áôåìø.\n"
+msgstr ""
+"       --user=ПОЛЬЗОВАТЕЛЬ       установить и ftp- и http-пользователя в "
+"ПОЛЬЗОВАТЕЛЬ.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=ðáòïìø         ÕÓÔÁÎÏ×ÉÔØ É ftp- É http-ÐÁÒÏÌØ × ðáòïìø.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=ПАРОЛЬ         установить и ftp- и http-пароль в ПАРОЛЬ.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
-msgstr "ëÁÔÁÌÏÇÉ:\n"
+msgstr "Каталоги:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
-msgstr "  -nd, --no-directories           ÎÅ ÓÏÚÄÁ×ÁÔØ ËÁÔÁÌÏÇÉ.\n"
+msgstr "  -nd, --no-directories           не создавать каталоги.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
-msgstr "  -x,  --force-directories        ÐÒÉÎÕÄÉÔÅÌØÎÏ ÓÏÚÄÁ×ÁÔØ ËÁÔÁÌÏÇÉ.\n"
+msgstr "  -x,  --force-directories        Ð¿Ñ\80инÑ\83диÑ\82елÑ\8cно Ñ\81оздаваÑ\82Ñ\8c ÐºÐ°Ñ\82алоги.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
-msgstr "  -nH, --no-host-directories      ÎÅ ÓÏÚÄÁ×ÁÔØ ËÁÔÁÌÏÇÉ ËÁË ÎÁ ÈÏÓÔÅ.\n"
+msgstr ""
+"  -nH, --no-host-directories      не создавать каталоги как на хосте.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     ÉÓÐÏÌØÚÏ×ÁÔØ ÉÍÑ ÐÒÏÔÏËÏÌÁ × ËÁÔÁÌÏÇÁÈ.\n"
+msgstr ""
+"       --protocol-directories     использовать имя протокола в каталогах.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
-msgstr "  -P,  --directory-prefix=ðòåæéëó ÓÏÈÒÁÎÑÔØ ÆÁÊÌÙ × ðòåæéëó/...\n"
+msgstr "  -P,  --directory-prefix=ПРЕФИКС сохранять файлы в ПРЕФИКС/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=þéóìï           ÉÇÎÏÒÉÒÏ×ÁÔØ þéóìï ËÏÍÐÏÎÅÎÔÏ× ÕÄÁÌ£ÎÎÏÇÏ ËÁÔÁÌÏÇÁ.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=ЧИСЛО           игнорировать ЧИСЛО компонентов удалённого "
+"каталога.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
-msgstr "ïÐÃÉÉ HTTP:\n"
+msgstr "Опции HTTP:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
-msgstr "       --http-user=ðïìøúï÷áôåìø ÕÓÔÁÎÏ×ÉÔØ http-ÐÏÌØÚÏ×ÁÔÅÌÑ × ðïìøúï÷áôåìø.\n"
+msgstr ""
+"       --http-user=ПОЛЬЗОВАТЕЛЬ установить http-пользователя в "
+"ПОЛЬЗОВАТЕЛЬ.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
-msgstr "       --http-password=ðáòïìø  ÕÓÔÁÎÏ×ÉÔØ http-ÐÁÒÏÌØ × ðáòïìø.\n"
+msgstr "       --http-password=ПАРОЛЬ  установить http-пароль в ПАРОЛЬ.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              ÏÔ×ÅÒÇÁÔØ ËÜÛÉÒÏ×ÁÎÎÙÅ ÓÅÒ×ÅÒÏÍ ÄÁÎÎÙÅ.\n"
+msgstr ""
+"       --no-cache              отвергать кэшированные сервером данные.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        ÓÏÈÒÁÎÑÔØ HTML-ÄÏËÕÍÅÎÔÙ Ó ÒÁÓÛÉÒÅÎÉÅÍ `.html'.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        сохранять HTML-документы с расширением `."
+"html'.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         ÉÇÎÏÒÉÒÏ×ÁÔØ ÐÏÌÅ ÚÁÇÏÌÏ×ËÁ `Content-Length'.\n"
+msgstr ""
+"       --ignore-length         игнорировать поле заголовка `Content-"
+"Length'.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=óôòïëá         ×ÓÔÁ×ÉÔØ óôòïëõ ÍÅÖÄÕ ÚÁÇÏÌÏ×ËÁÍÉ.\n"
+msgstr "       --header=СТРОКА         вставить СТРОКУ между заголовками.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          максимально допустимое число перенаправлений\n"
+"                               на страницу.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=ðïìøúï÷áôåìø ÕÓÔÁÎÏ×ÉÔØ ðïìøúï÷áôåìñ × ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÒÏËÓÉ.\n"
+msgstr ""
+"       --proxy-user=ПОЛЬЗОВАТЕЛЬ установить ПОЛЬЗОВАТЕЛЯ в качестве имени "
+"пользователя для прокси.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
-msgstr "       --proxy-password=ðáòïìø   ÕÓÔÁÎÏ×ÉÔØ ðáòïìø × ËÁÞÅÓÔ×Å ÐÁÒÏÌÑ ÄÌÑ ÐÒÏËÓÉ.\n"
+msgstr ""
+"       --proxy-password=ПАРОЛЬ   установить ПАРОЛЬ в качестве пароля для "
+"прокси.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           ×ËÌÀÞÉÔØ × HTTP-ÚÁÐÒÏÓ ÚÁÇÏÌÏ×ÏË `Referer: URL'.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           включить в HTTP-запрос заголовок `Referer: "
+"URL'.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
-msgstr "       --save-headers          ÓÏÈÒÁÎÑÔØ HTTP-ÚÁÇÏÌÏ×ËÉ × ÆÁÊÌ.\n"
+msgstr "       --save-headers          сохранять HTTP-заголовки в файл.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=áçåîô      ÉÄÅÎÔÉÆÉÃÉÒÏ×ÁÔØ ÓÅÂÑ ËÁË áçåîô ×ÍÅÓÔÏ Wget/÷åòóéñ.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=АГЕНТ      идентифицировать себя как АГЕНТ вместо Wget/"
+"ВЕРСИЯ.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    ÏÔËÌÀÞÉÔØ ÐÏÄÄÅÒÖÁÎÉÅ ÁËÔÉ×ÎÏÓÔÉ HTTP (ÐÏÓÔÏÑÎÎÙÅ ÐÏÄËÌÀÞÅÎÉÑ).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    отключить поддержание активности HTTP "
+"(постоянные подключения).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
-msgstr "       --no-cookies            ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÕËÉÓÙ.\n"
+msgstr "       --no-cookies            не использовать кукисы.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=æáêì     ÚÁÇÒÕÚÉÔØ ËÕËÉÓÙ ÉÚ æáêìá ÐÅÒÅÄ ÓÅÁÎÓÏÍ.\n"
+msgstr ""
+"       --load-cookies=ФАЙЛ     загрузить кукисы из ФАЙЛА перед сеансом.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=æáêì     ÓÏÈÒÁÎÉÔØ ËÕËÉÓÙ × æáêì ÐÏÓÌÅ ÓÅÁÎÓÁ.\n"
+msgstr "       --save-cookies=ФАЙЛ     сохранить кукисы в ФАЙЛ после сеанса.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  ÚÁÇÒÕÚÉÔØ É ÓÏÈÒÁÎÉÔØ ËÕËÉÓÙ ÓÅÁÎÓÁ (ÎÅÐÏÓÔÏÑÎÎÙÅ).\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  загрузить и сохранить кукисы сеанса "
+"(непостоянные).\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=óôòïëá      ÉÓÐÏÌØÚÏ×ÁÔØ ÍÅÔÏÄ POST; ÏÔÐÒÁ×ËÁ óôòïëé × ËÁÞÅÓÔ×Å ÄÁÎÎÙÈ.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=СТРОКА      использовать метод POST; отправка СТРОКИ в "
+"качестве данных.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=æáêì        ÉÓÐÏÌØÚÏ×ÁÔØ ÍÅÔÏÄ POST; ÏÔÐÒÁ×ËÁ ÓÏÄÅÒÖÉÍÏÇÏ æáêìá.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=ФАЙЛ        использовать метод POST; отправка содержимого "
+"ФАЙЛА.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   Учитывать заголовок Content-Disposition\n"
+"                               при выборе имён для локальных файлов\n"
+"                               (ЭКСПЕРИМЕНТАЛЬНЫЙ).\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
-msgstr "ïÐÃÉÉ HTTPS (SSL/TLS):\n"
+msgstr "Опции HTTPS (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=ðò     ×ÙÂÏÒ ÂÅÚÏÐÁÓÎÏÇÏ ÐÒÏÔÏËÏÌÁ: auto, SSLv2,\n"
-"                                SSLv3 ÉÌÉ TLSv1.\n"
+"       --secure-protocol=ПР     выбор безопасного протокола: auto, SSLv2,\n"
+"                                SSLv3 или TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   ÎÅ ÐÒÏ×ÅÒÑÔØ ÓÅÒÔÉÆÉËÁÔ ÓÅÒ×ÅÒÁ.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr "       --no-check-certificate   не проверять сертификат сервера.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
-msgstr "       --certificate=FILE       ÆÁÊÌ ÓÅÒÔÉÆÉËÁÔÁ ÐÏÌØÚÏ×ÁÔÅÌÑ.\n"
+msgstr "       --certificate=FILE       файл сертификата пользователя.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=ôéð   ÔÉРÓÅÒÔÉÆÉËÁÔÁ ÐÏÌØÚÏ×ÁÔÅÌÑ: PEM ÉÌÉ DER.\n"
+msgstr ""
+"       --certificate-type=ТИП   тип сертификата пользователя: PEM или DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
-msgstr "       --private-key=æáêì       ÆÁÊÌ ÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ.\n"
+msgstr "       --private-key=ФАЙЛ       файл секретного ключа.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=ôéð   ÔÉРÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ: PEM ÉÌÉ DER.\n"
+msgstr "       --private-key-type=ТИП   тип секретного ключа: PEM или DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
-msgstr "       --ca-certificate=æáêì    ÆÁÊÌ Ó ÎÁÂÏÒÏÍ CA.\n"
+msgstr "       --ca-certificate=ФАЙЛ    файл с набором CA.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=ëáô       ËÁÔÁÌÏÇ, × ËÏÔÏÒÏÍ ÈÒÁÎÉÔÓÑ ÓÐÉÓÏË CA.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=КАТ       каталог, в котором хранится список CA.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=æáêì       ÆÁÊÌ ÓÏ ÓÌÕÞÁÊÎÙÍÉ ÄÁÎÎÙÍÉ ÄÌÑ SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=ФАЙЛ       файл со случайными данными для SSL PRNG.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=æáêì          ÆÁÊÌ, ÏÐÒÅÄÅÌÑÀÝÉÊ ÓÏËÅÔ EGD ÓÏ ÓÌÕÞÁÊÎÙÍÉ ÄÁÎÎÙÍÉ.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=ФАЙЛ          файл, определяющий сокет EGD со случайными "
+"данными.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
-msgstr "ïÐÃÉÉ FTP:\n"
+msgstr "Опции FTP:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
-msgstr "       --ftp-user=ðïìøúï÷áôåìø ÕÓÔÁÎÏ×ÉÔØ ftp-ÐÏÌØÚÏ×ÁÔÅÌÑ × ðïìøúï÷áôåìø.\n"
+msgstr ""
+"       --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
-msgstr "       --ftp-password=ðáòïìø   ÕÓÔÁÎÏ×ÉÔØ ftp-ÐÁÒÏÌØ × ðáòïìø.\n"
+msgstr "       --ftp-password=ПАРОЛЬ   установить ftp-пароль в ПАРОЛЬ.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
-msgstr "       --no-remove-listing     ÎÅ ÕÄÁÌÑÔØ ÆÁÊÌÙ ÆÁÊÌÙ `.listing'.\n"
+msgstr "       --no-remove-listing     не удалять файлы файлы `.listing'.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               ×ÙËÌÀÞÉÔØ ÍÁÓËÉ ÄÌÑ ÉͣΠÆÁÊÌÏ× FTP.\n"
+msgstr "       --no-glob               выключить маски для имён файлов FTP.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        ÏÔËÌÀÞÉÔØ \"ÐÁÓÓÉ×ÎÙÊ\" ÒÅÖÉÍ ÐÅÒÅÄÁÞÉ.\n"
+msgstr ""
+"       --no-passive-ftp        отключить \"пассивный\" режим передачи.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
-msgstr "       --retr-symlinks         ÐÒÉ ÒÅËÕÒÓÉÉ ÚÁÇÒÕÖÁÔØ ÆÁÊÌÙ ÐÏ ÓÓÙÌËÁÍ (ÎÅ ËÁÔÁÌÏÇÉ).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         при рекурсии загружать файлы по ссылкам (не "
+"каталоги).\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  ÓÏÈÒÁÎÑÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÕÄÁÌ£ÎÎÙÈ ÆÁÊÌÏ×.\n"
+msgstr ""
+"       --preserve-permissions  сохранять права доступа удалённых файлов.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
-msgstr "òÅËÕÒÓÉ×ÎÁÑ ÚÁÇÒÕÚËÁ:\n"
+msgstr "Рекурсивная загрузка:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
-msgstr "  -r,  --recursive          ×ËÌÀÞÅÎÉÅ ÒÅËÕÒÓÉ×ÎÏÊ ÚÁÇÒÕÚËÉ.\n"
+msgstr "  -r,  --recursive          включение рекурсивной загрузки.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=þéóìï        ÇÌÕÂÉÎÁ ÒÅËÕÒÓÉÉ (inf É 0 - ÂÅÓËÏÎÅÞÎÏÓÔØ).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=ЧИСЛО        глубина рекурсии (inf и 0 - бесконечность).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after       ÕÄÁÌÑÔØ ÌÏËÁÌØÎÙÅ ÆÁÊÌÙ ÐÏÓÌÅ ÚÁÇÒÕÚËÉ.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr "       --delete-after       удалять локальные файлы после загрузки.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links      ÄÅÌÁÔØ ÓÓÙÌËÉ ÌÏËÁÌØÎÙÍÉ × ÚÁÇÒÕÖÅÎÎÏÍ HTML.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      делать ссылки локальными в загруженном HTML.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   ÐÅÒÅÄ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅÍ ÆÁÊÌÁ X ÄÅÌÁÔØ ÒÅÚÅÒ×ÎÕÀ ËÏÐÉÀ X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   перед преобразованием файла X делать резервную "
+"копию X.orig.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
 msgstr ""
-"  -m,  --mirror             ËÏÒÏÔËÁÑ ÏÐÃÉÑ, ÜË×É×ÁÌÅÎÔÎÁÑ\n"
+"  -m,  --mirror             короткая опция, эквивалентная\n"
 "                            -N -r -l inf --no-remove-listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    ÚÁÇÒÕÚÉÔØ ×ÓÅ ÉÚÏÂÒÁÖÅÎÉÑ É ÐÒÏÞ., ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ HTML-ÓÔÒÁÎÉÃÙ.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    загрузить все изображения и проч., необходимые "
+"для отображения HTML-страницы.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    ×ËÌÀÞÉÔØ ÓÔÒÏÇÕÀ (SGML) ÏÂÒÁÂÏÔËÕ ËÏÍÍÅÎÔÁÒÉÅ× HTML.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    включить строгую (SGML) обработку комментариев "
+"HTML.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
-msgstr "òÁÚÒÅÛÅÎÉÑ/ÚÁÐÒÅÔÙ ÐÒÉ ÒÅËÕÒÓÉÉ:\n"
+msgstr "Разрешения/запреты при рекурсии:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=óðéóïë             ÓÐÉÓÏË ÒÁÚÒÅÛ£ÎÎÙÈ ÒÁÓÛÉÒÅÎÉÊ, ÒÁÚÄÅÌ£ÎÎÙÈ ÚÁÐÑÔÙÍÉ.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=СПИСОК             список разрешённых расширений, "
+"разделённых запятыми.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=óðéóïë             ÓÐÉÓÏË ÚÁÐÒÅÝ£ÎÎÙÈ ÒÁÓÛÉÒÅÎÉÊ, ÒÁÚÄÅÌ£ÎÎÙÈ ÚÁÐÑÔÙÍÉ.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=СПИСОК             список запрещённых расширений, "
+"разделённых запятыми.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=óðéóïë            ÓÐÉÓÏË ÒÁÚÒÅÛ£ÎÎÙÈ ÄÏÍÅÎÏ×, ÒÁÚÄÅÌ£ÎÎÙÈ ÚÁÐÑÔÙÍÉ.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=СПИСОК            список разрешённых доменов, разделённых "
+"запятыми.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=óðéóïë    ÓÐÉÓÏË ÚÁÐÒÅÝ£ÎÎÙÈ ÄÏÍÅÎÏ×, ÒÁÚÄÅÌ£ÎÎÙÈ ÚÁÐÑÔÙÍÉ.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=СПИСОК    список запрещённых доменов, разделённых "
+"запятыми.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                ÓÌÅÄÏ×ÁÔØ ÐÏ ÓÓÙÌËÁÍ FTP × HTML-ÄÏËÕÍÅÎÔÁÈ.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                следовать по ссылкам FTP в HTML-"
+"документах.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=óðéóïë        ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÈ ÔÅÇÏ× HTML, ÒÁÚÄÅÌ£ÎÎÙÈ ÚÁÐÑÔÙÍÉ.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=СПИСОК        список используемых тегов HTML, "
+"разделённых запятыми.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=óðéóïë        ÓÐÉÓÏË ÉÇÎÏÒÉÒÕÅÍÙÈ ÔÅÇÏ× HTML, ÒÁÚÄÅÌ£ÎÎÙÈ ÚÁÐÑÔÙÍÉ.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=СПИСОК        список игнорируемых тегов HTML, "
+"разделённых запятыми.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                ÚÁÈÏÄÉÔØ ÎÁ ÞÕÖÉÅ ÈÏÓÔÙ ÐÒÉ ÒÅËÕÒÓÉÉ.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                заходить на чужие хосты при рекурсии.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
-msgstr "  -L,  --relative                  ÓÌÅÄÏ×ÁÔØ ÔÏÌØËÏ ÐÏ ÏÔÎÏÓÉÔÅÌØÎÙÍ ÓÓÙÌËÁÍ.\n"
+msgstr ""
+"  -L,  --relative                  следовать только по относительным "
+"ссылкам.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
-msgstr "  -I,  --include-directories=óðéóïë ÓÐÉÓÏË ÒÁÚÒÅÛ£ÎÎÙÈ ËÁÔÁÌÏÇÏ×.\n"
+msgstr "  -I,  --include-directories=СПИСОК список разрешённых каталогов.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
-msgstr "  -X,  --exclude-directories=óðéóïë ÓÐÉÓÏË ÉÓËÌÀÞÁÅÍÙÈ ËÁÔÁÌÏÇÏ×.\n"
+msgstr "  -X,  --exclude-directories=СПИСОК список исключаемых каталогов.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                 ÎÅ ÐÏÄÎÉÍÁÔØÓÑ × ÒÏÄÉÔÅÌØÓËÉÊ ËÁÔÁÌÏÇ.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 не подниматься в родительский каталог.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "ïÔÞÅÔÙ Ï ÏÛÉÂËÁÈ É ÐÏÖÅÌÁÎÉÑ ÏÔÐÒÁ×ÌÑÊÔÅ ÎÁ <bug-wget@gnu.org>.\n"
+msgstr "Отчёты об ошибках и пожелания отправляйте на <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, ÐÒÏÇÒÁÍÍÁ ÄÌÑ ÎÅÉÎÔÅÒÁËÔÉ×ÎÏÊ ÚÁÇÒÕÚËÉ ÆÁÊÌÏ× ÐÏ ÓÅÔÉ.\n"
+msgstr ""
+"GNU Wget %s, программа для загрузки файлов из сети в автономном режиме.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"üÔÁ ÐÒÏÇÒÁÍÍÁ ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ × ÎÁÄÅÖÄÅ, ÞÔÏ ÏÎÁ ÂÕÄÅÔ ÐÏÌÅÚÎÁ,\n"
-"ÎÏ âåú ÷óñëïê çáòáîôéé; ÄÁÖÅ ÂÅÚ ÐÏÄÒÁÚÕÍÅ×ÁÅÍÏÊ ÇÁÒÁÎÔÉÉ\n"
-"òáâïôïóðïóïâîïóôé ÉÌÉ ðòéçïäîïóôé äìñ ëáëïê-ìéâï ãåìé. úÁ ÂÏÌÅÅ\n"
-"ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ ÏÂÒÁÝÁÊÔÅÓØ Ë GNU General Public License.\n"
-
-#: src/main.c:665
+"Лицензия GPLv3+: GNU GPL версии 3 или старше\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Это свободное программное обеспечение: его можно свободно изменять\n"
+"и распространять дальше.\n"
+"Ничего НЕ ГАРАНТИРУЕТСЯ, в пределах, ограниченных законом.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
 msgstr ""
 "\n"
-"á×ÔÏÒ ÏÒÉÇÉÎÁÌØÎÏÊ ×ÅÒÓÉÉ: Hrvoje Niksic <hniksic@xemacs.org>.\n"
+"Автор оригинальной версии: Hrvoje Niksic <hniksic@xemacs.org>.\n"
+
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Текущий сопровождающий: Micah Cowan <micah@cowan.name>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
-msgstr "ðÏÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ÏÐÃÉÊ.\n"
+msgstr "Попробуйте `%s --help' для получения списка опций.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÁÑ ÏÐÃÉÑ -- `-n%c'\n"
+msgstr "%s: недопустимая опция -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÅÖÉÍÙ verbose É quiet.\n"
+msgstr "Невозможно одновременно использовать режимы verbose и quiet.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÒÅÍÅÎÎÙÅ ÍÅÔËÉ É ÎÅ ÚÁÔÉÒÁÔØ ÓÔÁÒÙÅ ÆÁÊÌÙ.\n"
+msgstr ""
+"Невозможно одновременно использовать временные метки и не затирать старые "
+"файлы.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕËÁÚÁÔØ É --inet4-only, É --inet6-only.\n"
+msgstr "Невозможно указать и --inet4-only, и --inet6-only.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Нельзя указать параметры -r, -p или -N, если был указан -O.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Нельзя указать одновременно -k и -O, если указаны несколько URL.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
-msgstr "%s: ÏÔÓÕÔÓÔ×ÕÅÔ URL\n"
+msgstr "%s: отсутствует URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
-msgstr "îÅ ÎÁÊÄÅÎÙ URL'Ù × ÆÁÊÌÅ %s.\n"
+msgstr "Не найдены URL'ы в файле %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
-"úá÷åòûåîï --%s--\n"
-"úÁÇÒÕÖÅÎÏ: %s ÂÁÊÔ × %d ÆÁÊÌÁÈ\n"
+"ЗАВЕРШЕНО --%s--\n"
+"Загружено: %d файлов, %s за %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "ðòå÷ùûåîï ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ÚÁÇÒÕÚËÕ (%s ÂÁÊÔ)!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "ПРЕВЫШЕНО ограничение на загрузку (%s)!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
-msgstr "òÁÂÏÔÁ ÐÒÏÄÏÌÖÁÅÔÓÑ × ÆÏÎÏ×ÏÍ ÒÅÖÉÍÅ.\n"
+msgstr "Работа продолжается в фоновом режиме.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
-msgstr "òÁÂÏÔÁ ÐÒÏÄÏÌÖÁÅÔÓÑ × ÆÏÎÏ×ÏÍ ÒÅÖÉÍÅ, pid %lu.\n"
+msgstr "Работа продолжается в фоновом режиме, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
-msgstr "÷ÙÈÏÄÎÙÅ ÄÁÎÎÙÅ ÂÕÄÕÔ ÚÁÐÉÓÁÎÙ × `%s'.\n"
+msgstr "Выходные данные будут записаны в `%s'.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÐÏÄÈÏÄÑÝÉÊ ÄÒÁÊ×ÅÒ ÓÏËÅÔÁ.\n"
+msgstr "%s: Невозможно найти подходящий драйвер сокета.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÅÒÅÄ ÉÍÅÎÅÍ ËÁÖÄÏÊ ÍÁÛÉÎÙ ×ÓÔÒÅÞÁÅÔÓÑ ÍÁÒËÅÒ \"%s\"\n"
+msgstr ""
+"%s: %s:%d: предупреждение: перед именем каждой машины встречается маркер \"%s"
+"\"\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
-msgstr "%s: %s:%d: ÎÅÉÚ×ÅÓÔÎÙÊ ÍÁÒËÅÒ \"%s\"\n"
+msgstr "%s: %s:%d: неизвестный маркер \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s NETRC [éíñ_èïóôá]\n"
+msgstr "Использование: %s NETRC [ИМЯ_ХОСТА]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
-msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ stat ÄÌÑ %s: %s\n"
+msgstr "%s: невозможно выполнить stat для %s: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
-msgstr "ðòåäõðòåöäåîéå: ÉÓÐÏÌØÚÕÅÔÓÑ ÓÌÁÂÙÊ ÉÓÔÏÞÎÉË ÓÌÕÞÁÊÎÙÈ ÄÁÎÎÙÈ.\n"
+msgstr "ПРЕДУПРЕЖДЕНИЕ: используется слабый источник случайных данных.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÒÏÄÉÔØ PRNG; ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÏÐÃÉÉ --random-file.\n"
+msgstr ""
+"Невозможно породить PRNG; подразумевается использование опции --random-"
+"file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
-msgstr "ïûéâëá"
+msgstr "ОШИБКА"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
-msgstr "ðòåäõðòåöäåîéå"
+msgstr "ПРЕДУПРЕЖДЕНИЕ"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
-msgstr "%s: îÅÔ ÓÅÒÔÉÆÉËÁÔÁ, ÐÒÅÄÓÔÁ×ÌÅÎÎÏÇÏ %s.\n"
+msgstr "%s: Нет сертификата, представленного %s.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: ïÛÉÂËÁ ÐÒÏ×ÅÒËÉ ÓÅÒÔÉÆÉËÁÔÁ ÄÌÑ %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: невозможно проверить сертификат %s, запрошенный `%s':\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Невозможно локально проверить подлинность запрашивающего.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Обнаружен самостоятельно подписанный сертификат.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Запрошенный сертификат ещё недействителен.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Для запрошенного сертификата истёк срок действия.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: ïÂÝÅÅ ÎÁÚ×ÁÎÉÅ ÓÅÒÔÉÆÉËÁÔÁ `%s' ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÉÍÅÎÅÍ ÚÁÐÒÏÛÅÎÎÏÇÏ ÈÏÓÔÁ `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: Общее название сертификата `%s' не совпадает с именем запрошенного хоста "
+"`%s'.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "þÔÏÂÙ ÎÅÂÅÚÏÐÁÓÎÏ ÐÏÄËÌÀÞÉÔØÓÑ Ë %s, ÉÓÐÏÌØÚÕÊÔÅ `--no-check-certificate'.\n"
+msgstr ""
+"Чтобы небезопасно подключиться к %s, используйте `--no-check-certificate'.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ ÐÒÏÐÕÓËÁÅÔÓÑ %dK ]"
+"%*s[ Ð¿Ñ\80опÑ\83Ñ\81каеÑ\82Ñ\81Ñ\8f %sK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "îÅÄÏÐÕÓÔÉÍÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ dot-ÓÔÉÌÑ `%s'; ÏÓÔÁ×ÌÅΠÂÅÚ ÉÚÍÅÎÅÎÉÑ.\n"
+msgstr "Недопустимая спецификация dot-стиля `%s'; оставлен без изменения.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  ОВП %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   в "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ REALTIME-ÞÁÓÔÏÔÕ ÞÁÓÏ×: %s\n"
+msgstr "Невозможно получить REALTIME-частоту часов: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
-msgstr "õÄÁÌÑÅÔÓÑ %s, Ô.Ë. ÏΠÄÏÌÖÅΠÂÙÔØ ÉÓËÌÀÞÅÎ.\n"
+msgstr "Удаляется %s, т.к. он должен быть исключён.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s"
+msgstr "Невозможно открыть %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
-msgstr "úÁÇÒÕÖÁÅÔÓÑ robots.txt; ÎÅ ÏÂÒÁÝÁÊÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÏÛÉÂËÉ.\n"
+msgstr "Загружается robots.txt; не обращайте внимание на ошибки.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
-msgstr "ïÛÉÂËÁ ÒÁÚÂÏÒÁ URL ÐÒÏËÓÉ %s: %s\n"
+msgstr "Ошибка разбора URL прокси %s: %s\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
-msgstr "ïÛÉÂËÁ × URL ÐÒÏËÓÉ %s: äÏÌÖÅΠÂÙÔØ HTTP.\n"
+msgstr "Ошибка в URL прокси %s: Должен быть HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
-msgstr "ðÒÅ×ÙÛÅÎÏ ÞÉÓÌÏ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÊ %d.\n"
+msgstr "Превышено число перенаправлений %d.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
 msgstr ""
-"úÁ×ÅÒÛÅÎÉÅ.\n"
+"Завершение.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
 msgstr ""
-"ðÏ×ÔÏÒ.\n"
+"Повтор.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Битые ссылки не найдены.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Найдена %d битая ссылка.\n"
+"\n"
+msgstr[1] ""
+"Найдено %d битых ссылок.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
-msgstr "îÅÔ ÏÛÉÂÏË"
+msgstr "Нет ошибок"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
-msgstr "îÅÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ ÓÈÅÍÁ"
+msgstr "Неподдерживаемая схема"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÈÏÓÔÁ"
+msgstr "Неверное имя хоста"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
-msgstr "îÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÐÏÒÔÁ"
+msgstr "Неверный номер порта"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ"
+msgstr "Неверное имя пользователя"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
-msgstr "îÅÚÁ×ÅÒÛÅÎÎÙÅ ÞÉÓÌÏ×ÙÅ ÁÄÒÅÓÁ IPv6"
+msgstr "Незавершённые числовые адреса IPv6"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
-msgstr "áÄÒÅÓÁ IPv6 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
+msgstr "Адреса IPv6 не поддерживаются"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
-msgstr "îÅ×ÅÒÎÙÊ ÞÉÓÌÏ×ÏÊ ÁÄÒÅÓ IPv6"
+msgstr "Неверный числовой адрес IPv6"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
-msgstr "òÁÂÏÔÁ ÐÒÏÄÏÌÖÁÅÔÓÑ × ÆÏÎÏ×ÏÍ ÒÅÖÉÍÅ, pid %d.\n"
+msgstr "Работа продолжается в фоновом режиме, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
-msgstr "îÅ ÕÄÁÌÏÓØ ÒÁÚÏÒ×ÁÔØ ÓÉÍ×ÏÌÉÞÅÓËÕÀ ÓÓÙÌËÕ `%s': %s\n"
+msgstr "Не удалось разорвать символическую ссылку `%s': %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
-msgstr "%s: %s: îÅ ÕÄÁÌÏÓØ ×ÙÄÅÌÉÔØ %ld ÂÁÊÔ; ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ.\n"
+msgstr "%s: %s: Не удалось выделить %ld байт; нехватка памяти.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Ошибка в Set-Cookie, поле `%s'"
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: Неверное расширенное логическое выражение `%s';\n"
+#~ "используйте `on', `off', `always' или `never'.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   явно включить прокси.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Эта программа распространяется в надежде, что она будет полезна,\n"
+#~ "но БЕЗ ВСЯКОЙ ГАРАНТИИ; даже без подразумеваемой гарантии\n"
+#~ "РАБОТОСПОСОБНОСТИ или ПРИГОДНОСТИ ДЛЯ КАКОЙ-ЛИБО ЦЕЛИ. За более\n"
+#~ "подробной информацией обращайтесь к GNU General Public License.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: Ошибка проверки сертификата для %s: %s\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Соединение закрыто, позиция %s/%s. "
index d74a90c87d1c2831caaf1eec7cbaa559dafd9daf..883ef9dc3acc1c266a905780af8d277f679897a5 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
 # Slovak translations for GNU wget
-# Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
-# Marcel Telka <marcel@telka.sk>, 2002, 2003, 2005.
+# Copyright (C) 1999, 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+# Marcel Telka <marcel@telka.sk>, 2002, 2003, 2005, 2007.
 # Miroslav Vasko <vasko@debian.cz>, 1999.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2005-07-08 22:41+0200\n"
+"Project-Id-Version: GNU wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-13 07:46+0100\n"
 "Last-Translator: Marcel Telka <marcel@telka.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
 
-#: src/connect.c:199
+# , c-format
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: voľba `%s' nie je jednoznačná\n"
+
+# , c-format
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: voľba `--%s' nepodporuje parameter\n"
+
+# , c-format
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: voľba `%c%s' nepodporuje parameter\n"
+
+# , c-format
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: voľba `%s' vyžaduje parameter\n"
+
+# , c-format
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: neznáma voľba `--%s'\n"
+
+# , c-format
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: neznáma voľba `%c%s'\n"
+
+# , c-format
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: neprípustná voľba -- %c\n"
+
+# , c-format
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: neplatná voľba -- %c\n"
+
+# , c-format
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: voľba vyžaduje parameter -- %c\n"
+
+# , c-format
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: voľba `-W %s' nie je jednoznačná\n"
+
+# , c-format
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: voľba `-W %s' nepodporuje parameter\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: nepodarilo sa previesť adresu zviazania `%s'; deaktivujem zviazanie.\n"
+msgstr ""
+"%s: nepodarilo sa previesť adresu zviazania `%s'; deaktivujem zviazanie.\n"
 
 # , c-format
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Pripájam sa k %s|%s|:%d... "
 
 # , c-format
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Pripájam sa k %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "pripojené.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "zlyhalo: %s.\n"
 
-#: src/convert.c:176
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "Skonvertovaných %d súborov za %.*f sekúnd.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: nepodarilo sa previesť adresu hostiteľa `%s'\n"
+
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Skonvertovaných %d súborov za %s sekúnd.\n"
 
 # , c-format
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Konvertujem %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "niet čo robiť.\n"
 
 # , c-format
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Nemôžem previesť odkazy v %s: %s\n"
 
 # , c-format
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Nemôžem zmazať `%s': %s\n"
 
 # , c-format
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Nemôžem zálohovať %s ako %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Chyba v Set-Cookie, pole `%s'"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Chyba syntaxe v Set-Cookie: %s na pozícii %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "Koláčiky prichádzajúce z %s sa pokúsili nastaviť doménu na %s\n"
 
 # , c-format
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Nedokážem otvoriť súbor s cookie `%s': %s\n"
 
 # , c-format
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Chyba pri zápise do `%s': %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Chyba pri zatváraní `%s': %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Nepodporovaný typ výpisu, skúša sa unixový parser.\n"
 
 # , c-format
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Obsah /%s na %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "čas neznámy        "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Súbor       "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Adresár     "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Sym. odkaz  "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Neznámy typ "
 
 # , c-format
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bajtov)"
 
 # , c-format
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Dĺžka: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", ostáva %s (%s)"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", ostáva %s"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (nie je smerodajné)\n"
 
 # , c-format
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Prihlasujem sa ako %s ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Server odpovedal chybne, uzatváram riadiace spojenie.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Úvodná odpoveď servera je chybná.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Nemôžem zapísať dáta, uzatváram riadiace spojenie.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Server odmieta prihlásenie.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Chyba pri prihlásení.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Prihlásený!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Chyba servera, nie je možné zistiť typ systému.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "hotovo.  "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "hotovo.\n"
 
 # , c-format
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Neznámy typ `%c', uzatváram riadiace spojenie.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "hotovo."
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD nie je potrebné.\n"
 
 # , c-format
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -237,36 +304,35 @@ msgstr ""
 "Adresár `%s' neexistuje.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD nie je potrebné.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Nemožno iniciovať prenos príkazom PASV.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Nemôžem analyzovať odpoveď na PASV.\n"
 
 # , c-format
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "nemôžem sa pripojiť k %s port %d: %s\n"
 
 # , c-format
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Chyba pri operácii \"bind\" (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Neplatný PORT.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -275,7 +341,7 @@ msgstr ""
 "REST zlyhal, začínam odznova.\n"
 
 # , c-format
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -285,7 +351,7 @@ msgstr ""
 "\n"
 
 # , c-format
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -294,49 +360,45 @@ msgstr ""
 "Súbor alebo adresár `%s' neexistuje.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s bol odpružený do existencie.\n"
 
 # , c-format
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, uzatváram riadiace spojenie.\n"
 
 # , c-format
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Dátové spojenie: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Riadiace spojenie uzatvorené.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Prenos dát bol predčasne ukončený.\n"
 
 # , c-format
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "Súbor `%s' je už tam, nebudem ho prenášať.\n"
 
 # , c-format
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(pokus:%2d)"
 
 # , c-format
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -346,38 +408,35 @@ msgstr ""
 "\n"
 
 # , c-format
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Odstraňujem %s.\n"
 
 # , c-format
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Zoznam súborov bude dočasne uložený v `%s'.\n"
 
 # , c-format
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Odstránené `%s'.\n"
 
 # , c-format
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Hĺbka rekurzie %d prekročila maximálnu povolenú hĺbku %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Vzdialený súbor nie je novší ako miestny súbor `%s' -- neprenášam.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -387,8 +446,7 @@ msgstr ""
 "\n"
 
 # , c-format
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -397,12 +455,12 @@ msgstr ""
 "Veľkosti se nezhodujú (miestny %s) -- prenášam.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Neplatný názov symoblického odkazu, preskakujem.\n"
 
 # , c-format
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -412,43 +470,45 @@ msgstr ""
 "\n"
 
 # , c-format
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Vytváram symbolický odkaz %s -> %s\n"
 
 # , c-format
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Symbolické odkazy nie sú podporované, preskakujem symbolický odkaz `%s'.\n"
+msgstr ""
+"Symbolické odkazy nie sú podporované, preskakujem symbolický odkaz `%s'.\n"
 
 # , c-format
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Preskakujem adresár `%s'.\n"
 
 # , c-format
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: neznámy/nepodporovaný typ súboru.\n"
 
 # , c-format
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: časové značka súboru je porušená.\n"
 
 # , c-format
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Nebudem prenášať adresáre, pretože sme už v hĺbke %d (maximum je %d).\n"
+msgstr ""
+"Nebudem prenášať adresáre, pretože sme už v hĺbke %d (maximum je %d).\n"
 
 # , c-format
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr ""
@@ -456,227 +516,161 @@ msgstr ""
 "nebol určený na prechádzanie.\n"
 
 # , c-format
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Odmietam `%s'.\n"
 
 # , c-format
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Chyba pri zápise do `%s': %s\n"
+
+# , c-format
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Vzoru `%s' nič nezodpovedá.\n"
 
 # , c-format
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Výpis adresára v HTML formáte bol zapísaný do `%s' [%s].\n"
 
 # , c-format
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Výpis adresára v HTML formáte bol zapísaný do `%s'.\n"
 
-# , c-format
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: voľba `%s' nie je jednoznačná\n"
-
-# , c-format
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: voľba `--%s' nepodporuje parameter\n"
-
-# , c-format
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: voľba `%c%s' nepodporuje parameter\n"
-
-# , c-format
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: voľba `%s' vyžaduje parameter\n"
-
-# , c-format
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: neznáma voľba `--%s'\n"
-
-# , c-format
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: neznáma voľba `%c%s'\n"
-
-# , c-format
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: neprípustná voľba -- %c\n"
-
-# , c-format
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: neplatná voľba -- %c\n"
-
-# , c-format
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: voľba vyžaduje parameter -- %c\n"
-
-# , c-format
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: voľba `-W %s' nie je jednoznačná\n"
-
-# , c-format
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: voľba `-W %s' nepodporuje parameter\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Neznámy hostiteľ"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Dočasné zlyhanie pri prevode mena"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Neznáma chyba"
 
 # , c-format
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Prevádzam %s na IP adresu... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "zlyhalo: Hostiteľ nemá IPv4/IPv6 adresy.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "zlyhalo: časový limit vypršal.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Nemôžem rozložiť neúplný odkaz %s.\n"
 
 # , c-format
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: Neplatné URL %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Požiadavku HTTP nebolo možné odoslať: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Bez hlavičiek, predpokladám HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "Deaktivujem SSL z dôvodu výskytu chýb.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "Chýba POST dátový súbor `%s': %s\n"
 
 # , c-format
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Používam existujúce spojenie s %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Zlyhalo čítanie odpovede z proxy: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Tunelovanie proxy zlyhalo: %s"
 
 # , c-format
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s požiadavka odoslaná, čakám na odpoveď... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Neboli prijaté žiadne dáta.\n"
 
 # , c-format
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Chyba (%s) pri čítaní hlavičiek.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+# , c-format
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Súbor `%s' je už tam, nebudem ho prenášať.\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Neznámy spôsob autentifikácie.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Autorizácia zlyhala.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Odpoveď servera má skomolený stavový riadok"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(bez popisu)"
 
 # , c-format
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Presmerované na: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "neudané"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [nasledujem]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -686,63 +680,63 @@ msgstr ""
 "    Tento súbor je už kompletne prenesený; netreba nič robiť.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Dĺžka:  "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignorované"
 
-#: src/http.c:2019
+# , c-format
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Ukladám do: `%s'\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Upozornenie: HTTP nepodporuje žolíkové znaky.\n"
 
-# , c-format
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr "Súbor `%s' je už tam, nebudem ho prenášať.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Povolený režim pavúka. Skontrolujte, či vzdialený súbor existuje.\n"
 
 # , c-format
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Nemožno zapísať do `%s' (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Nepodarilo sa nadviazať SSL spojenie.\n"
 
 # , c-format
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "CHYBA: Presmerovanie (%d) bez udanej novej adresy.\n"
 
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Vzdialený súbor neexistuje -- poškodený odkaz!!!\n"
+
 # , c-format
-#: src/http.c:2290
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s CHYBA %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Hlavička Last-modified chýba -- nebudú sa používať časové značky.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Hlavička Last-modified je neplatná -- ignorujem časové značky.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -752,17 +746,43 @@ msgstr ""
 "\n"
 
 # , c-format
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Veľkosti se nezhodujú (miestny %s) -- prenášam.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Vzdialený súbor je novší, prenášam.\n"
 
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Vzdialený súbor existuje a mohol by obsahovať odkazy na iné zdroje -- "
+"prenášam.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Vzdialený súbor, ale neobsahuje žiadne odkazy -- neprenášam.\n"
+"\n"
+
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Vzdialený súbor existuje, ale rekurzia nie je povolená -- neprenášam.\n"
+"\n"
+
 # , c-format
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -772,129 +792,118 @@ msgstr ""
 "\n"
 
 # , c-format
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - Spojenie uzatvorené na bajte %s. "
 
 # , c-format
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Spojenie uzatvorené na bajte %s/%s. "
-
-# , c-format
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Chyba pri čítaní na bajte %s (%s)."
 
 # , c-format
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Chyba pri čítaní na bajte %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC ukazuje na %s a ten neexistuje.\n"
 
 # , c-format
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Nemožno prečítať %s (%s).\n"
 
 # , c-format
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Chyba v %s na riadku %d.\n"
 
 # , c-format
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Chyba syntaxe v %s na riadku %d.\n"
 
 # , c-format
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Neznámy príkaz `%s' v %s na riadku %d.\n"
 
 # , c-format
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Upozornenie: Systémový aj používateľov súbor wgetrc sú uložené v `%s'.\n"
+msgstr ""
+"%s: Upozornenie: Systémový aj používateľov súbor wgetrc sú uložené v `%s'.\n"
 
 # , c-format
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Neplatný príkaz --execute `%s'\n"
 
 # , c-format
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Neplatná logická hodnota `%s'; použite `on' alebo `off'.\n"
 
 # , c-format
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: Neplatná rozšírená logická hodnota `%s';\n"
-"použite jedno z `on', `off', `always' alebo `never'.\n"
-
-# , c-format
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Neplatné číslo `%s'.\n"
 
 # , c-format
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Neplatná hodnota bajtu `%s'.\n"
 
 # , c-format
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Neplatný časový interval `%s'.\n"
 
 # , c-format
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Neplatná hodnota `%s'.\n"
 
 # , c-format
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Neplatná hlaavička `%s'.\n"
 
 # , c-format
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Neplatný typ postupu `%s'.\n"
 
 # , c-format
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Neplatné obmedzenie `%s', použite `unix' alebo `windows'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Neplatné obmedzenie `%s', použite [unix|windows], [lowercase|"
+"uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -903,9 +912,7 @@ msgstr ""
 "\n"
 "%s prijaté, presmerovávam výstup do `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -914,18 +921,18 @@ msgstr ""
 "\n"
 "%s prijatých.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; vypínam protokolovanie.\n"
 
 # , c-format
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Použitie: %s [VOĽBA]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -933,83 +940,99 @@ msgstr ""
 "Parametre povinné pri dlhých voľbách sú povinné aj pre skrátené voľby.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Spustenie:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           zobraziť verziu programu Wget a skončiť.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              vytlačiť túto pomoc.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        prejsť do pozadia po spustení.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=PRÍKAZ    vykonať príkaz štýlu .wgetrc.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Zaznamenávanie a vstupný súbor:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=SÚBOR   zaznamenať správy do SÚBORu.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=SÚBOR pridať správy do SÚBORu.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug               vytlačiť množstvo ladiacich informácií.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              vytlačiť ladiaci výstup Watt-32.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               potichu (bez výstupu).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             byť táravý (toto je štandard).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --no-verbose          vypnúť táravosť bez toho, aby bolo ticho.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          vypnúť táravosť bez toho, aby bolo ticho.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
-msgstr "  -i,  --input-file=SÚBOR    stiahnuť URL, ktoré sa nachádzajú v SÚBORe.\n"
+msgstr ""
+"  -i,  --input-file=SÚBOR    stiahnuť URL, ktoré sa nachádzajú v SÚBORe.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          spracovať vstupný súbor ako HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            predradiť URL k relatívnym odkazom v -F -i súbor.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            predradiť URL k relatívnym odkazom v -F -i "
+"súbor.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Sťahovanie:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=ČÍSLO             nastaviť počet opakovaní na ČÍSLO (0 neobmedzene).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=ČÍSLO             nastaviť počet opakovaní na ČÍSLO (0 "
+"neobmedzene).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       pokús sa znova, aj keď bolo spojenie odmietnuté.\n"
+msgstr ""
+"       --retry-connrefused       pokús sa znova, aj keď bolo spojenie "
+"odmietnuté.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O,  --output-document=SÚBOR   zapísať dokumenty do SÚBORu.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
@@ -1017,15 +1040,19 @@ msgstr ""
 "  -nc, --no-clobber              preskočiť sťahovania, ktoré by prepísali\n"
 "                                 existujúce súbory.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                obnoviť získavanie čiastočne stiahnutého súboru.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                obnoviť získavanie čiastočne stiahnutého "
+"súboru.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=TYP            zvoliť typ zobrazenia postupu.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
@@ -1033,396 +1060,556 @@ msgstr ""
 "  -N,  --timestamping            nesťahovať opäť súbory, iba ak sú novšie\n"
 "                                 ako miestne.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         vytlačiť odpoveď servera.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  nesťahovať nič.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SEKUNDY         nastaviť všetky hodnoty časových limitov na SEKUNDY.\n"
+msgstr ""
+"  -T,  --timeout=SEKUNDY         nastaviť všetky hodnoty časových limitov na "
+"SEKUNDY.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SEKUNDY     nastaviť časový limit DNS vyhľadávania na SEKUNDY.\n"
+msgstr ""
+"       --dns-timeout=SEKUNDY     nastaviť časový limit DNS vyhľadávania na "
+"SEKUNDY.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SEKUNDY nastaviť časový limit spojenia na SEKUNDY.\n"
+msgstr ""
+"       --connect-timeout=SEKUNDY nastaviť časový limit spojenia na SEKUNDY.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=SEKUNDY    nastaviť časový limit čítania na SEKUNDY.\n"
+msgstr ""
+"       --read-timeout=SEKUNDY    nastaviť časový limit čítania na SEKUNDY.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SEKUNDY            počkať SEKUNDY medzi sťahovaniami.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=SEKÚND        počkať 1..SEKÚND medzi pokusmi o sťahovanie.\n"
-
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait             počkať od 0...2*POČKAŤ sekúnd medzi sťahovaniami.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SEKÚND        počkať 1..SEKÚND medzi pokusmi o "
+"sťahovanie.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   explicitne zapnúť proxy.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             počkať od 0...2*POČKAŤ sekúnd medzi "
+"sťahovaniami.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                explicitne vypnúť proxy.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
 msgstr "  -Q,  --quota=ČÍSLO             nastaviť limit sťahovania na ČÍSLO.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=ADRESA     zviazať s ADRESOU (meno hostiteľa alebo IP) na miestnom hostiteľovi.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADRESA     zviazať s ADRESOU (meno hostiteľa alebo IP) "
+"na miestnom hostiteľovi.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=RÝCHLOSŤ     obmedziť rýchlosť sťahovania na RÝCHLOSŤ.\n"
+msgstr ""
+"       --limit-rate=RÝCHLOSŤ     obmedziť rýchlosť sťahovania na RÝCHLOSŤ.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache            zakázať dočasné ukladanie DNS vyhľadávania.\n"
+msgstr ""
+"       --no-dns-cache            zakázať dočasné ukladanie DNS "
+"vyhľadávania.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=OS  obmedziť znaky v názvoch súborov na tie, ktoré povoľuje OS.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  obmedziť znaky v názvoch súborov na tie, "
+"ktoré povoľuje OS.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ignorovať veľkosť písmen pri porovnávaní "
+"súborov/adresárov.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              pripájať sa len na adresy IPv4.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              pripájať sa len na adresy IPv6.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=RODINA    pripájať sa najskôr k adresám zadanej rodiny,\n"
+"       --prefer-family=RODINA    pripájať sa najskôr k adresám zadanej "
+"rodiny,\n"
 "                                 jedno z IPv6, IPv4 alebo none.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=POUŽÍVATEĽ         nastaviť ftp a http používateľov na POUŽÍVATEĽ.\n"
+msgstr ""
+"       --user=POUŽÍVATEĽ         nastaviť ftp a http používateľov na "
+"POUŽÍVATEĽ.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr "       --password=HESLO          nastaviť ftp a http heslo na HESLO.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Adresáre:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           nevytvárať adresáre.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        vynútiť vytváranie adresárov.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories      nevytvárať adresáre hostiteľa.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     použiť názov protokolu v adresároch.\n"
+msgstr ""
+"       --protocol-directories     použiť názov protokolu v adresároch.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PREDP   uložiť súbory do PREDP/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cur-dirs=POČET           ignorovať POČET vzdialených častí názvu adresára.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cur-dirs=POČET           ignorovať POČET vzdialených častí názvu "
+"adresára.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP voľby:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
-msgstr "       --http-user=POUŽÍVATEĽ  nastaviť http používateľa na POUŽÍVATEĽ.\n"
+msgstr ""
+"       --http-user=POUŽÍVATEĽ  nastaviť http používateľa na POUŽÍVATEĽ.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=HESLO   nastaviť http heslo na HESLO.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              nepovoliť dočasne uložené dáta na serveri.\n"
+msgstr ""
+"       --no-cache              nepovoliť dočasne uložené dáta na serveri.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        uložiť HTML dokumenty s príponou `.html'.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        uložiť HTML dokumenty s príponou `.html'.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         ignorovať `Content-Length' pole hlavičky.\n"
+msgstr ""
+"       --ignore-length         ignorovať `Content-Length' pole hlavičky.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=REŤAZEC        vložiť REŤAZEC do hlavičky.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          maximum povolených presmerovaní na stránku.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=POUŽÍVATEĽ nastaviť POUŽÍVATEĽa ako používateľa proxy.\n"
+msgstr ""
+"       --proxy-user=POUŽÍVATEĽ nastaviť POUŽÍVATEĽa ako používateľa proxy.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-password=HESLO  nastaviť HESLO ako heslo proxy.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           zahrnúť hlavičku `Referer: URL' do HTTP požiadavky.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           zahrnúť hlavičku `Referer: URL' do HTTP "
+"požiadavky.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          uložiť HTTP hlavičky do súboru.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT      identifikovať sa ako AGENT namiesto Wget/VERZIA.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identifikovať sa ako AGENT namiesto Wget/"
+"VERZIA.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    zakázať HTTP keep-alive (trvalé spojenia).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    zakázať HTTP keep-alive (trvalé spojenia).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            nepoužívať koláčiky.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=SÚBOR    načítať koláčiky zo SÚBORu pred sedením.\n"
+msgstr ""
+"       --load-cookies=SÚBOR    načítať koláčiky zo SÚBORu pred sedením.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
 msgstr "       --save-cookies=SÚBOR    uložiť koláčiky do SÚBORu po sedení.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  načítať a uložiť koláčiky sedenia (nie trvalé).\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  načítať a uložiť koláčiky sedenia (nie "
+"trvalé).\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=REŤAZEC     použiť POST metódu; poslať REŤAZEC ako dáta.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=REŤAZEC     použiť POST metódu; poslať REŤAZEC ako dáta.\n"
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=SÚBOR       použiť POST metódu; poslať obsah SÚBORu.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=SÚBOR       použiť POST metódu; poslať obsah SÚBORu.\n"
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   dodržať hlavičku Content-Disposition pri\n"
+"                               voľbe miestnych názvov súborov\n"
+"                               (EXPERIMENTÁLNE).\n"
 
-#: src/main.c:547
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "Voľby HTTPS (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR     vybrať bezpečný protokol, jeden z auto, SSLv2,\n"
+"       --secure-protocol=PR     vybrať bezpečný protokol, jeden z auto, "
+"SSLv2,\n"
 "                                SSLv3 alebo TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr "       --no-check-certificate   noverovať certifikát servera.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=SÚBOR      súbor certifikátu klienta.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TYP   typ certifikátu klienta, PEM alebo DER.\n"
+msgstr ""
+"       --certificate-type=TYP   typ certifikátu klienta, PEM alebo DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=SÚBOR      súbor súkromného kľúča.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TYP   typ súkromného kľúča, PEM alebo DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=SÚBOR   súbor s balíkom CA.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=ADR       adresár, kde je uložený hašovaný zoznam CA.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=ADR       adresár, kde je uložený hašovaný zoznam CA.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=SÚBOR      súbor s náhodnými dátami, pre spustenie SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=SÚBOR      súbor s náhodnými dátami, pre spustenie SSL "
+"PRNG.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=SÚBOR         súbor s pomenovaním EGD zásuvky s náhodnými dátami.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=SÚBOR         súbor s pomenovaním EGD zásuvky s náhodnými "
+"dátami.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP voľby:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
-msgstr "       --ftp-user=POUŽÍVATEĽ   nastaviť ftp používateľa na POUŽÍVATEĽ.\n"
+msgstr ""
+"       --ftp-user=POUŽÍVATEĽ   nastaviť ftp používateľa na POUŽÍVATEĽ.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=HESLO    nastaviť ftp heslo na HESLO.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     neodstraňovať súbory `.listing'.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               pri FTP vypnúť používanie divokých znakov v názvoch súborov.\n"
+msgstr ""
+"       --no-glob               pri FTP vypnúť používanie divokých znakov v "
+"názvoch súborov.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr "       --no-passive-ftp        zakázať \"pasívny\" režim prenosu.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
-msgstr "       --retr-symlinks         pri rekurzii získať spojené súbory (nie adresáre).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         pri rekurzii získať spojené súbory (nie "
+"adresáre).\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr "       --preserve-permissions  zachovať práva vzdialených súborov.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Rekurzívne sťahovanie:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          nastaviť rekurzívne sťahovanie.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=ČÍSLO        maximálna hĺbka rekurzie (inf alebo 0 pre nekonečno).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=ČÍSLO        maximálna hĺbka rekurzie (inf alebo 0 pre "
+"nekonečno).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after       odstrániť miestne súbory po ich stiahnutí.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       odstrániť miestne súbory po ich stiahnutí.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links      zmeniť odkazy v stiahnutých HTML tak, aby ukazovaly na miestne súbory.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      zmeniť odkazy v stiahnutých HTML tak, aby "
+"ukazovaly na miestne súbory.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   pred konverziou súboru X, zazálohovať ho ako X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   pred konverziou súboru X, zazálohovať ho ako X."
+"orig.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             skratka pre -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             skratka pre -N -r -l inf --no-remove-listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    získaž všetky obrázky, atď. potrebné pre zobrazenie HTML stránky.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    získaž všetky obrázky, atď. potrebné pre "
+"zobrazenie HTML stránky.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    zapnúť striktné (SGML) spracovávanie HTML komentárov.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    zapnúť striktné (SGML) spracovávanie HTML "
+"komentárov.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Rekurzívne akceptovanie/odmietnutie:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=ZOZNAM             čiarkou oddelený zoznam akceptovaných prípon.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=ZOZNAM             čiarkou oddelený zoznam akceptovaných "
+"prípon.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=ZOZNAM             čiarkou oddelený zoznam odmietnutých prípon.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=ZOZNAM             čiarkou oddelený zoznam odmietnutých "
+"prípon.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=ZOZNAM            čiarkou oddelený zoznam akceptovaných domén.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=ZOZNAM            čiarkou oddelený zoznam akceptovaných "
+"domén.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=ZOZNAM    čiarkou oddelený zoznam odmietnutých domén.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=ZOZNAM    čiarkou oddelený zoznam odmietnutých "
+"domén.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                nasledovať FTP odkazy z HTML dokumentov.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                nasledovať FTP odkazy z HTML dokumentov.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=ZOZNAM        čiarkou oddelený zoznam nasledovaných HTML značiek.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=ZOZNAM        čiarkou oddelený zoznam nasledovaných "
+"HTML značiek.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=ZOZNAM        čiarkou oddelený zoznam ignorovaných HTML značiek.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=ZOZNAM        čiarkou oddelený zoznam ignorovaných HTML "
+"značiek.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                prejsť na cudzích hostiteľov pri rekurzii.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                prejsť na cudzích hostiteľov pri "
+"rekurzii.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  nasledovať len relatívne odkazy.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=ZOZNAM zoznam povolených adresárov.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=ZOZNAM zoznam vynechaných adresárov.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                 nevystupovať do rodičovského adresára.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+"  -np, --no-parent                 nevystupovať do rodičovského adresára.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr ""
 "Správy o chybách a návrhy na vylepšenie zasielajte na adresu\n"
 "<bug-wget@gnu.org> (iba anglicky).\n"
-"Komentáre k slovenskému prekladu zasielajte na adresu <sk-i18n@lists.linux.sk>.\n"
+"Komentáre k slovenskému prekladu zasielajte na adresu <sk-i18n@lists.linux."
+"sk>.\n"
 
 # , c-format
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s, program pre neinteraktívne sťahovanie súborov.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Autorské práva (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Autorské práva (C) 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Tento program je šírený v nádeji, že bude užitočný, avšak\n"
-"BEZ AKEJKOĽVEK ZÁRUKY; neposkytujú sa ani odvodené záruky PREDAJNOSTI \n"
-"alebo VHODNOSTI PRE URČITÝ ÚČEL. Ďaľšie podrobnosti hľadajte \n"
-"vo Všeobecnej verejnej licencii GNU.\n"
-
-#: src/main.c:665
+"Licencia GPLv3+: GNU GPL verzia 3 alebo novšia\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Toto je slobodný softvér: môžete ho ľubovoľne meniť a distribuovať.\n"
+"BEZ ZÁRUKY v rozsahu povolenom zákonom.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1430,213 +1617,241 @@ msgstr ""
 "\n"
 "Pôvodným autorom tohoto programu je Hrvoje Nikšić <hniksic@xemacs.com>\n"
 
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Momentálne spravovuje Micah Cowan <micah@cowan.name>.\n"
+
 # , c-format
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Príkaz `%s --help' vypíše viac volieb.\n"
 
 # , c-format
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: neprípustná voľba -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Nie je možné byť uhovorený a byť ticho zároveň.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Nie je možné používať časové značky a nemazať pritom staré súbory.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Nemôžete zadať naraz --inet4-only a --inet6-only.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Nie je možné zadať -r, -p alebo -N ak je zadané -O.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Nemôžete zadať naraz -k a -O ak sú zadané viaceré URL.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: chýba URL\n"
 
 # , c-format
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "V %s neboli nájdené URL.\n"
 
 # , c-format
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "UKONČENÉ --%s--\n"
-"Stiahnutych %s bajtov v %d súboroch\n"
+"Stiahnutych: %d súborov, %s v %s (%s)\n"
 
 # , c-format
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "PREKROČENÝ limit objemu stiahnutych dát (%s bajtov)!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Limit objemu stiahnutych dát %s PREKROČENÝ!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Pokračujem v behu na pozadí.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Pokračujem v behu na pozadí, pid %lu.\n"
 
 # , c-format
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Výstup bude zapísaný do `%s'.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Nemôžem nájsť použiteľný ovládač soketov.\n"
 
 # , c-format
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d varovanie: token \"%s\" je uvedený pred akýmkoľvek názvom počítača\n"
+msgstr ""
+"%s: %s:%d varovanie: token \"%s\" je uvedený pred akýmkoľvek názvom "
+"počítača\n"
 
 # , c-format
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: neznámy token \"%s\"\n"
 
 # , c-format
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Použitie: %s NETRC [NÁZOV_POČÍTAČA]\n"
 
 # , c-format
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: volanie `stat %s' skončilo s chybou: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "UPOZORNENIE: používané slabé spúšťacie zrnko pre náhodné čísla.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr "Nemôžem inicializovať PRNG; zvážte použitie --random-file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "CHYBA"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "UPOZORNENIE"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: %s neprezentoval certifikát.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: Chyba overenia certifikátu pre %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: nie je možné overiť certifikát pre %s, vydaný `%s'.\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Nie je možné miestne overiť autoritu vydavateľa.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Vyskytol sa certifikát podpísaný samým sebou.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Vydaný certifikát je ešte neplatný.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Vydanému certifikátu vypršala platnosť.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: bežné meno certifikátu `%s' sa nezhoduje s požadovaným menom hostiteľa `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: bežné meno certifikátu `%s' sa nezhoduje s požadovaným menom hostiteľa `%"
+"s'.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
 msgstr "Na nie bezpečné pripojenie k %s použite `--no-check-certificate'.\n"
 
 # , c-format
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ preskakujem %dK ]"
+"%*s[ preskakujem %sK ]"
 
 # , c-format
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Neplatná bodková špecifikácia `%s'; ponechávam nezmenené.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  odh %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   za "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "Nepodarilo sa získať frekvenciu hodín reálneho času: %s\n"
 
 # , c-format
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Odstraňujem %s, pretože by mal byť odmietnutý.\n"
 
 # , c-format
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "Nepodarilo sa otvoriť %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Načítavam robots.txt. Chybové hlásenia ignorujte, prosím.\n"
 
 # , c-format
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Chyba pri analýze proxy URL %s: %s\n"
 
 # , c-format
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Chyba v proxy URL %s: Musí byť HTTP.\n"
 
 # , c-format
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "Prekročený limit %d presmerovaní.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1644,7 +1859,7 @@ msgstr ""
 "Vzdávam to.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1652,51 +1867,81 @@ msgstr ""
 "Skúšam znova.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Neboli nájdené poškodené odkazy.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Nájdených %d poškodených odkazov.\n"
+"\n"
+msgstr[1] ""
+"Nájdený %d poškodený odkaz.\n"
+"\n"
+msgstr[2] ""
+"Nájdené %d poškodené odkazy.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Bez chyby"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Nepodporovaná schéma"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Neplatný názov hostiteľa"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Zlé číslo portu"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Neplatné meno používateľa"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Neukončená číselná adresa pre IPv6"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 adresy nie sú podporované"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Neplatná číselná adresa IPv6"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Pokračujem v behu na pozadí, pid %d.\n"
 
 # , c-format
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Nebolo možné odstrániť symbolický odkaz `%s': %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: Zlyhalo vyžiadanie %ld bajtov; pamäť je vyčerpaná.\n"
index dc0a00118e1cf7922c2e4508b8df33f029685e57..3c377fbb9d8056feaba9ffce4a4011e258350ce3 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -1,7 +1,7 @@
 # -*- mode:po; coding:iso-latin-2; -*- Slovenian messages for GNU Wget
 # Copyright (C) 2003 Free Software Foundation, Inc.
 # Roman Maurer <roman.maurer@hermes.si>, 2001.
-# $Id: sl.po 2054 2005-08-16 22:00:05Z mtortonesi $
+# $Id: wget-1.9-b5.sl.po,v 1.6 2003/10/13 08:10:33 romanm Exp $
 #
 # Spremembe:
 #
@@ -19,7 +19,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9-b5\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2003-10-13 10:00+0200\n"
 "Last-Translator: Roman Maurer <roman.maurer@hermes.si>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -27,28 +28,93 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "Ni moè pretvoriti '%s' v naslov za povezavo. Vraèam na KATERIKOLI.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: izbira `%s' je dvoumna\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Povezujem se na %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: izbira `--%s' ne dopu¹èa dodatnih argumentov\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: izbira `%c%s' ne dopu¹èa dodatnih argumentov\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: izbira `%s' zahteva argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: neprepoznana izbira `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: neznana izbira `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: nedovoljena izbira -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: neveljavna izbira -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: izbira zahteva argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: izbira '-W %s' je dvoumna\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: izbira `-W %s' ne dopu¹èa dodatnih argumentov\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Povezujem se na %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Povezujem se na %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "prikljuèen.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "spodletelo: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Ni moè izbrisati ,%s`: %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Pretvorjenih %d datotek v %.2f sekundah.\n"
 
 #: src/convert.c:197
@@ -70,129 +136,153 @@ msgstr "Ne morem pretvoriti povezav v %s: %s\n"
 msgid "Unable to delete `%s': %s\n"
 msgstr "Ni moè izbrisati ,%s`: %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Ni mogoèe varnostno shraniti %s kot %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Napaka pri nastavitvi pi¹kota, polje ,%s`"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Skladenjska napaka v Set-Cookie: %s na mestu %d.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Datoteke s piðkoti ,%s` ni moè odpreti: %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Napaka pri pisanju v ,%s`: %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Napaka pri zapiranju ,%s`: %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Nepodprta vrsta seznama, posku¹am z razèlenjevalnikom seznama za Unix.\n"
+msgstr ""
+"Nepodprta vrsta seznama, posku¹am z razèlenjevalnikom seznama za Unix.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Kazalo imenika /%s na %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "neznan èas         "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Datoteka    "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Imenik      "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Povezava    "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Neznano     "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bajtov)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Dol¾ina: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (neavtorizirana)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Prijavljam se kot %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Napaèen odgovor, zapiram nadzorno povezavo.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Napaka v pozdravu stre¾nika.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Pisanje neuspe¹no, zapiram nadzorno povezavo.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Stre¾nik zavraèa prijavo.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Napaèna prijava.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Prijavljen!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Napaka v stre¾niku, vrste sistema ni moè ugotoviti.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "opravljeno. "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "konèano.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Neznan tip `%c', zapiram nadzorno zvezo.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "opravljeno."
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD ni potreben.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -201,43 +291,33 @@ msgstr ""
 "Ni imenika z imenom `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD ni zahtevan.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Ne morem zaèeti prenosa PASV.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Ne morem razèleniti odgovora PASV.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "ni se bilo moè povezati z %s:%hu: %s.\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Napaka pri povezovanju (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Neveljaven PORT.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST neuspe¹en; ne bom skraj¹al ,%s`.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -245,7 +325,7 @@ msgstr ""
 "\n"
 "REST neuspe¹en, zaèenjam znova.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -254,7 +334,7 @@ msgstr ""
 "Ni datoteke `%s'.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -263,86 +343,74 @@ msgstr ""
 "Ni datoteke ali imenika `%s'.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Dol¾ina: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [¹e %s]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (neavtorizirana)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, zapiram nadzorno zvezo.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Podatkovna zveza: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Nadzorna zveza prekinjena.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Prenos podatkov prekinjen.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Datoteka `%s' ¾e obstaja, ne jemljem.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(posk:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' posnet [%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Odstranjujem %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Uporabljam `%s' kot zaèasno datoteko za izpis.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Odstranil `%s'.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Globina rekurzije %d presega najveèjo dovoljeno %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Datoteka na stre¾niku ni novej¹a kot lokalna ,%s` -- ne prena¹am.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -351,21 +419,20 @@ msgstr ""
 "Datoteka na stre¾niku je novej¹a kot lokalna ,%s` -- prena¹am.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "Velikosti se ne ujemata (lokalna %ld) -- prena¹am.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Neveljavno ime simbolne povezave, preskakujem.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -374,235 +441,187 @@ msgstr ""
 "Obstaja ¾e pravilna simbolna povezava %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Ustvarjam simbolno povezavo %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Povezave niso podprte, preskakujem simbolno povezavo `%s'.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Preskakujem imenik `%s'.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: neznana/nepodprta vrsta datoteke.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: okvarjena oznaèba èasa.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Ne jemljem imenikov, ker je globina %d (maksimalno %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Ne grem v `%s', ker je izkljuèen ali pa ni vkljuèen.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Zavraèam `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Napaka pri pisanju v ,%s`: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Ni zadetkov za vzorec `%s'.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Kazalo v HTML zapisal kot `%s' [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Kazalo v HTML zapisal kot `%s'.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "Ni moè zasejati PRNG za OpenSSL; SSL onemogoèen.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: izbira `%s' je dvoumna\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: izbira `--%s' ne dopu¹èa dodatnih argumentov\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: izbira `%c%s' ne dopu¹èa dodatnih argumentov\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: izbira `%s' zahteva argument\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: neprepoznana izbira `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: neznana izbira `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: nedovoljena izbira -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: neveljavna izbira -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: izbira zahteva argument -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Neznana napaka"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: izbira '-W %s' je dvoumna\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: izbira `-W %s' ne dopu¹èa dodatnih argumentov\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Neznana napaka"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Razre¹uje se %s..."
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "spodletelo: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "spodletelo: zakasnitev.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Gostitelj ni bil najden"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Neznana napaka"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Ni moè razre¹iti nepopolne povezave %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Vzpostavljanje konteksta SSL ni uspelo.\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Neveljavna vrednost '%s'\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Ni bilo moè nalo¾iti certifikatov od %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Posku¹am brez doloèenega certifikata\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "Napaka pri pisanju zahteve HTTP: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Ni bilo moè dobiti certifikatskega kljuèa od %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Povezave SSL ni bilo moè vzpostaviti.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Znova uporabljam povezavo z %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "Napaka pri pisanju zahteve HTTP: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s zahteva poslana, èakam odgovor... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Pri razèlenjevanju glave naletel na konec datoteke.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Brez sprejetih podatkov"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Napaka pri branju glave (%s).\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Brez sprejetih podatkov"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Datoteka `%s' ¾e obstaja, ne jemljem.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Neznata metoda avtentifikacije.\n"
 
-#: src/http.c:1130
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Avtorizacija neuspe¹na.\n"
+
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Zmalièena statusna linija"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(brez opisa)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Avtorizacija neuspe¹na.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Neznata metoda avtentifikacije.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Polo¾aj: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "nedoloèen"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [spremljam]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -612,70 +631,59 @@ msgstr ""
 "    Datoteka je ¾e popolnoma prene¹ena; niè ni za storiti.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Nadaljevani prenos za to datoteko ni uspel, kar se tepe z ,-c`.\n"
-"Noèem prepisati obstojeèe datoteke ,%s`.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Dol¾ina: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (¹e %s)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "prezrta"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Preskakujem imenik `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Pozor: HTTP ne podpira d¾okerjev.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Datoteka `%s' ¾e obstaja, ne jemljem.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Ne morem pisati v `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Povezave SSL ni bilo moè vzpostaviti.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "NAPAKA: Preusmeritev (%d) brez nove lokacije.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s NAPAKA %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Glava ,Last-Modified` manjka - izklapljam oznako èasa.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Neveljavna glava `Last-Modified' -- ignoriram èasovno oznako.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -684,124 +692,141 @@ msgstr ""
 "Datoteka na stre¾niku ni novej¹a kot lokalna ,%s` -- ne prena¹amo.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Velikosti se ne ujemata (lokalno %ld) -- prena¹amo.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Oddaljena datoteka je novej¹a, jemljem.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' shranjen [%ld/%ld]\n"
+"Datoteka na stre¾niku je novej¹a kot lokalna ,%s` -- prena¹am.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Zveza zaprta z bajtom ¹t. %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Datoteka na stre¾niku ni novej¹a kot lokalna ,%s` -- ne prena¹am.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Datoteka na stre¾niku ni novej¹a kot lokalna ,%s` -- ne prena¹am.\n"
+
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' shranjen [%ld/%ld])\n"
+"%s (%s) - `%s' shranjen [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Zveza zaprta z bajtom ¹t. %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Zveza zaprta z bajtom ¹t. %ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Napaka pri branju na bajtu %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Napaka pri èitanju na bajtu %ld/%ld (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC ka¾e na %s, ki ne obstaja.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Ne morem prebrati %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Napaka v %s na liniji %d.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Napaka v %s na liniji %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Napaka v %s na liniji %d.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Pozor: sistemska in uporabnikova wgetrc ka¾eta na `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Neveljaven ukaz --execute `%s'\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Neveljavni booleov '%s', uporabite `on' ali `off'.\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Neveljavni booleov '%s', uporabite ,always`, ,on`, ,off` ali ,never`.\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Neveljavno ¹tevilo `%s'\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Neveljavna vrednost bajta ,%s`\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Neveljavno èasovno obdobje `%s'\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Neveljavna vrednost '%s'\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Neveljavna glava `%s'\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Neveljavna vrsta napredka ,%s`\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: Neveljavna omejitev `%s', uporabite  `unix' ali `windows'.\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Neveljavna vrednost '%s'\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -810,28 +835,26 @@ msgstr ""
 "\n"
 "%s prejet, preusmerjam izhod na ,%s`.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Brez sprejetih podatkov"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; onemogoèeno bele¾enje.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Uporaba: %s [IZBIRA]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, orodje za neinteraktivno jemanje preko mre¾e.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -839,294 +862,566 @@ msgstr ""
 "Obvezni argumenti za dolge izbire so obvezni tudi za kratke izbire.\n"
 "\n"
 
-#: src/main.c:144
-msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+#: src/main.c:371
+msgid "Startup:\n"
 msgstr ""
-"Zagon:\n"
-"  -V,  --version           prika¾i razlièico Wgeta in se vrni.\n"
-"  -h,  --help              izpi¹i pomoè.\n"
-"  -b,  --background        po zagonu pojdi v ozadje.\n"
-"  -e,  --execute=UKAZ      izvedi ukaz v slogu `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr ""
-"Bele¾enje in vhodna datoteka:\n"
-"  -o,  --output-file=DATOTEKA    shranjuj sporoèila v DATOTEKO.\n"
-"  -a,  --append-output=DATOTEKA  dodajaj sporoèila v DATOTEKO.\n"
-"  -d,  --debug                   izpisuj razhro¹èevalni izhod.\n"
-"  -q,  --quiet                   ti¹ina (brez izpisa).\n"
-"  -v,  --verbose                 vkljuèi polni izpis (privzeto).\n"
-"  -nv, --non-verbose             izkljuèi veèino izpisa, a brez ti¹ine.\n"
-"  -i,  --input-file=DATOTEKA     poberi URL-je iz DATOTEKE.\n"
-"  -F,  --force-html              privzemi, da je vhodna datoteka HTML.\n"
-"  -B,  --base=URL                pripni URL pred relativne povezave v -F -i\n"
-"                                   datoteka.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr ""
-"Jemanje:\n"
-"  -t,  --tries=©TEVILO             nastavi ©TEVILO poskusov (0 za neskonèno).\n"
-"       --retry-connrefused         znova poskusi, tudi èe je povezava zavrnjena.\n"
-"  -O   --output-document=DATOTEKA  zapisuj dokumente v DATOTEKO.\n"
-"  -nc, --no-clobber                ne pi¹i prek obstojeèih datotek ali pa\n"
-"                                     uporabljal pripone .#.\n"
-"  -c,  --continue                  nadaljuj z jemanjem obstojeèe datoteke.\n"
-"       --progress=VRSTA            doloèi slog prikaza jemanja.\n"
-"  -N,  --timestamping              ne jemlji datotek, starej¹ih od lokalnih.\n"
-"  -S,  --server-response           izpisuj gostiteljev odziv.\n"
-"       --spider                    nièesar ne jemlji.\n"
-"  -T,  --timeout=SEKUNDE           doloèi vse zakasnitve na SEKUNDE.\n"
-"       --dns-timeout=SEKUNDE       doloèi zakasnitev poizvedbe DNS na SEKUNDE.\n"
-"       --connect-timeout=SECS      doloèi povezovalno zakasnitev na SEKUNDE.\n"
-"       --read-timeout=SECS         doloèi bralno zakasnitev na SEKUNDE.\n"
-"  -w,  --wait=SEKUNDE              poèakaj toliko SEKUND med jemanji.\n"
-"       --waitretry=SEKUNDE         poèakaj 1..SEKUNDE med ponovnimi poskusi \n"
-"                                     jemanja.\n"
-"       --random-wait               poèakaj od 0...2*WAIT sek. med jemanji.\n"
-"  -Y,  --proxy=on/off              vkljuèi ali izkljuèi zastopnika (proxy).\n"
-"  -Q,  --quota=©TEVILO             doloèi omejitev jemanja na ©TEVILO.\n"
-"       --bind-address=NASLOV       pove¾i se z NASLOVOM (ime ali IP) na \n"
-"                                     lokalnem raèunalniku.\n"
-"       --limit-rate=HITROST        omeji hitrost jemanja na HITROST.\n"
-"       --dns-cache=off             onemogoèi predpomnjenje poizvedb DNS.\n"
-"       --restrict-file-names=OS    omeji znake v imenih datotek na tiste, ki\n"
-"                                     so dovoljeni v OS.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:401
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Imeniki:\n"
-"  -nd  --no-directories             ne ustvarjaj imenikov.\n"
-"  -x,  --force-directories          vedno ustvarjaj imenike.\n"
-"  -nH, --no-host-directories        ne ustvarjaj imenikov po gostiteljih.\n"
-"  -P,  --directory-prefix=PREDPONA  shranjuj datoteke v PREDPONA/...\n"
-"       --cut-dirs=©TEVILO           ignoriraj ©TEVILO oddaljenih imenikov.\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"Izbire za HTTP:\n"
-"       --http-user=UPORABNIK   doloèi uporabnika HTTP na UPORABNIK.\n"
-"       --http-passwd=GESLO     doloèi geslo za HTTP kot GESLO.\n"
-"  -C,  --cache=on/off          dovolitev predpomnenja (navadno dovoljeno).\n"
-"  -E,  --html-extension        vse nadbesedilne spise shranjuj s pripono .html.\n"
-"       --ignore-length         ignoriraj glavo `Content-Length'.\n"
-"       --header=NIZ            vstavi NIZ v glavo.\n"
-"       --proxy-user=UPORABNIK  doloèi UPORABNIKA kot uporabnika proxy-ja.\n"
-"       --proxy-passwd=GESLO    doloèi geslo za proxy GESLO.\n"
-"       --referer=URL           vkljuèi ,Referer: URL` v zahtevek HTTP.\n"
-"  -s,  --save-headers          shranjuj glave HTTP v datoteko.\n"
-"  -U,  --user-agent=ODJEMNIK   predstavi se kot ODJEMNIK namesto Wget/RAZLIÈICA.\n"
-"       --no-http-keep-alive    onemogoèi stalne povezave HTTP.\n"
-"       --cookies=off           ne uporabljaj pi¹kotov.\n"
-"       --load-cookies=DATOT.   pred sejo nalo¾i pi¹kote iz DATOTEKE.\n"
-"       --save-cookies=DATOT.   po seji shrani pi¹kote v DATOTEKO.\n"
-"       --post-data=NIZ         uporabi metodo POST; po¹lji NIZ kot podatke.\n"
-"       --post-file=DATOTEKA    uporabi metodo POST; po¹lji vsebino DATOTEKE.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-" Izbire za HTTPS (SSL):\n"
-"       --sslcertfile=DATOTEKA    morebitni certifikat odjemnika.\n"
-"       --sslcertkey=KLJUÈI       morebitna datoteka s kljuèi za ta certifikat.\n"
-"       --egd-file=DATOTEKA       ime datoteke vtièa EGD.\n"
-"       --sslcadir=IMENIK         imenik s preskoènim seznamom CA.\n"
-"       --sslcafile=DATOTEKA      datoteka z veè CA-ji\n"
-"       --sslcerttype=0/1         vrsta odjemnika Cert 0=PEM (privzeto)\n"
-"                                                    / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1        preveri stre¾nik cert za dano CA\n"
-"       --sslprotocol=0-3         izberi protokol SSL; 0=samodejno,\n"
-"                                   1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:407
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
-"Izbire za FTP:\n"
-"  -nr, --dont-remove-listing   ne odstranjuj datotek ,.listing`.\n"
-"  -g,  --glob=on/off           vkljuèi ali izkljuèi `globbing' imen datotek.\n"
-"       --passive-ftp           uporabljaj \"pasivni\" naèin prenosa.\n"
-"       --retr-symlinks         pri rekurzivnem jemanju jemlji cilje, ne pa samih\n"
-"                                 simbolnih povezav (ne velja za imenike).\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Imenik      "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Rekurzivno jemanje:\n"
-"  -r,  --recursive            rekurzivno jemanje.\n"
-"  -l,  --level=NUMBER         najveèja dovoljena globina rekurzije (inf ali 0\n"
-"                                za neskonèno).\n"
-"       --delete-after         bri¹i krajevne datoteke, ko jih pobere¹.\n"
-"  -k,  --convert-links        pretvori absolutne povezave v relativne.\n"
-"  -K,  --backup-converted     pred pretvorbo datoteke X shrani izvorno \n"
-"                                datoteko kot X.orig.\n"
-"  -m,  --mirror               bli¾njica, ekvivalentna -r -N -l inf -nr.\n"
-"  -p,  --page-requisites      vzemi vse slike itd., potrebne za prikaz spletne\n"
-"                                strani HTML.\n"
-"       --strict-comments      vkljuèi striktno rokovanje SGML s komentarji HTML.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
-"Rekurzivno sprejemanje/zavraèanje:\n"
-"  -A,  --accept=SEZNAM               seznam sprejemljivih pripon.\n"
-"  -R,  --reject=SEZNAM               seznam zavrnljivih pripon.\n"
-"  -D,  --domains=SEZNAM              seznam sprejemljivih domen.\n"
-"       --exclude-domains=SEZNAM      seznam (z vejicami) zavrnljivih domen.\n"
-"       --follow-ftp                  sledi povezavam FTP iz spisov HTML.\n"
-"       --follow-tags=SEZNAM          seznam sledenim znaèkam HTML.\n"
-"  -G,  --ignore-tags=SEZNAM          seznam ignoriranih znaèk HTML.\n"
-"  -H,  --span-hosts                  pri rekurzivneh shranjevanju pojdi tudi\n"
-"                                       na druge raèunalnike.\n"
-"  -L,  --relative                    spremljaj samo relativne povezave.\n"
-"  -I,  --include-directories=SEZNAM  seznam dovoljenih imenikov.\n"
-"  -X,  --exclude-directories=SEZNAM  seznam nedovoljenih imenikov.\n"
-"  -np, --no-parent                   ne pojdi v star¹evski imenik.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Po¹iljajte poroèila o hro¹èih in predloge na <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: podpora za razhro¹èevanje ni vgrajena.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, orodje za neinteraktivno jemanje preko mre¾e.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Ta program se raz¹irja v upanju, da bo koristen, vendar BREZ KAKR©NEGAKOLI\n"
-"JAMSTVA; celo brez impliciranega jamstva CENOVNE VREDNOSTI ali PRIMERNOSTI\n"
-"ZA DOLOÈEN NAMEN.  Poglejte licenco GNU General Public License za podrobnosti.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1134,134 +1429,223 @@ msgstr ""
 "\n"
 "Izvorni avtor Hrvoje Nik¹iæ <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: nedovoljena izbira -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Poskusite `%s --help' za veè izbir.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: nedovoljena izbira -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Ne morem biti istoèasno izèrpen in tih.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Ne morem istoèasno upo¹tevati èasa in prepisovati starih datotek.\n"
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: manjka URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "V %s nisem na¹el nobenega URL.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "KONÈAL --%s--\n"
 "Prenesel: %s bajtov v %d datotekah\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Kvota (%s bajtov) je PREKORAÈENA!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Nadaljujem v ozadju.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Nadaljujem v ozadju, pid %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Izhod bo zapisan v `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Zaganjam WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Ne morem najti uporabnega gonilnika za vtiènice.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: pozor: beseda \"%s\" se pojavlja pred vsakim imenom stroja\n"
+msgstr ""
+"%s: %s:%d: pozor: beseda \"%s\" se pojavlja pred vsakim imenom stroja\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: neznana beseda \"%s\"\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Uporaba: %s NETRC [RAÈUNALNIK]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: ne morem pognati stat na %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "Ni moè zasejati PRNG za OpenSSL; SSL onemogoèen.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
 #, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ preskakujem %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Neveljavna doloèitev sloga pike ,%s`: ostaja nespremenjena.\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Odstranjam %s, saj bi moral biti zavrnjen.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Ne morem pretvoriti povezav v %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Nalagam robots.txt; prosim, prezrite napake.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Napaka pri razèlenjevanju URL zastopnika %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Napaka v URL zastopnika %s: Mora biti HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d preusmeritev prekoraèenih.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1269,7 +1653,7 @@ msgstr ""
 "Odneham.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1277,50 +1661,476 @@ msgstr ""
 "Posku¹am ponovno.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Brez napake"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Nepodprta shema"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Prazen gostitelj"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Neveljavno uporabnisko ime"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Slaba stevilka vrat"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Neveljavno uporabnisko ime"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Neprekinjen ¹tevilski naslov IPv6"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Naslovi IPv6 niso podprti"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Neveljaven ¹tevilski naslov IPv6"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Ni dovolj pomnilnika.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Nadaljujem v ozadju, pid %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Ne morem odstraniti simbolne povezave `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr ""
+#~ "Ni moè pretvoriti '%s' v naslov za povezavo. Vraèam na KATERIKOLI.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Napaka pri nastavitvi pi¹kota, polje ,%s`"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST neuspe¹en; ne bom skraj¹al ,%s`.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [¹e %s]"
+
+#~ msgid "Host not found"
+#~ msgstr "Gostitelj ni bil najden"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Vzpostavljanje konteksta SSL ni uspelo.\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Ni bilo moè nalo¾iti certifikatov od %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Posku¹am brez doloèenega certifikata\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Ni bilo moè dobiti certifikatskega kljuèa od %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Pri razèlenjevanju glave naletel na konec datoteke.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Nadaljevani prenos za to datoteko ni uspel, kar se tepe z ,-c`.\n"
+#~ "Noèem prepisati obstojeèe datoteke ,%s`.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (¹e %s)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Datoteka `%s' ¾e obstaja, ne jemljem.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' shranjen [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Zveza zaprta z bajtom ¹t. %ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: Neveljavni booleov '%s', uporabite ,always`, ,on`, ,off` ali ,"
+#~ "never`.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Zagon:\n"
+#~ "  -V,  --version           prika¾i razlièico Wgeta in se vrni.\n"
+#~ "  -h,  --help              izpi¹i pomoè.\n"
+#~ "  -b,  --background        po zagonu pojdi v ozadje.\n"
+#~ "  -e,  --execute=UKAZ      izvedi ukaz v slogu `.wgetrc'.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bele¾enje in vhodna datoteka:\n"
+#~ "  -o,  --output-file=DATOTEKA    shranjuj sporoèila v DATOTEKO.\n"
+#~ "  -a,  --append-output=DATOTEKA  dodajaj sporoèila v DATOTEKO.\n"
+#~ "  -d,  --debug                   izpisuj razhro¹èevalni izhod.\n"
+#~ "  -q,  --quiet                   ti¹ina (brez izpisa).\n"
+#~ "  -v,  --verbose                 vkljuèi polni izpis (privzeto).\n"
+#~ "  -nv, --non-verbose             izkljuèi veèino izpisa, a brez ti¹ine.\n"
+#~ "  -i,  --input-file=DATOTEKA     poberi URL-je iz DATOTEKE.\n"
+#~ "  -F,  --force-html              privzemi, da je vhodna datoteka HTML.\n"
+#~ "  -B,  --base=URL                pripni URL pred relativne povezave v -F -"
+#~ "i\n"
+#~ "                                   datoteka.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Jemanje:\n"
+#~ "  -t,  --tries=©TEVILO             nastavi ©TEVILO poskusov (0 za "
+#~ "neskonèno).\n"
+#~ "       --retry-connrefused         znova poskusi, tudi èe je povezava "
+#~ "zavrnjena.\n"
+#~ "  -O   --output-document=DATOTEKA  zapisuj dokumente v DATOTEKO.\n"
+#~ "  -nc, --no-clobber                ne pi¹i prek obstojeèih datotek ali "
+#~ "pa\n"
+#~ "                                     uporabljal pripone .#.\n"
+#~ "  -c,  --continue                  nadaljuj z jemanjem obstojeèe "
+#~ "datoteke.\n"
+#~ "       --progress=VRSTA            doloèi slog prikaza jemanja.\n"
+#~ "  -N,  --timestamping              ne jemlji datotek, starej¹ih od "
+#~ "lokalnih.\n"
+#~ "  -S,  --server-response           izpisuj gostiteljev odziv.\n"
+#~ "       --spider                    nièesar ne jemlji.\n"
+#~ "  -T,  --timeout=SEKUNDE           doloèi vse zakasnitve na SEKUNDE.\n"
+#~ "       --dns-timeout=SEKUNDE       doloèi zakasnitev poizvedbe DNS na "
+#~ "SEKUNDE.\n"
+#~ "       --connect-timeout=SECS      doloèi povezovalno zakasnitev na "
+#~ "SEKUNDE.\n"
+#~ "       --read-timeout=SECS         doloèi bralno zakasnitev na SEKUNDE.\n"
+#~ "  -w,  --wait=SEKUNDE              poèakaj toliko SEKUND med jemanji.\n"
+#~ "       --waitretry=SEKUNDE         poèakaj 1..SEKUNDE med ponovnimi "
+#~ "poskusi \n"
+#~ "                                     jemanja.\n"
+#~ "       --random-wait               poèakaj od 0...2*WAIT sek. med "
+#~ "jemanji.\n"
+#~ "  -Y,  --proxy=on/off              vkljuèi ali izkljuèi zastopnika "
+#~ "(proxy).\n"
+#~ "  -Q,  --quota=©TEVILO             doloèi omejitev jemanja na ©TEVILO.\n"
+#~ "       --bind-address=NASLOV       pove¾i se z NASLOVOM (ime ali IP) na \n"
+#~ "                                     lokalnem raèunalniku.\n"
+#~ "       --limit-rate=HITROST        omeji hitrost jemanja na HITROST.\n"
+#~ "       --dns-cache=off             onemogoèi predpomnjenje poizvedb DNS.\n"
+#~ "       --restrict-file-names=OS    omeji znake v imenih datotek na tiste, "
+#~ "ki\n"
+#~ "                                     so dovoljeni v OS.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Imeniki:\n"
+#~ "  -nd  --no-directories             ne ustvarjaj imenikov.\n"
+#~ "  -x,  --force-directories          vedno ustvarjaj imenike.\n"
+#~ "  -nH, --no-host-directories        ne ustvarjaj imenikov po "
+#~ "gostiteljih.\n"
+#~ "  -P,  --directory-prefix=PREDPONA  shranjuj datoteke v PREDPONA/...\n"
+#~ "       --cut-dirs=©TEVILO           ignoriraj ©TEVILO oddaljenih "
+#~ "imenikov.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Izbire za HTTP:\n"
+#~ "       --http-user=UPORABNIK   doloèi uporabnika HTTP na UPORABNIK.\n"
+#~ "       --http-passwd=GESLO     doloèi geslo za HTTP kot GESLO.\n"
+#~ "  -C,  --cache=on/off          dovolitev predpomnenja (navadno "
+#~ "dovoljeno).\n"
+#~ "  -E,  --html-extension        vse nadbesedilne spise shranjuj s pripono ."
+#~ "html.\n"
+#~ "       --ignore-length         ignoriraj glavo `Content-Length'.\n"
+#~ "       --header=NIZ            vstavi NIZ v glavo.\n"
+#~ "       --proxy-user=UPORABNIK  doloèi UPORABNIKA kot uporabnika proxy-"
+#~ "ja.\n"
+#~ "       --proxy-passwd=GESLO    doloèi geslo za proxy GESLO.\n"
+#~ "       --referer=URL           vkljuèi ,Referer: URL` v zahtevek HTTP.\n"
+#~ "  -s,  --save-headers          shranjuj glave HTTP v datoteko.\n"
+#~ "  -U,  --user-agent=ODJEMNIK   predstavi se kot ODJEMNIK namesto Wget/"
+#~ "RAZLIÈICA.\n"
+#~ "       --no-http-keep-alive    onemogoèi stalne povezave HTTP.\n"
+#~ "       --cookies=off           ne uporabljaj pi¹kotov.\n"
+#~ "       --load-cookies=DATOT.   pred sejo nalo¾i pi¹kote iz DATOTEKE.\n"
+#~ "       --save-cookies=DATOT.   po seji shrani pi¹kote v DATOTEKO.\n"
+#~ "       --post-data=NIZ         uporabi metodo POST; po¹lji NIZ kot "
+#~ "podatke.\n"
+#~ "       --post-file=DATOTEKA    uporabi metodo POST; po¹lji vsebino "
+#~ "DATOTEKE.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ " Izbire za HTTPS (SSL):\n"
+#~ "       --sslcertfile=DATOTEKA    morebitni certifikat odjemnika.\n"
+#~ "       --sslcertkey=KLJUÈI       morebitna datoteka s kljuèi za ta "
+#~ "certifikat.\n"
+#~ "       --egd-file=DATOTEKA       ime datoteke vtièa EGD.\n"
+#~ "       --sslcadir=IMENIK         imenik s preskoènim seznamom CA.\n"
+#~ "       --sslcafile=DATOTEKA      datoteka z veè CA-ji\n"
+#~ "       --sslcerttype=0/1         vrsta odjemnika Cert 0=PEM (privzeto)\n"
+#~ "                                                    / 1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1        preveri stre¾nik cert za dano CA\n"
+#~ "       --sslprotocol=0-3         izberi protokol SSL; 0=samodejno,\n"
+#~ "                                   1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Izbire za FTP:\n"
+#~ "  -nr, --dont-remove-listing   ne odstranjuj datotek ,.listing`.\n"
+#~ "  -g,  --glob=on/off           vkljuèi ali izkljuèi `globbing' imen "
+#~ "datotek.\n"
+#~ "       --passive-ftp           uporabljaj \"pasivni\" naèin prenosa.\n"
+#~ "       --retr-symlinks         pri rekurzivnem jemanju jemlji cilje, ne "
+#~ "pa samih\n"
+#~ "                                 simbolnih povezav (ne velja za "
+#~ "imenike).\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rekurzivno jemanje:\n"
+#~ "  -r,  --recursive            rekurzivno jemanje.\n"
+#~ "  -l,  --level=NUMBER         najveèja dovoljena globina rekurzije (inf "
+#~ "ali 0\n"
+#~ "                                za neskonèno).\n"
+#~ "       --delete-after         bri¹i krajevne datoteke, ko jih pobere¹.\n"
+#~ "  -k,  --convert-links        pretvori absolutne povezave v relativne.\n"
+#~ "  -K,  --backup-converted     pred pretvorbo datoteke X shrani izvorno \n"
+#~ "                                datoteko kot X.orig.\n"
+#~ "  -m,  --mirror               bli¾njica, ekvivalentna -r -N -l inf -nr.\n"
+#~ "  -p,  --page-requisites      vzemi vse slike itd., potrebne za prikaz "
+#~ "spletne\n"
+#~ "                                strani HTML.\n"
+#~ "       --strict-comments      vkljuèi striktno rokovanje SGML s "
+#~ "komentarji HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Rekurzivno sprejemanje/zavraèanje:\n"
+#~ "  -A,  --accept=SEZNAM               seznam sprejemljivih pripon.\n"
+#~ "  -R,  --reject=SEZNAM               seznam zavrnljivih pripon.\n"
+#~ "  -D,  --domains=SEZNAM              seznam sprejemljivih domen.\n"
+#~ "       --exclude-domains=SEZNAM      seznam (z vejicami) zavrnljivih "
+#~ "domen.\n"
+#~ "       --follow-ftp                  sledi povezavam FTP iz spisov HTML.\n"
+#~ "       --follow-tags=SEZNAM          seznam sledenim znaèkam HTML.\n"
+#~ "  -G,  --ignore-tags=SEZNAM          seznam ignoriranih znaèk HTML.\n"
+#~ "  -H,  --span-hosts                  pri rekurzivneh shranjevanju pojdi "
+#~ "tudi\n"
+#~ "                                       na druge raèunalnike.\n"
+#~ "  -L,  --relative                    spremljaj samo relativne povezave.\n"
+#~ "  -I,  --include-directories=SEZNAM  seznam dovoljenih imenikov.\n"
+#~ "  -X,  --exclude-directories=SEZNAM  seznam nedovoljenih imenikov.\n"
+#~ "  -np, --no-parent                   ne pojdi v star¹evski imenik.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: podpora za razhro¹èevanje ni vgrajena.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Ta program se raz¹irja v upanju, da bo koristen, vendar BREZ "
+#~ "KAKR©NEGAKOLI\n"
+#~ "JAMSTVA; celo brez impliciranega jamstva CENOVNE VREDNOSTI ali "
+#~ "PRIMERNOSTI\n"
+#~ "ZA DOLOÈEN NAMEN.  Poglejte licenco GNU General Public License za "
+#~ "podrobnosti.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Zaganjam WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Prazen gostitelj"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Ni dovolj pomnilnika.\n"
index b6df44998918a50363e0e27ee04e888933c870a2..4afc1a4df0a11e1f7c5e2cec85f5ed52cd27f449 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -9,7 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2004-01-13 10:07-0500\n"
 "Last-Translator: Aleksandar Jelenak <jelenak@netlinkplus.net>\n"
 "Language-Team: Serbian <sr@li.org>\n"
@@ -17,28 +18,93 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "„%s‟ се не може претворити у адресу за повезивање.  Покушавам ANY.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: Избор „%s‟ је двосмислен\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "Повезујем се са %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: Избор „--%s‟ се задаје без додатних аргумената\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: Избор „%c%s‟ се задаје без додатних аргумената\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: За избор „%s‟ потребан је додатни аргумент\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: Избор није препознат: „--%s‟\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: Избор није препознат: `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: неисправан избор -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: непостојећи избор -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: избор захтева аргумент -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: избор `-W %s' је двосмислен\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: избор `-W %s' не захтева аргумент\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "Повезујем се са %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "Повезујем се са %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "повезано.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "није успело: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "Не могу да обришем „%s‟: %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "Број промењених датотека: %d, време: %.2fs.\n"
 
 #: src/convert.c:197
@@ -60,129 +126,152 @@ msgstr "Везе у %s се нису могле мењати: %s\n"
 msgid "Unable to delete `%s': %s\n"
 msgstr "Не могу да обришем „%s‟: %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Не може се снимити резерва %s као %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Грешка са Set-Cookie, поље „%s‟"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Грешка са Set-Cookie: %s на месту %d.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Не могу да отворим датотеку са колачићима „%s‟: %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Грешка при упису у „%s‟: %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Грешка при затварању „%s‟: %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Тип исписа није подржан, пробам парсер за Unix спискове.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Списак за /%s на %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "непознато време    "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "Датотека    "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "Каталог     "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "Веза        "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "Није сигурно"
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s бајт(ов)(а))"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "Дужина: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (није поуздано)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Пријављујем се као %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Грешка у одговору са сервера, затварам контролну везу.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Грешка у поздравној поруци са сервера.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Упис није успео, затварам контролну везу.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Сервер не дозвољава пријаву.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Пријава није исправна.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Пријављен!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Грешка на серверу, не може се утврдити тип система.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "обављено."
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "готово.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Непознат тип `%c', затварам контролну везу.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "обављено.  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD није потребан.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -191,43 +280,33 @@ msgstr ""
 "Не постоји директоријум „%s‟.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD није потребан.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Не може се покренути PASV пренос.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Одговор на PASV команду је нечитљив.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "не могу да се повежем на %s:%hu: %s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Грешка при повезивању (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Неисправан PORT.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"REST није успео; „%s‟ неће бити одсечен.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -235,7 +314,7 @@ msgstr ""
 "\n"
 "REST није успео, почињем из почетка.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -244,7 +323,7 @@ msgstr ""
 "Не постоји датотека „%s‟.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -253,86 +332,74 @@ msgstr ""
 "Не постоји датотека или каталог „%s‟.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "Дужина: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s преостало]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (није поуздано)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, затварам контролну везу.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Веза за податке: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Затворена је контролна веза.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Пренос обустављен.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "Датотека „%s‟ већ постоји, не преузимам поново.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(пробајте:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - „%s‟ снимљен [%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Уклањам %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Користим „%s‟ као привремену датотеку за списак.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Уклоњен „%s‟.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Дубина рекурзије %d је већа од максималне дубине: %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Удаљена датотека није новија од локалане „%s‟ -- не преузимам.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -341,21 +408,20 @@ msgstr ""
 "Удаљена датотека је новија од локалне „%s‟ -- преузимам.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "Величине се не поклапају (локална %ld) -- преузимам.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Неисправно име симболичке везе, прескачем.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -364,235 +430,187 @@ msgstr ""
 "Већ имам исправну везу %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Правим везу %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Симболичке везе нису подржане, прескачем везу „%s‟.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Прескачем директоријум „%s‟.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: тип датотеке је непознат или није подржан.\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: неисправно време.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Нећу преузети директоријуме пошто је дубина %d (највише %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Не спуштам се у „%s‟ пошто је занемарен.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Одбијам „%s‟.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Грешка при упису у „%s‟: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Ниједна датотека не одговара шаблону „%s‟.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Списак је пребачен у HTML и записан у „%s‟ [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Списак је пребачен у HTML и записан у „%s‟.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "OpenSSL PRNG seed није постављен. Искључујем SSL.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: Избор „%s‟ је двосмислен\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: Избор „--%s‟ се задаје без додатних аргумената\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: Избор „%c%s‟ се задаје без додатних аргумената\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: За избор „%s‟ потребан је додатни аргумент\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: Избор није препознат: „--%s‟\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: Избор није препознат: `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: неисправан избор -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: непостојећи избор -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: избор захтева аргумент -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "Непозната грешка"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: избор `-W %s' је двосмислен\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: избор `-W %s' не захтева аргумент\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "Непозната грешка"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Тражим %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "није успело: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "није успело: време је истекло.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "Рачунар није пронађен"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "Непозната грешка"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Не може се утврдити шта значи непотпуна веза %s.\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "Нисам успео да подесим SSL контекст\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: Неисправна вредност `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "Није успело учитавање сертификата из %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "Покушавам приступ без потребног сертификата\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "HTTP захтев није успео: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "Не могу да преузмем кључ сертификата са %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "Не могу да успоставим SSL везу.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Поново користим везу са %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "HTTP захтев није успео: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s захтев је послат, чека се одговор... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "Крај датотеке приликом читања заглавља.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "Подаци нису примљени"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Грешка у читању (%s) у заглављима.\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "Подаци нису примљени"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "Датотека „%s‟ већ постоји, не преузимам поново.\n"
 
-#: src/http.c:1130
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "Начин пријаве није познат.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "Пријава није успела.\n"
+
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Неисправна статусна линија"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(нема описа)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "Пријава није успела.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "Начин пријаве није познат.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Место: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "није наведено"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [пратим]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -602,70 +620,63 @@ msgstr ""
 "    Датотека је већ преузета у целини; неће бити поново преузета.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"Наставак преузимања није успео за ову датотеку, а то је у супротности са\n"
-"избором `-c'. Датотека `%s' неће бити скраћена.\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Дужина: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (још %s)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "занемарено"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Прескачем директоријум „%s‟.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Упозорење: џокер знаци се не користе за HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Датотека `%s' је већ ту, не преузима се поново.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Не може се писати у `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "Не могу да успоставим SSL везу.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ГРЕШКА: Преусмерење (%d) нема одредиште.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ГРЕШКА %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "Заглавље са датумом последње измене недостаје -- искључено бележење времена.\n"
+msgstr ""
+"Заглавље са датумом последње измене недостаје -- искључено бележење "
+"времена.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "Заглавље са датумом последње измене је неисправно -- искључено бележење времена.\n"
+msgstr ""
+"Заглавље са датумом последње измене је неисправно -- искључено бележење "
+"времена.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -674,124 +685,142 @@ msgstr ""
 "Датотека на серверу није новија од локалне датотеке `%s' -- не преузимам.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Величине се не поклапају (овде је: %ld) -- преузимам.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Удаљена датотека је новија, преузимам.\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' снимљено [%ld/%ld]\n"
+"Удаљена датотека је новија од локалне „%s‟ -- преузимам.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - Веза је прекинута при преносу бајта %ld. "
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "Удаљена датотека није новија од локалане „%s‟ -- не преузимам.\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "Удаљена датотека није новија од локалане „%s‟ -- не преузимам.\n"
+
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' снимљено [%ld/%ld])\n"
+"%s (%s) - `%s' снимљено [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - Веза је прекинута при преносу бајта %ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Веза је прекинута при преносу бајта %ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Грешка при читању бајта %ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Грешка при читању бајта %ld/%ld (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC помиње датотеку %s која не постоји.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Не може се прочитати %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Грешка у %s на линији %d.\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: Грешка у %s на линији %d.\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: Грешка у %s на линији %d.\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Упозорење: И системски и корисников wgetrc показују на `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Команда --execute није препозната: `%s'\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: Неисправна Булова вредност `%s', користите `on' или `off'.\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Неисправна Булова вредност `%s', користите always, on, off, или never.\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Неисправан број `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Неисправна вредност бајта `%s'\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Неисправна ознака за период `%s'\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: Неисправна вредност `%s'.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Неисправно заглавље `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Неисправан тип индикатора напретка `%s'.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Неисправна ознака ограничења `%s', користите `unix' или `windows'.\n"
-
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Неисправна вредност `%s'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Неисправна ознака ограничења `%s', користите `unix' или `windows'.\n"
 
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -800,313 +829,594 @@ msgstr ""
 "\n"
 "%s примљено, излаз преусмерен у `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "Подаци нису примљени"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; искључујем дневник.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Употреба: %s [ОПЦИЈА]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, програм за не-интерактивно преузимање датотека.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
 "\n"
-"Аргументи који су обавезни за дугачке опције су обавезни и за кратке опције.\n"
+"Аргументи који су обавезни за дугачке опције су обавезни и за кратке "
+"опције.\n"
 "\n"
 
-#: src/main.c:144
-msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+#: src/main.c:371
+msgid "Startup:\n"
 msgstr ""
-"Startup:\n"
-"  -V,  --version           исписује ознаку верзије програма wget.\n"
-"  -h,  --help              исписује ову помоћну поруку.\n"
-"  -b,  --background        пребацује се у позадину после покретања.\n"
-"  -e,  --execute=КОМАНДА   изврши команду као да је уписана у `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr ""
-"Дневник и улазна датотека:\n"
-"  -o,  --output-file=ДАТОТЕКА   запиши поруке у ДАТОТЕКУ.\n"
-"  -a,  --append-output=ДАТОТЕКА надовежи поруке на ДАТОТЕКУ.\n"
-"  -d,  --debug                  исписуј поруке за дебагирање.\n"
-"  -q,  --quiet                  тишина (ништа не исписуј).\n"
-"  -v,  --verbose                детаљи (подразумевана вредност).\n"
-"  -nv, --non-verbose            не исписуј баш све детаље.\n"
-"  -i,  --input-file=ДАТОТЕКА    преузимај са URL-ова из ДАТОТЕКЕ.\n"
-"  -F,  --force-html             сматрај да је улаз у HTML.\n"
-"  -B,  --base=URL               додаје URL на релативне везе у -F -i датотеци.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
 msgstr ""
-"Преузимање:\n"
-"  -t,  --tries=БРОЈ             поставља број покушаја на БРОЈ (0=бесконачно).\n"
-"       --retry-connrefused      покушај опет чак и ако је веза одбијена.\n"
-"  -O   --output-document=ДАТ    запиши документе у датотеку ДАТ.\n"
-"  -nc, --no-clobber             не преписуј датотеке које већ постоје као ни .# суфиксе.\n"
-"  -c,  --continue               настави делимично преузете датотеке.\n"
-"       --progress=ВРСТА         изабери врсту мерача напретка.\n"
-"  -N,  --timestamping           не преузимај уколико су датотеке старије.\n"
-"  -S,  --server-response        исписуј одговоре са сервера.\n"
-"       --spider                 не преузимај ништа.\n"
-"  -T,  --timeout=СЕКУНДЕ        све временске границе постави на СЕКУНДЕ.\n"
-"       --dns-timeout=СЕКУНДЕ    време за одговор од DNS-а.\n"
-"       --connect-timeout=СЕКУНДЕ време за повезивање.\n"
-"       --read-timeout=СЕКУНДЕ   време за читање.\n"
-"  -w,  --wait=СЕКУНДЕ           чекај неколико СЕКУНДИ пре преузимања\n"
-"       --waitretry=СЕКУНДЕ      чекај најмање 1 а највише СЕКУНДИ пре поновног поушаја.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           укључи или искључи приступ преко заступника.\n"
-"  -Q,  --quota=БРОЈ             постави границу за преузимање на БРОЈ.\n"
-"       --bind-address=АДРЕСА    повежи се на АДРЕСУ (име или IP) у локалу.\n"
-"       --limit-rate=ПРОТОК      ограничи проток на ПРОТОК.\n"
-"       --dns-cache=off          не чувај DNS упите.\n"
-"       --restrict-file-names=OS у имену датотека легални су само знаци које дозвољава оперативни систем OS.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"Директоријуми:\n"
-"  -nd, --no-directories            не прави директоријуме.\n"
-"  -x,  --force-directories         увек прави директоријуме.\n"
-"  -nH, --no-host-directories       не прави директоријуме за хост.\n"
-"  -P,  --directory-prefix=ПРЕФИКС  снимај датотеке у ПРЕФИКС/...\n"
-"       --cut-dirs=БРОЈ             игнориши БРОЈ компоненти имена директоријума.\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"HTTP избори:\n"
-"       --http-user=USER      постави корисничко име на USER.\n"
-"       --http-passwd=PASS    постави лозинку на PASS.\n"
-"  -C,  --cache=on/off        да ли је дозвољено кеширање (подразумевано: on).\n"
-"  -E,  --html-extension      све документе сними са .html екстензијом.\n"
-"       --ignore-length       не користи заглавље `Content-Length'.\n"
-"       --header=STRING       убаци STRING у заглавља.\n"
-"       --proxy-user=USER     стави име USER при пријави заступнику.\n"
-"       --proxy-passwd=PASS   стави лозинку PASS при пријави заступнику.\n"
-"       --referer=URL         убаци `Referer: URL' заглавље у HTTP захтев.\n"
-"  -s,  --save-headers        сними HTTP заглавља у датотеку.\n"
-"  -U,  --user-agent=AGENT    пријави се као AGENT уместо Wget/Верзија.\n"
-"       --no-http-keep-alive  искључи одржавање HTTP везе (трајне везе).\n"
-"       --cookies=off         не користи колачиће.\n"
-"       --load-cookies=FILE   учитај колачиће из датотеке FILE пре преноса.\n"
-"       --save-cookies=FILE   сними колачиће у FILE после преноса.\n"
-"       --post-data=STRING    користи POST методу; шаљи STRING као податке.\n"
-"       --post-file=FILE      користи POST методу; шаљи садржај датотеке FILE.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"HTTPS (SSL) избори:\n"
-"       --sslcertfile=FILE     опциони сертификат за клијента.\n"
-"       --sslcertkey=KEYFILE   опциона датотека са кључевима.\n"
-"       --egd-file=FILE        име датотеке са EGD утичницом.\n"
-"       --sslcadir=DIR         директоријум где се чувају CA.\n"
-"       --sslcafile=FILE       датотека са списком CA\n"
-"       --sslcerttype=0/1      Тип сертификата 0=PEM (подраз.) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Провери серверов сертификат уз помоћ CA\n"
-"       --sslprotocol=0-3      одабери SSL протокол; 0=аутоматски,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:407
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "Каталог     "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr ""
-"FTP избори:\n"
-"  -nr, --dont-remove-listing   не уклањај датотеке `.listing'.\n"
-"  -g,  --glob=on/off           укључи или искључи промену имена датотека.\n"
-"       --passive-ftp           користи пасивни начин преноса.\n"
-"       --retr-symlinks         при рекурзивном спусту, преузимај линковане датотеке (не директоријуме)\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"Рекурзивни спуст:\n"
-"  -r,  --recursive          рекурзивни спуст.\n"
-"  -l,  --level=NUMBER       највећа дубина рекурзије (inf или 0 за бесконачну).\n"
-"       --delete-after       избриши датотеке у локалу после преузимања.\n"
-"  -k,  --convert-links      пребаци релативне везе у апсолутне.\n"
-"  -K,  --backup-converted   пре пребацивања направи резервну копију датотеке X са именом X.orig\n"
-"  -m,  --mirror             ради исто што и скуп избора -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    преузми све слике и остало потребно за приказ HTML стране.\n"
-"       --strict-comments    укључи стриктну (SGML) обраду HTML-а.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
-"Рекурзивно прихватање и одбијање:\n"
-"  -A,  --accept=LIST                списак наставака који се прихватају (раздвојени запетама)\n"
-"  -R,  --reject=LIST                списак наставака који се одбијају (р.з.)\n"
-"  -D,  --domains=LIST               списак домена који се прихватају (р.з.)\n"
-"       --exclude-domains=LIST       списак домена који се одбијају (р.з.)\n"
-"       --follow-ftp                 прати FTP везе из HTML докумената.\n"
-"       --follow-tags=LIST           списак праћених HTML страна (р.з.)\n"
-"  -G,  --ignore-tags=LIST           списак одбијених HTML ознака (р.з.)\n"
-"  -H,  --span-hosts                 прелази на друге хостове при спусту\n"
-"  -L,  --relative                   прати само релативне везе\n"
-"  -I,  --include-directories=LIST   списак дозвољених директоријума\n"
-"  -X,  --exclude-directories=LIST   списак нежељених директоријума\n"
-"  -np, --no-parent                  не иди у родитељски директоријум\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Предлоге и извештаје о грешкама шаљите на <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: подршка за дебагирање није уграђена.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, програм за не-интерактивно преузимање датотека.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1114,134 +1424,224 @@ msgstr ""
 "\n"
 "Први аутор је Хрвоје Никшић (Hrvoje Niksic) <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: неисправан избор -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Користите `%s --help' за више избора.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: неисправан избор -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Не може се бити тих и детаљан у исто време.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Не могу се мењати ознаке времена и истовремени не мењати старе датотеке.\n"
+msgstr ""
+"Не могу се мењати ознаке времена и истовремени не мењати старе датотеке.\n"
+
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: недостаје URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Ниједан URL није нађен у %s.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "ГОТОВО --%s--\n"
 "Преузето: бајтова: %s, датотека: %d\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "Прекорачен лимит за преузимање (бајтова: %s)!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "Рад се наставља у позадини.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "Настављам рад у позадини, ознака pid је %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Излаз ће бити записан у `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "Покрећем WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Не постоји погодан уређај за утичницу.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: упозорење: текст \"%s\" појављује се пре било ког имена машине\n"
+msgstr ""
+"%s: %s:%d: упозорење: текст \"%s\" појављује се пре било ког имена машине\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: ознака \"%s\" није препозната\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Употреба: %s NETRC [РАЧУНАР]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: не могу се добити подаци %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "OpenSSL PRNG seed није постављен. Искључујем SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
 #, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
+#, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ прескочено %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Неисправна ознака са тачном `%s'; ништа се не мења.\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Уклањам %s пошто је означен као нежељен.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "Везе у %s се нису могле мењати: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Учитавам robots.txt; молим игноришите грешке ако се појаве.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Грешка при очитавању заступниковог URL-а %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Фрешка у заступниковом URL-у %s: мора бити HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d је превише преусмеравања.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1249,7 +1649,7 @@ msgstr ""
 "Одустајем.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1257,50 +1657,461 @@ msgstr ""
 "Пробам поново.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Нема грешке"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Шаблон није подржан"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "Празна ознака рачунара"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "Лоше наведено корисничко име"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Лоше наведен број порта"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Лоше наведено корисничко име"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "IPv6 адреса није исправно наведена"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 адресе нису подржане"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Неисправна IPv6 нумеричка адреса"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: Нема довољно меморије.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Настављам рад у позадини, ознака pid је %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Неуспело брисање симболичке везе `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr ""
+#~ "„%s‟ се не може претворити у адресу за повезивање.  Покушавам ANY.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Грешка са Set-Cookie, поље „%s‟"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "REST није успео; „%s‟ неће бити одсечен.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s преостало]"
+
+#~ msgid "Host not found"
+#~ msgstr "Рачунар није пронађен"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "Нисам успео да подесим SSL контекст\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "Није успело учитавање сертификата из %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "Покушавам приступ без потребног сертификата\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "Не могу да преузмем кључ сертификата са %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "Крај датотеке приликом читања заглавља.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Наставак преузимања није успео за ову датотеку, а то је у супротности са\n"
+#~ "избором `-c'. Датотека `%s' неће бити скраћена.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (још %s)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "Датотека `%s' је већ ту, не преузима се поново.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' снимљено [%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - Веза је прекинута при преносу бајта %ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: Неисправна Булова вредност `%s', користите always, on, off, или "
+#~ "never.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Startup:\n"
+#~ "  -V,  --version           исписује ознаку верзије програма wget.\n"
+#~ "  -h,  --help              исписује ову помоћну поруку.\n"
+#~ "  -b,  --background        пребацује се у позадину после покретања.\n"
+#~ "  -e,  --execute=КОМАНДА   изврши команду као да је уписана у `.wgetrc'.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Дневник и улазна датотека:\n"
+#~ "  -o,  --output-file=ДАТОТЕКА   запиши поруке у ДАТОТЕКУ.\n"
+#~ "  -a,  --append-output=ДАТОТЕКА надовежи поруке на ДАТОТЕКУ.\n"
+#~ "  -d,  --debug                  исписуј поруке за дебагирање.\n"
+#~ "  -q,  --quiet                  тишина (ништа не исписуј).\n"
+#~ "  -v,  --verbose                детаљи (подразумевана вредност).\n"
+#~ "  -nv, --non-verbose            не исписуј баш све детаље.\n"
+#~ "  -i,  --input-file=ДАТОТЕКА    преузимај са URL-ова из ДАТОТЕКЕ.\n"
+#~ "  -F,  --force-html             сматрај да је улаз у HTML.\n"
+#~ "  -B,  --base=URL               додаје URL на релативне везе у -F -i "
+#~ "датотеци.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Преузимање:\n"
+#~ "  -t,  --tries=БРОЈ             поставља број покушаја на БРОЈ "
+#~ "(0=бесконачно).\n"
+#~ "       --retry-connrefused      покушај опет чак и ако је веза одбијена.\n"
+#~ "  -O   --output-document=ДАТ    запиши документе у датотеку ДАТ.\n"
+#~ "  -nc, --no-clobber             не преписуј датотеке које већ постоје као "
+#~ "ни .# суфиксе.\n"
+#~ "  -c,  --continue               настави делимично преузете датотеке.\n"
+#~ "       --progress=ВРСТА         изабери врсту мерача напретка.\n"
+#~ "  -N,  --timestamping           не преузимај уколико су датотеке "
+#~ "старије.\n"
+#~ "  -S,  --server-response        исписуј одговоре са сервера.\n"
+#~ "       --spider                 не преузимај ништа.\n"
+#~ "  -T,  --timeout=СЕКУНДЕ        све временске границе постави на "
+#~ "СЕКУНДЕ.\n"
+#~ "       --dns-timeout=СЕКУНДЕ    време за одговор од DNS-а.\n"
+#~ "       --connect-timeout=СЕКУНДЕ време за повезивање.\n"
+#~ "       --read-timeout=СЕКУНДЕ   време за читање.\n"
+#~ "  -w,  --wait=СЕКУНДЕ           чекај неколико СЕКУНДИ пре преузимања\n"
+#~ "       --waitretry=СЕКУНДЕ      чекај најмање 1 а највише СЕКУНДИ пре "
+#~ "поновног поушаја.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           укључи или искључи приступ преко "
+#~ "заступника.\n"
+#~ "  -Q,  --quota=БРОЈ             постави границу за преузимање на БРОЈ.\n"
+#~ "       --bind-address=АДРЕСА    повежи се на АДРЕСУ (име или IP) у "
+#~ "локалу.\n"
+#~ "       --limit-rate=ПРОТОК      ограничи проток на ПРОТОК.\n"
+#~ "       --dns-cache=off          не чувај DNS упите.\n"
+#~ "       --restrict-file-names=OS у имену датотека легални су само знаци "
+#~ "које дозвољава оперативни систем OS.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Директоријуми:\n"
+#~ "  -nd, --no-directories            не прави директоријуме.\n"
+#~ "  -x,  --force-directories         увек прави директоријуме.\n"
+#~ "  -nH, --no-host-directories       не прави директоријуме за хост.\n"
+#~ "  -P,  --directory-prefix=ПРЕФИКС  снимај датотеке у ПРЕФИКС/...\n"
+#~ "       --cut-dirs=БРОЈ             игнориши БРОЈ компоненти имена "
+#~ "директоријума.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTP избори:\n"
+#~ "       --http-user=USER      постави корисничко име на USER.\n"
+#~ "       --http-passwd=PASS    постави лозинку на PASS.\n"
+#~ "  -C,  --cache=on/off        да ли је дозвољено кеширање (подразумевано: "
+#~ "on).\n"
+#~ "  -E,  --html-extension      све документе сними са .html екстензијом.\n"
+#~ "       --ignore-length       не користи заглавље `Content-Length'.\n"
+#~ "       --header=STRING       убаци STRING у заглавља.\n"
+#~ "       --proxy-user=USER     стави име USER при пријави заступнику.\n"
+#~ "       --proxy-passwd=PASS   стави лозинку PASS при пријави заступнику.\n"
+#~ "       --referer=URL         убаци `Referer: URL' заглавље у HTTP "
+#~ "захтев.\n"
+#~ "  -s,  --save-headers        сними HTTP заглавља у датотеку.\n"
+#~ "  -U,  --user-agent=AGENT    пријави се као AGENT уместо Wget/Верзија.\n"
+#~ "       --no-http-keep-alive  искључи одржавање HTTP везе (трајне везе).\n"
+#~ "       --cookies=off         не користи колачиће.\n"
+#~ "       --load-cookies=FILE   учитај колачиће из датотеке FILE пре "
+#~ "преноса.\n"
+#~ "       --save-cookies=FILE   сними колачиће у FILE после преноса.\n"
+#~ "       --post-data=STRING    користи POST методу; шаљи STRING као "
+#~ "податке.\n"
+#~ "       --post-file=FILE      користи POST методу; шаљи садржај датотеке "
+#~ "FILE.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTPS (SSL) избори:\n"
+#~ "       --sslcertfile=FILE     опциони сертификат за клијента.\n"
+#~ "       --sslcertkey=KEYFILE   опциона датотека са кључевима.\n"
+#~ "       --egd-file=FILE        име датотеке са EGD утичницом.\n"
+#~ "       --sslcadir=DIR         директоријум где се чувају CA.\n"
+#~ "       --sslcafile=FILE       датотека са списком CA\n"
+#~ "       --sslcerttype=0/1      Тип сертификата 0=PEM (подраз.) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Провери серверов сертификат уз помоћ CA\n"
+#~ "       --sslprotocol=0-3      одабери SSL протокол; 0=аутоматски,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "FTP избори:\n"
+#~ "  -nr, --dont-remove-listing   не уклањај датотеке `.listing'.\n"
+#~ "  -g,  --glob=on/off           укључи или искључи промену имена "
+#~ "датотека.\n"
+#~ "       --passive-ftp           користи пасивни начин преноса.\n"
+#~ "       --retr-symlinks         при рекурзивном спусту, преузимај "
+#~ "линковане датотеке (не директоријуме)\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Рекурзивни спуст:\n"
+#~ "  -r,  --recursive          рекурзивни спуст.\n"
+#~ "  -l,  --level=NUMBER       највећа дубина рекурзије (inf или 0 за "
+#~ "бесконачну).\n"
+#~ "       --delete-after       избриши датотеке у локалу после преузимања.\n"
+#~ "  -k,  --convert-links      пребаци релативне везе у апсолутне.\n"
+#~ "  -K,  --backup-converted   пре пребацивања направи резервну копију "
+#~ "датотеке X са именом X.orig\n"
+#~ "  -m,  --mirror             ради исто што и скуп избора -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    преузми све слике и остало потребно за приказ "
+#~ "HTML стране.\n"
+#~ "       --strict-comments    укључи стриктну (SGML) обраду HTML-а.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Рекурзивно прихватање и одбијање:\n"
+#~ "  -A,  --accept=LIST                списак наставака који се прихватају "
+#~ "(раздвојени запетама)\n"
+#~ "  -R,  --reject=LIST                списак наставака који се одбијају (р."
+#~ "з.)\n"
+#~ "  -D,  --domains=LIST               списак домена који се прихватају (р."
+#~ "з.)\n"
+#~ "       --exclude-domains=LIST       списак домена који се одбијају (р."
+#~ "з.)\n"
+#~ "       --follow-ftp                 прати FTP везе из HTML докумената.\n"
+#~ "       --follow-tags=LIST           списак праћених HTML страна (р.з.)\n"
+#~ "  -G,  --ignore-tags=LIST           списак одбијених HTML ознака (р.з.)\n"
+#~ "  -H,  --span-hosts                 прелази на друге хостове при спусту\n"
+#~ "  -L,  --relative                   прати само релативне везе\n"
+#~ "  -I,  --include-directories=LIST   списак дозвољених директоријума\n"
+#~ "  -X,  --exclude-directories=LIST   списак нежељених директоријума\n"
+#~ "  -np, --no-parent                  не иди у родитељски директоријум\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: подршка за дебагирање није уграђена.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "Покрећем WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "Празна ознака рачунара"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: Нема довољно меморије.\n"
index d5926ff6d4d9eb951ff1e9311e284df2bb235836..a1f80cba963f7fdd7cc914effcc7aada03b4749e 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
 # Swedish messages for wget.
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # Christian Rose <menthos@menthos.com>, 1999, 2000, 2001, 2002, 2003.
-# Daniel Nylander <po@danielnylander.se>, 2006.
+# Daniel Nylander <po@danielnylander.se>, 2006, 2007.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
-"PO-Revision-Date: 2006-02-12 23:35+0100\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-16 22:05+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: flaggan \"%s\" är tvetydig\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: flaggan \"--%s\" tar inget argument\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: flaggan \"%s\" behöver ett argument\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: okänd flagga \"--%s\"\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: okänd flagga \"%c%s\"\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: otillåten flagga -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ogiltig flagga -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: flaggan behöver ett argument -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
 
 # bind? binda? FIXME.
-#: src/connect.c:199
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
-msgstr "%s: kunde inte slå upp bindadress \"%s\"; inaktiverar bindning.\n"
+msgstr "%s: kunde inte slå upp bindadress \"%s\"; inaktiverar bindning.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Ansluter till %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Ansluter till %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "ansluten.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "misslyckades: %s.\n"
 
-#: src/convert.c:176
+# bind? binda? FIXME.
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "Konverterade %d filer på %.*f sekunder.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: kunde inte slå upp värdadressen \"%s\"\n"
 
-#: src/convert.c:202
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Konverterade %d filer på %s sekunder.\n"
+
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Konverterar %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
-msgstr "inget att göra.\n"
+msgstr "inget att göra.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
-msgstr "Kan inte konvertera länkar i %s: %s\n"
+msgstr "Kan inte konvertera länkar i %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Kan inte ta bort \"%s\": %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
-msgstr "Kan inte säkerhetskopiera %s som %s: %s\n"
-
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Fel i \"Set-Cookie\", fält \"%s\""
+msgstr "Kan inte säkerhetskopiera %s som %s: %s\n"
 
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Syntaxfel i \"Set-Cookie\": %s vid position %d.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
-msgstr "Kaka som kommer från %s försökte ställa in domän till %s\n"
+msgstr "Kaka som kommer från %s försökte ställa in domän till %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
-msgstr "Kan inte öppna kakfilen \"%s\": %s\n"
+msgstr "Kan inte öppna kakfilen \"%s\": %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Fel vid skrivning till \"%s\": %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
-msgstr "Fel vid stängning av \"%s\": %s\n"
+msgstr "Fel vid stängning av \"%s\": %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
-msgstr "Listningstypen stöds inte, försöker med Unix-listtolkare.\n"
+msgstr "Listningstypen stöds inte, försöker med Unix-listtolkare.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
-msgstr "Innehåll i /%s på %s:%d"
+msgstr "Innehåll i /%s på %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
-msgstr "okänd tid          "
+msgstr "okänd tid          "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Fil         "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Katalog     "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
-msgstr "Länk        "
+msgstr "Länk        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
-msgstr "Osäker      "
+msgstr "Osäker      "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s byte) "
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
-msgstr "Längd: %s"
+msgstr "Längd: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
-msgstr ", %s (%s) återstår"
+msgstr ", %s (%s) återstår"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
-msgstr ", %s återstår"
+msgstr ", %s återstår"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
-msgstr " (ej auktoritativt)\n"
+msgstr " (inte auktoritativt)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Loggar in som %s... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "Fel i serversvar, stänger styranslutning.\n"
+msgstr "Fel i serversvar, stänger styranslutning.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
-msgstr "Fel i serverhälsning.\n"
+msgstr "Fel i serverhälsning.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
-msgstr "Skrivning misslyckades, stänger styranslutning.\n"
+msgstr "Skrivning misslyckades, stänger styranslutning.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Inloggning nekas av servern.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Felaktig inloggning.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Inloggad!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "Serverfel, kan inte avgöra systemtyp.\n"
+msgstr "Serverfel, kan inte avgöra systemtyp.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
-msgstr "färdig.  "
+msgstr "färdig.  "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
-msgstr "färdig.\n"
+msgstr "färdig.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
-msgstr "Typen \"%c\" är okänd, stänger styranslutning.\n"
+msgstr "Typen \"%c\" är okänd, stänger styranslutning.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
-msgstr "färdig.  "
+msgstr "färdig.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
-msgstr "==> CWD behövs inte.\n"
+msgstr "==> CWD behövs inte.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -224,42 +280,41 @@ msgstr ""
 "Katalogen \"%s\" finns inte.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
-msgstr "==> CWD behövs inte.\n"
+msgstr "==> CWD behövs inte.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
-msgstr "Kan inte initiera PASV-överföring.\n"
+msgstr "Kan inte initiera PASV-överföring.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Kan inte tolka PASV-svar.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "kunde inte ansluta till %s port %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bindningsfel (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "Felaktig PORT.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
 msgstr ""
 "\n"
-"REST misslyckades, startar om från början.\n"
+"REST misslyckades, startar om från början.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -268,7 +323,7 @@ msgstr ""
 "Filen \"%s\" finns inte.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -277,44 +332,40 @@ msgstr ""
 "Filen eller katalogen \"%s\" finns inte.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
-msgstr "%s har uppstått.\n"
+msgstr "%s har uppstått.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
-msgstr "%s: %s, stänger styranslutning.\n"
+msgstr "%s: %s, stänger styranslutning.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Dataanslutning: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
-msgstr "Styranslutning stängd.\n"
+msgstr "Styranslutning stängd.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
-msgstr "Dataöverföring avbruten.\n"
+msgstr "Dataöverföring avbruten.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
-msgstr "Filen \"%s\" finns redan; hämtar inte.\n"
+msgstr "Filen \"%s\" finns redan; hämtar inte.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
-msgstr "(försök:%2d)"
+msgstr "(försök:%2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -323,384 +374,350 @@ msgstr ""
 "%s (%s) - \"%s\" sparad [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "Tar bort %s.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
-msgstr "Använder \"%s\" som temporär listningsfil.\n"
+msgstr "Använder \"%s\" som temporär listningsfil.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Tog bort \"%s\".\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "Rekursionsdjupet %d överskred det maximala djupet %d.\n"
+msgstr "Rekursionsdjupet %d överskred det maximala djupet %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
-msgstr "Filen på servern är inte nyare än lokala filen \"%s\" -- hämtar inte.\n"
+msgstr ""
+"Filen på servern är inte nyare än lokala filen \"%s\" -- hämtar inte.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr ""
-"Filen på servern är nyare än lokala filen \"%s\" -- hämtar.\n"
+"Filen på servern är nyare än lokala filen \"%s\" -- hämtar.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
-"Storlekarna stämmer inte överens (lokal %s) -- hämtar.\n"
+"Storlekarna stämmer inte överens (lokal %s) -- hämtar.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
-msgstr "Ogiltig symbolisk länk, hoppar över.\n"
+msgstr "Ogiltig symbolisk länk, hoppar över.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
 "\n"
 msgstr ""
-"En korrekt symbolisk länk %s -> %s finns redan.\n"
+"En korrekt symbolisk länk %s -> %s finns redan.\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
-msgstr "Skapar symbolisk länk %s -> %s\n"
+msgstr "Skapar symbolisk länk %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
-msgstr "Symboliska länkar stöds inte, hoppar över symboliska länken \"%s\".\n"
+msgstr "Symboliska länkar stöds inte, hoppar över symboliska länken \"%s\".\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
-msgstr "Hoppar över katalogen \"%s\".\n"
+msgstr "Hoppar över katalogen \"%s\".\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
-msgstr "%s: okänd filtyp/filtypen stöds inte.\n"
+msgstr "%s: okänd filtyp/filtypen stöds inte.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
-msgstr "%s: felaktig tidsstämpel.\n"
+msgstr "%s: felaktig tidsstämpel.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
-msgstr "Hämtar inte kataloger eftersom djupet är %d (max %d).\n"
+msgstr "Hämtar inte kataloger eftersom djupet är %d (max %d).\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
-msgstr "Går inte ner till \"%s\" eftersom det är undantaget/inte ingår.\n"
+msgstr "Går inte ner till \"%s\" eftersom det är undantaget/inte ingår.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
-msgstr "Förkastar \"%s\".\n"
+msgstr "Förkastar \"%s\".\n"
+
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Fel vid skrivning till \"%s\": %s\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
-msgstr "Inga träffar med mönstret \"%s\".\n"
+msgstr "Inga träffar med mönstret \"%s\".\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Skrev HTML-iserat index till \"%s\" [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Skrev HTML-iserat index till \"%s\".\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: flaggan \"%s\" är tvetydig\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"--%s\" tar inget argument\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: flaggan \"%s\" behöver ett argument\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: okänd flagga \"--%s\"\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: okänd flagga \"%c%s\"\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: otillåten flagga -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ogiltig flagga -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: flaggan behöver ett argument -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
-msgstr "Okänd värd"
+msgstr "Okänd värd"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
-msgstr "Temporärt fel i namnuppslagning"
+msgstr "Temporärt fel i namnuppslagning"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
-msgstr "Okänt fel"
+msgstr "Okänt fel"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
-msgstr "Slår upp %s... "
+msgstr "Slår upp %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
-msgstr "misslyckades: Inga IPv4/IPv6-adresser för värd.\n"
+msgstr "misslyckades: Inga IPv4/IPv6-adresser för värd.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "misslyckades: gjorde time-out.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
-msgstr "%s: Kan inte slå upp den ofullständiga länken %s.\n"
+msgstr "%s: Kan inte slå upp den ofullständiga länken %s.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: Ogiltig URL %s: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
-msgstr "Misslyckades med att skriva HTTP-begäran: %s.\n"
+msgstr "Misslyckades med att skriva HTTP-begäran: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Inga huvuden, antar HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
-msgstr "Inaktiverar SSL på grund av påträffade fel.\n"
+msgstr "Inaktiverar SSL på grund av påträffade fel.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
-msgstr "Datafil för POST \"%s\" saknas: %s\n"
+msgstr "Datafil för POST \"%s\" saknas: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
-msgstr "Återanvänder existerande anslutning till %s:%d.\n"
+msgstr "Återanvänder befintlig anslutning till %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
-msgstr "Misslyckades med att läsa proxysvar: %s\n"
+msgstr "Misslyckades med att läsa proxysvar: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Proxytunnel misslyckades: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
-msgstr "%s-begäran skickad, väntar på svar... "
+msgstr "%s-begäran skickad, väntar på svar... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Ingen data mottagen.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
-msgstr "Läsfel (%s) i huvuden.\n"
+msgstr "Läsfel (%s) i huvuden.\n"
+
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Filen \"%s\" finns redan där; hämtar inte.\n"
+"\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
-msgstr "Okänd autentiseringsmetod.\n"
+msgstr "Okänd autentiseringsmetod.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Auktorisering misslyckades.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Felaktig statusrad"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(ingen beskrivning)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Adress: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "ospecifierat"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
-msgstr " [följer]"
+msgstr " [följer]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
 "\n"
 msgstr ""
 "\n"
-"    Filen är redan fullständigt hämtad, inget att göra.\n"
+"    Filen är redan fullständigt hämtad, inget att göra.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
-msgstr "Längd: "
+msgstr "Längd: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "ignorerad"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Sparar till \"%s\".\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
-msgstr "Varning: jokertecken stöds inte i HTTP.\n"
+msgstr "Varning: jokertecken stöds inte i HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr ""
-"Filen \"%s\" finns redan där; hämtar inte.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr "Spindelläget aktiverat. Kontrollera om fjärrfilen finns.\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Kan inte skriva till \"%s\" (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Kan inte etablera en SSL-anslutning.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "FEL: Omdirigering (%d) utan adress.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Fjärrfilen finns inte -- trasig länk!\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s FEL %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
-msgstr "\"Last-modified\"-huvud saknas -- tidsstämplar avstängda.\n"
+msgstr "\"Last-modified\"-huvud saknas -- tidsstämplar avstängda.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
-msgstr "\"Last-modified\"-huvudet ogiltigt -- tidsstämpel ignorerad.\n"
+msgstr "\"Last-modified\"-huvudet ogiltigt -- tidsstämpel ignorerad.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
 "\n"
 msgstr ""
-"Filen på servern är inte nyare än lokala filen \"%s\" -- hämtar inte.\n"
+"Filen på servern är inte nyare än lokala filen \"%s\" -- hämtar inte.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
-msgstr "Storlekarna stämmer inte överens (lokal %s) -- hämtar.\n"
+msgstr "Storlekarna stämmer inte överens (lokal %s) -- hämtar.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
-msgstr "Filen på fjärrsystemet är nyare, hämtar.\n"
+msgstr "Filen på fjärrsystemet är nyare, hämtar.\n"
+
+#: src/http.c:2650
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Fjärrfilen finns och kan innehålla länkar till andra resurser -- hämtar "
+"den.\n"
+"\n"
+
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Fjärrfilen finns men innehåller ingen länk -- hämtar inte.\n"
+"\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Fjärrfilen finns men rekursion är inaktiverat -- hämtar inte.\n"
+"\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -709,111 +726,102 @@ msgstr ""
 "%s (%s) - \"%s\" sparad [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
-msgstr "%s (%s) - Anslutningen stängd vid byte %s. "
-
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Anslutningen stängd vid byte %s/%s. "
+msgstr "%s (%s) - Anslutningen stängd vid byte %s. "
 
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
-msgstr "%s (%s) - Läsfel vid byte %s (%s)."
+msgstr "%s (%s) - Läsfel vid byte %s (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
-msgstr "%s (%s) - Läsfel vid byte %s/%s (%s). "
+msgstr "%s (%s) - Läsfel vid byte %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC pekar till %s som inte finns.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
-msgstr "%s: Kan inte läsa %s (%s).\n"
+msgstr "%s: Kan inte läsa %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Fel i %s vid rad %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
-msgstr "%s: Syntaxfel i %s på rad %d.\n"
+msgstr "%s: Syntaxfel i %s på rad %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
-msgstr "%s: Okänt kommando \"%s\" i %s på rad %d.\n"
+msgstr "%s: Okänt kommando \"%s\" i %s på rad %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Varning: Både systemets och användarens wgetrc pekar till \"%s\".\n"
+msgstr ""
+"%s: Varning: Både systemets och användarens wgetrc pekar till \"%s\".\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
-msgstr "%s: --execute-kommandot \"%s\" är ogiltigt\n"
+msgstr "%s: --execute-kommandot \"%s\" är ogiltigt\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
-msgstr "%s: %s: Ogiltigt booleskt värde \"%s\"; använd \"on\" eller \"off\".\n"
-
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: Ogiltigt utökat booleskt värde \"%s\";\n"
-"använd en av \"on\", \"off\", \"always\" eller \"never\".\n"
+msgstr "%s: %s: Ogiltigt booleskt värde \"%s\"; använd \"on\" eller \"off\".\n"
 
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
-msgstr "%s: %s: Talet \"%s\" är ogiltigt.\n"
+msgstr "%s: %s: Talet \"%s\" är ogiltigt.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
-msgstr "%s: %s: Bytevärdet \"%s\" är ogiltigt.\n"
+msgstr "%s: %s: Bytevärdet \"%s\" är ogiltigt.\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
-msgstr "%s: %s: Tidsperioden \"%s\" är ogiltig.\n"
+msgstr "%s: %s: Tidsperioden \"%s\" är ogiltig.\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: Värdet \"%s\" är ogiltigt.\n"
+msgstr "%s: %s: Värdet \"%s\" är ogiltigt.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
-msgstr "%s: %s: Huvudet \"%s\" är ogiltigt.\n"
+msgstr "%s: %s: Huvudet \"%s\" är ogiltigt.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
-msgstr "%s: %s: Förloppstypen \"%s\" är ogiltig.\n"
+msgstr "%s: %s: Förloppstypen \"%s\" är ogiltig.\n"
 
-#: src/init.c:1259
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Begränsningen \"%s\" är ogiltig, använd \"unix\" eller \"windows\".\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Ogiltig begränsning \"%s\", använd [unix|windows],[lowercase|"
+"uppercase],[nocontrol].\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -822,9 +830,7 @@ msgstr ""
 "\n"
 "%s mottagna, omdirigerar utdata till \"%s\".\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -833,517 +839,681 @@ msgstr ""
 "\n"
 "%s mottogs.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; deaktiverar loggning.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
-msgstr "Användning: %s [FLAGGA]... [URL]...\n"
+msgstr "Användning: %s [FLAGGA]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
-"Obligatoriska argument till långa flaggor är obligatoriska även för de korta.\n"
+"Obligatoriska argument till långa flaggor är obligatoriska även för de "
+"korta.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Uppstart:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           visa versionen av Wget och avsluta.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
-msgstr "  -h,  --help              skriv ut denna hjälp.\n"
+msgstr "  -h,  --help              skriv ut denna hjälp.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
-msgstr "  -b,  --background        gå till bakgrunden efter uppstart.\n"
+msgstr "  -b,  --background        gå till bakgrunden efter uppstart.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-msgstr "  -e,  --execute=KOMMANDO  kör ett \".wgetrc\"-liknande kommando.\n"
+msgstr "  -e,  --execute=KOMMANDO  kör ett \".wgetrc\"-liknande kommando.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Loggning och inmatningsfil:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=FIL     logga meddelanden till FIL.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
-msgstr "  -a,  --append-output=FIL   fortsätt skriva meddelanden till FIL.\n"
+msgstr "  -a,  --append-output=FIL   fortsätt skriva meddelanden till FIL.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
-msgstr "  -d,  --debug               skriver ut massor av felsökningsinformation.\n"
+msgstr ""
+"  -d,  --debug               skriver ut massor av felsökningsinformation.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+"       --wdebug              skriv ut Watt-32-felsökningsinformation.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               tyst (ingen utdata).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
-msgstr "  -v,  --verbose             var informativ (detta är standard).\n"
+msgstr "  -v,  --verbose             var informativ (detta är standard).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
-msgstr "  -nv, --no-verbose          stäng av information, utan att vara helt tyst.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+msgstr ""
+"  -nv, --no-verbose          stäng av information, utan att vara helt tyst.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
-msgstr "  -i,  --input-file=FIL      hämta URL:er hittade i FIL.\n"
+msgstr "  -i,  --input-file=FIL      hämta URL:er hittade i FIL.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          behandla inmatningsfil som HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            lägger till URL till relativa länkar i -F -i fil.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            lägger till URL till relativa länkar i -F -i "
+"fil.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
-msgstr "Hämta:\n"
+msgstr "Hämta:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=ANTAL             ställ in antal försök till ANTAL (0 =  ingen gräns).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=ANTAL             ställ in antal försök till ANTAL (0 =  "
+"ingen gräns).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       försök igen även om anslutningen nekas.\n"
+msgstr ""
+"       --retry-connrefused       försök igen även om anslutningen nekas.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O,  --output-document=FIL     skriv dokument till FIL.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr ""
-"  -nc, --no-clobber              hoppa över hämtningar som skulle hämta till\n"
-"                                 redan existerande filer.\n"
+"  -nc, --no-clobber              hoppa över hämtningar som skulle hämta "
+"till\n"
+"                                 redan befintliga filer.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                återuppta hämtning av delvis hämtad fil.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                återuppta hämtning av delvis hämtad fil.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
-msgstr "       --progress=TYP            välj typ av förloppsindikator.\n"
+msgstr "       --progress=TYP            välj typ av förloppsindikator.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
 msgstr ""
-"  -N,  --timestamping            hämta inte om filer om de inte är nyare än\n"
+"  -N,  --timestamping            hämta inte om filer om de inte är nyare än\n"
 "                                 lokala filer.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         skriv ut serversvar.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
-msgstr "       --spider                  hämta ingenting.\n"
+msgstr "       --spider                  hämta ingenting.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SEKUNDER        ställ in alla timeout-värden till SEKUNDER.\n"
+msgstr ""
+"  -T,  --timeout=SEKUNDER        ställ in alla timeout-värden till "
+"SEKUNDER.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SEK         ställ in timeout för DNS-uppslag till SEK.\n"
+msgstr ""
+"       --dns-timeout=SEK         ställ in timeout för DNS-uppslag till SEK.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SEK     ställ in timeout för anslutning till SEK.\n"
+msgstr ""
+"       --connect-timeout=SEK     ställ in timeout för anslutning till SEK.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=SEK        ställ in lästimeout till SEK.\n"
+msgstr "       --read-timeout=SEK        ställ in lästimeout till SEK.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
-msgstr "  -w,  --wait=SEKUNDER           vänta SEKUNDER mellan hämtningar.\n"
-
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=SEKUNDER      vänta 1..SEKUNDER mellan hämtningsförsök.\n"
+msgstr "  -w,  --wait=SEKUNDER           vänta SEKUNDER mellan hämtningar.\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait             vänta från 0...2*VÄNTA sekunder mellan hämtningar.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SEKUNDER      vänta 1..SEKUNDER mellan hämtningsförsök.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   sätt explicit på proxy.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             vänta från 0...2*VÄNTA sekunder mellan "
+"hämtningar.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
-msgstr "       --no-proxy                stäng explicit av proxy.\n"
+msgstr "       --no-proxy                stäng uttryckligen av proxy.\n"
 
 # Nummer eller antal?
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=NUMMER            ställ in mottagningskvot till NUMMER.\n"
+msgstr ""
+"  -Q,  --quota=NUMMER            ställ in mottagningskvot till NUMMER.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=ADRESS     bind till ADRESS (värdnamn eller IP) på lokal värd.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADRESS     bind till ADRESS (värdnamn eller IP) på "
+"lokal värd.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=FART         begränsa hämtningshastighet till FART.\n"
+msgstr ""
+"       --limit-rate=FART         begränsa hämtningshastighet till FART.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
-msgstr "       --no-dns-cache            inaktivera mellanlagring av DNS-uppslag.\n"
+msgstr ""
+"       --no-dns-cache            inaktivera mellanlagring av DNS-uppslag.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=OS  begränsa tecken i filnamn till vad OS tillåter.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  begränsa tecken i filnamn till vad OS "
+"tillåter.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case             ignorera skiftläge vid matchning av filer/"
+"kataloger.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              anslut endast till IPv4-adresser.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              anslut endast till IPv6-adresser.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=FAMILJ    anslut först till adresser av angiven familj,\n"
+"       --prefer-family=FAMILJ    anslut först till adresser av angiven "
+"familj,\n"
 "                                 en av IPv6, IPv4, eller none.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=ANVÄNDARE          ställ in både ftp- och http-användare till ANVÄNDARE.\n"
+msgstr ""
+"       --user=ANVÄNDARE          ställ in både ftp- och http-användare till "
+"ANVÄNDARE.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=LÖSEN          ställ in både ftp- och http-lösenord till LÖSEN.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=LÖSEN          ställ in både ftp- och http-lösenord till "
+"LÖSEN.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Kataloger:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           skapa inga kataloger.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        tvinga skapandet av kataloger.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
-msgstr "  -nH, --no-host-directories      skapa inte värdkataloger.\n"
+msgstr "  -nH, --no-host-directories      skapa inte värdkataloger.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
-msgstr "       --protocol-directories     använd protokollnamn i kataloger.\n"
+msgstr "       --protocol-directories     använd protokollnamn i kataloger.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PREFIX  spara filer till PREFIX/...\n"
 
 # antal? nummer?
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=ANTAL           ignorera ANTAL fjärrkatalogkomponenter.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=ANTAL           ignorera ANTAL fjärrkatalogkomponenter.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP-flaggor:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
-msgstr "       --http-user=ANVÄNDARE   ställ in http-användare till ANVÄNDARE.\n"
+msgstr ""
+"       --http-user=ANVÄNDARE   ställ in http-användare till ANVÄNDARE.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
-msgstr "       --http-password=LÖSEN   ställ in http-lösenord till LÖSEN.\n"
+msgstr "       --http-password=LÖSEN   ställ in http-lösenord till LÖSEN.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              tillåt inte mellanlagrad data på servern.\n"
+msgstr ""
+"       --no-cache              tillåt inte mellanlagrad data på servern.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        spara HTML-dokument med \".html\"-ändelse.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        spara HTML-dokument med \".html\"-ändelse.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         ignorera \"Content-Length\"-huvudfält.\n"
+msgstr ""
+"       --ignore-length         ignorera \"Content-Length\"-huvudfält.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
-msgstr "       --header=STRÄNG         infoga STRÄNG i huvudena.\n"
+msgstr "       --header=STRÄNG         infoga STRÄNG i huvudena.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect          maximalt antal tillåtna omdirigeringar per "
+"sida.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
-msgstr "       --proxy-user=ANVÄNDARE  ställ in ANVÄNDARE som proxy-användarnamn.\n"
+msgstr ""
+"       --proxy-user=ANVÄNDARE  ställ in ANVÄNDARE som proxy-användarnamn.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
-msgstr "       --proxy-password=LÖSEN  ställ in LÖSEN som proxy-lösenord.\n"
+msgstr "       --proxy-password=LÖSEN  ställ in LÖSEN som proxy-lösenord.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           inkludera \"Referer: URL\"-huvud i HTTP-begäran.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           inkludera \"Referer: URL\"-huvud i HTTP-"
+"begäran.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          spara HTTP-huvuden till fil.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT      identifiera som AGENT istället för Wget/VERSION.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      identifiera som AGENT istället för Wget/"
+"VERSION.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    inaktivera HTTP keep-alive (ihållande anslutningar).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    inaktivera HTTP keep-alive (ihållande "
+"anslutningar).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
-msgstr "       --no-cookies            använd inte kakor.\n"
+msgstr "       --no-cookies            använd inte kakor.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=FIL      läs in kakor från FIL före session.\n"
+msgstr "       --load-cookies=FIL      läs in kakor från FIL före session.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
 msgstr "       --save-cookies=FIL      spara kakor till FIL efter session.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  läs in och spara sessionskakor (icke-permanent).\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  läs in och spara sessionskakor (icke-"
+"permanent).\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=STRÄNG      använd POST-metoden; skicka STRÄNG som data.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRÄNG      använd POST-metoden; skicka STRÄNG som data.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=FIL         använd POST-metoden; skicka innehållet av FIL.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FIL         använd POST-metoden; skicka innehållet av "
+"FIL.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   använd Content-Disposition-huvudet när\n"
+"                               lokala filnamn väljs (EXPERIMENTELL).\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS-flaggor (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR     välj säkert protokoll, en av auto, SSLv2,\n"
+"       --secure-protocol=PR     välj säkert protokoll, en av auto, SSLv2,\n"
 "                                SSLv3 och TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr "       --no-check-certificate   validera inte serverns certifikat.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=FIL        klientcertifikatfil.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
 msgstr "       --certificate-type=TYP   klientcertifikattyp, PEM eller DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FIL        privat nyckelfil.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TYP   privat nyckeltyp, PEM eller DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=FIL     fil med paketerade CA:er.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=KAT       katalog där hash-lista av CA:er är lagrad.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=KAT       katalog där hash-lista av CA:er är lagrad.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=FIL        fil med slumpfrö för att så SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FIL        fil med slumpfrö för att så SSL PRNG.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=FIL           fil för EGD-uttag med slumpfrö.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr "       --egd-file=FIL           fil för EGD-uttag med slumpfrö.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP-flaggor:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
-msgstr "       --ftp-user=ANVÄNDARE    ställ in ftp-användare till ANVÄNDARE.\n"
+msgstr ""
+"       --ftp-user=ANVÄNDARE    ställ in ftp-användare till ANVÄNDARE.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
-msgstr "       --ftp-password=LÖSEN    ställ in ftp-lösenord till LÖSEN.\n"
+msgstr "       --ftp-password=LÖSEN    ställ in ftp-lösenord till LÖSEN.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     ta inte bort \".listing\"-filer.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               stäng av FTP-filnamnsutökning.\n"
+msgstr "       --no-glob               stäng av FTP-filnamnsutökning.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        inaktivera \"passivt\"-överföringsläge.\n"
+msgstr ""
+"       --no-passive-ftp        inaktivera \"passivt\"-överföringsläge.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
-msgstr "       --retr-symlinks         när rekursiv, hämta \"länkade-till\"-filer (inte kat).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         när rekursiv, hämta \"länkade-till\"-filer "
+"(inte kat).\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
-msgstr "       --preserve-permissions  behåll  fjärrfilrättigheter.\n"
+msgstr "       --preserve-permissions  behåll  fjärrfilrättigheter.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
-msgstr "Rekursiv hämtning:\n"
+msgstr "Rekursiv hämtning:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
-msgstr "  -r,  --recursive          ange rekursiv hämtning.\n"
+msgstr "  -r,  --recursive          ange rekursiv hämtning.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=ANTAL        maximalt djup för rekursion (inf eller 0 för oändligt).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=ANTAL        maximalt djup för rekursion (inf eller 0 för "
+"oändligt).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
-msgstr "       --delete-after       ta bort lokala filer efter att de hämtats.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
+msgstr ""
+"       --delete-after       ta bort lokala filer efter att de hämtats.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links      peka länkar i hämtad HTML till lokala filer.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      peka länkar i hämtad HTML till lokala filer.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   före konvertering av fil X, säkerhetskopiera som X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   före konvertering av fil X, säkerhetskopiera som "
+"X.orig.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             genväg för -N -r -l inf --no-remove-listing.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             genväg för -N -r -l inf --no-remove-listing.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    hämta alla bilder, etc. som behövs för att visa HTML-sida.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    hämta alla bilder, etc. som behövs för att visa "
+"HTML-sida.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    slå på strikt (SGML) hantering av HTML-kommentarer.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    slå på strikt (SGML) hantering av HTML-"
+"kommentarer.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
-msgstr "Rekursiv acceptans/vägran:\n"
+msgstr "Rekursiv acceptans/vägran:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=LISTA              kommaseparerad lista på accepterade ändelser.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LISTA              kommaseparerad lista på accepterade "
+"ändelser.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=LISTA              kommaseparerad lista av vägrad ändelser.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LISTA              kommaseparerad lista av vägrad ändelser.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=LISTA             kommaseparerad lista av accepterade domäner.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LISTA             kommaseparerad lista av accepterade "
+"domäner.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=LISTA     kommaseparerad lista av vägrade domäner.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LISTA     kommaseparerad lista av vägrade domäner.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                följ FTP-länkar från HTML-dokument.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                följ FTP-länkar från HTML-dokument.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=LISTA         kommaseparerad lista av HTML-taggar att följa.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LISTA         kommaseparerad lista av HTML-taggar att "
+"följa.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=LISTA         kommaseparerad lista av HTML-taggar att ignorera.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LISTA         kommaseparerad lista av HTML-taggar att "
+"ignorera.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts                gå till främmande värdar när rekursiv.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts                gå till främmande värdar när rekursiv.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
-msgstr "  -L,  --relative                  följ endast relativa länkar.\n"
+msgstr "  -L,  --relative                  följ endast relativa länkar.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
-msgstr "  -I,  --include-directories=LISTA lista av tillåtna kataloger.\n"
+msgstr "  -I,  --include-directories=LISTA lista av tillåtna kataloger.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LISTA lista av exkluderade kataloger.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
-msgstr "  -np, --no-parent                 gå in upp till förälderkatalogen.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr "  -np, --no-parent                 gå in upp till förälderkatalogen.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr ""
-"Skicka felrapporter och förslag till <bug-wget@gnu.org>.\n"
-"Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
+"Skicka felrapporter och förslag till <bug-wget@gnu.org>.\n"
+"Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, en icke-interaktiv nätverkshämtare.\n"
+msgstr "GNU Wget %s, en icke-interaktiv nätverkshämtare.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Copyright © 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Copyright © 2007 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Följande text är en informell översättning som enbart tillhandahålls\n"
-"i informativt syfte. För alla juridiska tolkningar gäller den\n"
-"engelska originaltexten.\n"
-"Detta program distribueras i hopp om att det ska vara användbart,\n"
-"men UTAN NÅGON SOM HELST GARANTI, även utan underförstådd garanti\n"
-"om SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL. Se GNU\n"
-"General Public License för ytterligare information.\n"
-
-#: src/main.c:665
+"Licens GPLv3+: GNU GPL version 3 eller senare\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"Det här är fri programvara: du får fritt ändra och distribuera den.\n"
+"Det finns INGEN GARANTI så långt som lagen tillåter.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1351,196 +1521,223 @@ msgstr ""
 "\n"
 "Ursprungligen skrivet av Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Underhålls för närvarande av Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
-msgstr "Prova \"%s --help\" för fler alternativ.\n"
+msgstr "Prova \"%s --help\" för fler flaggor.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: ogiltig flagga -- \"-n%c\"\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
-msgstr "Kan inte vara utförlig och tyst på samma gång.\n"
+msgstr "Kan inte vara utförlig och tyst på samma gång.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Kan inte tidsstämpla och inte skriva över gamla filer på samma gång.\n"
+msgstr "Kan inte tidsstämpla och inte skriva över gamla filer på samma gång.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
-msgstr "Kan inte ange både --inet4-only och --inet6-only.\n"
+msgstr "Kan inte ange både --inet4-only och --inet6-only.\n"
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr "Kan inte ange -r, -p eller -N om -O har angivits.\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Kan inte ange både -k och -O om flera url:er har angivits.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL saknas\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Inga URL:er hittade i %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
-"FÄRDIG --%s--\n"
-"Hämtade: %s byte i %d filer\n"
+"FÄRDIG --%s--\n"
+"Hämtade: %d filer, %s i %s (%s)\n"
 
-#: src/main.c:979
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Hämtningsgräns (%s byte) ÖVERSKRIDEN!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Hämtningskvot för %s ÖVERSKRIDEN!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
-msgstr "Fortsätter i bakgrunden.\n"
+msgstr "Fortsätter i bakgrunden.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
-msgstr "Fortsätter i bakgrunden, pid %lu.\n"
+msgstr "Fortsätter i bakgrunden, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Utdata skrivs till \"%s\".\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
-msgstr "%s: Kunde inte hitta användbar uttagsdrivrutin (socket driver).\n"
+msgstr "%s: Kunde inte hitta användbar uttagsdrivrutin (socket driver).\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: varning: \"%s\"-märke förekommer framför alla maskinnamn\n"
+msgstr "%s: %s:%d: varning: \"%s\"-märke förekommer framför alla maskinnamn\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
-msgstr "%s: %s:%d: okänt märke \"%s\"\n"
+msgstr "%s: %s:%d: okänt märke \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
-msgstr "Användning: %s NETRC [VÄRDDATORNAMN]\n"
+msgstr "Användning: %s NETRC [VÄRDDATORNAMN]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
-msgstr "%s: kan inte ta status på %s: %s\n"
+msgstr "%s: kan inte ta status på %s: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
-msgstr "VARNING: använder ett svagt slumpfrö.\n"
+msgstr "VARNING: använder ett svagt slumpfrö.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "Kunde inte så OpenSSL PRNG; överväg att använda --random-file.\n"
+msgstr "Kunde inte så OpenSSL PRNG; överväg att använda --random-file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "FEL"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "VARNING"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: Inget certifikat presenterades av %s.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: Fel vid validering av certifikat för %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: kan inte validera certifikatet för %s, utfärdat av \"%s\":\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Kunde inte lokalt verifiera utfärdarens auktoritet.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Självsignerat certifikat påträffades.\n"
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Utfärdat certifikat är ännu inte giltigt.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Utfärdat certifikat har gått ut.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: namnet på certifikat \"%s\"  stämmer inte överens med begärt värdnamn \"%s\".\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: namnet på certifikat \"%s\"  stämmer inte överens med begärt värdnamn \"%"
+"s\".\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "För att ansluta till %s på ej säkert sätt, använd \"--no-check-certificate\".\n"
+msgstr ""
+"För att ansluta till %s på osäkert sätt, använd \"--no-check-certificate\".\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ hoppar över %d kB ]"
+"%*s[ hoppar över %sK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
-msgstr "Punktstilsspecifikationen \"%s\" är ogiltig; lämnar oförändrad.\n"
+msgstr "Punktstilsspecifikationen \"%s\" är ogiltig; lämnar oförändrad.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  färdig %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   på "
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
-msgstr "Kan inte hämta REALTIME-klockfrekvens: %s\n"
+msgstr "Kan inte hämta REALTIME-klockfrekvens: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Tar bort %s eftersom den skulle ha avvisats.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
-msgstr "Kan inte öppna %s: %s"
+msgstr "Kan inte öppna %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
-msgstr "Läser in robots.txt; ignorera fel.\n"
+msgstr "Läser in robots.txt; ignorera fel.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Fel vid tolkning av proxy-URL %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
-msgstr "Fel i proxy-URL %s: Måste vara HTTP.\n"
+msgstr "Fel i proxy-URL %s: Måste vara HTTP.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
-msgstr "%d omdirigeringar överskreds.\n"
+msgstr "%d omdirigeringar överskreds.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1548,64 +1745,133 @@ msgstr ""
 "Ger upp.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
 msgstr ""
-"Försöker igen.\n"
+"Försöker igen.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Hittade inga trasiga länkar.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Hittade %d trasig länk.\n"
+"\n"
+msgstr[1] ""
+"Hittade %d trasiga länkar.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Inget fel"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
-msgstr "Schemat stöds inte"
+msgstr "Schemat stöds inte"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
-msgstr "Ogiltigt värdnamn"
+msgstr "Ogiltigt värdnamn"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Felaktigt portnummer"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
-msgstr "Ogiltigt användarnamn"
+msgstr "Ogiltigt användarnamn"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Oavslutad numerisk IPv6-adress"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
-msgstr "IPv6-adresser stöds inte"
+msgstr "IPv6-adresser stöds inte"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Ogiltig numerisk IPv6-adress"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
-msgstr "Fortsätter i bakgrunden, pid %d.\n"
+msgstr "Fortsätter i bakgrunden, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
-msgstr "Misslyckades med att ta bort symboliska länken \"%s\": %s\n"
+msgstr "Misslyckades med att ta bort symboliska länken \"%s\": %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   slå uttryckligen på proxy.\n"
+
+#~ msgid ""
+#~ "       --no-content-disposition  don't honor Content-Disposition header.\n"
+#~ msgstr ""
+#~ "       --no-content-disposition  använd inte \"Content-Disposition\"-"
+#~ "huvudet.\n"
+
+#~ msgid "%s referred by:\n"
+#~ msgstr "%s refereras till av:\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Fel i \"Set-Cookie\", fält \"%s\""
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - Anslutningen stängd vid byte %s/%s. "
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: Ogiltigt utökat booleskt värde \"%s\";\n"
+#~ "använd en av \"on\", \"off\", \"always\" eller \"never\".\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Följande text är en informell översättning som enbart tillhandahålls\n"
+#~ "i informativt syfte. För alla juridiska tolkningar gäller den\n"
+#~ "engelska originaltexten.\n"
+#~ "Detta program distribueras i hopp om att det ska vara användbart,\n"
+#~ "men UTAN NÅGON SOM HELST GARANTI, även utan underförstådd garanti\n"
+#~ "om SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL. Se GNU\n"
+#~ "General Public License för ytterligare information.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: Fel vid validering av certifikat för %s: %s\n"
+
 #~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-#~ msgstr "Kan inte konvertera \"%s\" till en bind-adress. Återgår till ANY.\n"
+#~ msgstr "Kan inte konvertera \"%s\" till en bind-adress. Återgår till ANY.\n"
 
 #~ msgid ""
 #~ "\n"
@@ -1621,19 +1887,19 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ msgstr "Servern kunde inte hittas"
 
 #~ msgid "Failed to set up an SSL context\n"
-#~ msgstr "Misslyckades med att ställa in ett SSL-sammanhang\n"
+#~ msgstr "Misslyckades med att ställa in ett SSL-sammanhang\n"
 
 #~ msgid "Failed to load certificates from %s\n"
-#~ msgstr "Misslyckades med att läsa in certifikat från %s\n"
+#~ msgstr "Misslyckades med att läsa in certifikat från %s\n"
 
 #~ msgid "Trying without the specified certificate\n"
-#~ msgstr "Försöker utan det angivna certifikatet\n"
+#~ msgstr "Försöker utan det angivna certifikatet\n"
 
 #~ msgid "Failed to get certificate key from %s\n"
-#~ msgstr "Misslyckades med att få tag i certifikatnyckel från %s\n"
+#~ msgstr "Misslyckades med att få tag i certifikatnyckel från %s\n"
 
 #~ msgid "End of file while parsing headers.\n"
-#~ msgstr "Filslut vid genomsökning av huvuden.\n"
+#~ msgstr "Filslut vid genomsökning av huvuden.\n"
 
 #~ msgid ""
 #~ "\n"
@@ -1642,16 +1908,16 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Återupptagen hämtning av denna fil misslyckades, vilket är i konflikt\n"
+#~ "Återupptagen hämtning av denna fil misslyckades, vilket är i konflikt\n"
 #~ "med \"-c\".\n"
-#~ "Vägrar att klippa existerande filen \"%s\".\n"
+#~ "Vägrar att klippa existerande filen \"%s\".\n"
 #~ "\n"
 
 #~ msgid " (%s to go)"
 #~ msgstr " (%s kvar)"
 
 #~ msgid "File `%s' already there, will not retrieve.\n"
-#~ msgstr "Filen \"%s\" finns redan där, hämtar inte.\n"
+#~ msgstr "Filen \"%s\" finns redan där, hämtar inte.\n"
 
 #~ msgid ""
 #~ "%s (%s) - `%s' saved [%ld/%ld])\n"
@@ -1661,7 +1927,9 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "\n"
 
 #~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-#~ msgstr "%s: %s: Booleska värdet \"%s\" är ogiltigt, använd \"always\", \"on\", \"off\" eller \"never\".\n"
+#~ msgstr ""
+#~ "%s: %s: Booleska värdet \"%s\" är ogiltigt, använd \"always\", \"on\", "
+#~ "\"off\" eller \"never\".\n"
 
 #~ msgid ""
 #~ "Startup:\n"
@@ -1672,10 +1940,11 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Uppstart:\n"
-#~ "  -V,  --version            visa versionsinformation för Wget och avsluta.\n"
-#~ "  -h,  --help               visa denna hjälptext.\n"
-#~ "  -b,  --background         gå till bakgrunden efter uppstart.\n"
-#~ "  -e,  --execute=KOMMANDO   utför ett kommando av \".wgetrc\"-typ.\n"
+#~ "  -V,  --version            visa versionsinformation för Wget och "
+#~ "avsluta.\n"
+#~ "  -h,  --help               visa denna hjälptext.\n"
+#~ "  -b,  --background         gå till bakgrunden efter uppstart.\n"
+#~ "  -e,  --execute=KOMMANDO   utför ett kommando av \".wgetrc\"-typ.\n"
 #~ "\n"
 
 #~ msgid ""
@@ -1688,31 +1957,37 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
 #~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
 #~ "  -F,  --force-html           treat input file as HTML.\n"
-#~ "  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Loggning och infil:\n"
 #~ "  -o,  --output-file=FIL        logga meddelanden till FIL.\n"
-#~ "  -a,  --append-output=FIL      lägg till meddelanden till FIL.\n"
-#~ "  -d,  --debug                  skriv ut felsökningsmeddelanden.\n"
+#~ "  -a,  --append-output=FIL      lägg till meddelanden till FIL.\n"
+#~ "  -d,  --debug                  skriv ut felsökningsmeddelanden.\n"
 #~ "  -q,  --quiet                  tyst (inga utskrifter).\n"
-#~ "  -v,  --verbose                var utförlig (detta är standard).\n"
-#~ "  -nv, --non-verbose            stäng av utförlighet, utan att vara tyst.\n"
-#~ "  -i,  --input-file=FIL         hämta URL:er som finns i FIL.\n"
+#~ "  -v,  --verbose                var utförlig (detta är standard).\n"
+#~ "  -nv, --non-verbose            stäng av utförlighet, utan att vara "
+#~ "tyst.\n"
+#~ "  -i,  --input-file=FIL         hämta URL:er som finns i FIL.\n"
 #~ "  -F,  --force-html             behandla indatafil som HTML.\n"
-#~ "  -B,  --base=URL               lägger till URL till relativa länkar vid\n"
+#~ "  -B,  --base=URL               lägger till URL till relativa länkar vid\n"
 #~ "                                -F -i fil.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "Download:\n"
-#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
 #~ "       --retry-connrefused      retry even if connection is refused.\n"
 #~ "  -O   --output-document=FILE   write documents to FILE.\n"
-#~ "  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-#~ "  -c,  --continue               resume getting a partially-downloaded file.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
 #~ "       --progress=TYPE          select progress gauge type.\n"
-#~ "  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
 #~ "  -S,  --server-response        print server response.\n"
 #~ "       --spider                 don't download anything.\n"
 #~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
@@ -1720,46 +1995,57 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
 #~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
 #~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-#~ "       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
 #~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
 #~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
 #~ "       --limit-rate=RATE        limit download rate to RATE.\n"
 #~ "       --dns-cache=off          disable caching DNS lookups.\n"
-#~ "       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
 #~ "\n"
 #~ msgstr ""
-#~ "Hämtning:\n"
-#~ "  -t,  --tries=ANTAL            sätt antal försök till ANTAL (0=obegränsat).\n"
-#~ "       --retry-connrefused      försök igen även om anslutning nekas.\n"
+#~ "Hämtning:\n"
+#~ "  -t,  --tries=ANTAL            sätt antal försök till ANTAL "
+#~ "(0=obegränsat).\n"
+#~ "       --retry-connrefused      försök igen även om anslutning nekas.\n"
 #~ "  -O   --output-document=FIL    skriv dokument till FIL.\n"
-#~ "  -nc, --no-clobber             skriv inte över existerande filer eller\n"
-#~ "                                använd .#-suffix.\n"
-#~ "  -c,  --continue               återuppta hämtningen av en delvis hämtad fil.\n"
-#~ "       --progress=TYP           välj typ av förloppsmätare.\n"
-#~ "  -N,  --timestamping           hämta inte om filer om de inte är nyare än\n"
+#~ "  -nc, --no-clobber             skriv inte över existerande filer eller\n"
+#~ "                                använd .#-suffix.\n"
+#~ "  -c,  --continue               återuppta hämtningen av en delvis hämtad "
+#~ "fil.\n"
+#~ "       --progress=TYP           välj typ av förloppsmätare.\n"
+#~ "  -N,  --timestamping           hämta inte om filer om de inte är nyare "
+#~ "än\n"
 #~ "                                de lokala.\n"
 #~ "  -S,  --server-response        visa serversvar.\n"
-#~ "       --spider                 hämta inte något.\n"
-#~ "  -T,  --timeout=SEKUNDER       sätt alla tidsgränser till SEKUNDER.\n"
-#~ "       --dns-timeout=SEKUNDER   sätt tidsgräns för DNS-uppslagning till\n"
+#~ "       --spider                 hämta inte något.\n"
+#~ "  -T,  --timeout=SEKUNDER       sätt alla tidsgränser till SEKUNDER.\n"
+#~ "       --dns-timeout=SEKUNDER   sätt tidsgräns för DNS-uppslagning till\n"
 #~ "                                SEKUNDER.\n"
-#~ "       --connect-timeout=SEK    sätt tidsgräns för anslutning till SEK.\n"
-#~ "       --read-timeout=SEKUNDER  sätt tidsgräns för läsning till SEKUNDER.\n"
-#~ "  -w,  --wait=SEKUNDER          vänta SEKUNDER mellan hämtningar.\n"
-#~ "       --waitretry=SEKUNDER     vänta 1...SEKUNDER mellan hämtningsförsök.\n"
-#~ "       --random-wait            vänta från 0...2*VÄNTA sekunder mellan\n"
-#~ "                                hämtningar.\n"
-#~ "  -Y,  --proxy=on/off           sätt proxy till på (on) eller av (off).\n"
-#~ "  -Q,  --quota=ANTAL            sätt gräns för hämtning till ANTAL.\n"
-#~ "       --bind-address=ADRESS    bind till ADRESS (värdnamn eller IP) på\n"
-#~ "                                lokala värden.\n"
-#~ "       --limit-rate=HASTIGHET   begränsa hämtningshastighet till HASTIGHET.\n"
+#~ "       --connect-timeout=SEK    sätt tidsgräns för anslutning till SEK.\n"
+#~ "       --read-timeout=SEKUNDER  sätt tidsgräns för läsning till "
+#~ "SEKUNDER.\n"
+#~ "  -w,  --wait=SEKUNDER          vänta SEKUNDER mellan hämtningar.\n"
+#~ "       --waitretry=SEKUNDER     vänta 1...SEKUNDER mellan "
+#~ "hämtningsförsök.\n"
+#~ "       --random-wait            vänta från 0...2*VÄNTA sekunder mellan\n"
+#~ "                                hämtningar.\n"
+#~ "  -Y,  --proxy=on/off           sätt proxy till på (on) eller av (off).\n"
+#~ "  -Q,  --quota=ANTAL            sätt gräns för hämtning till ANTAL.\n"
+#~ "       --bind-address=ADRESS    bind till ADRESS (värdnamn eller IP) på\n"
+#~ "                                lokala värden.\n"
+#~ "       --limit-rate=HASTIGHET   begränsa hämtningshastighet till "
+#~ "HASTIGHET.\n"
 #~ "\n"
-#~ "       --dns-cache=off          inaktivera cachande av DNS-uppslagningar.\n"
-#~ "       --restrict-file-names=OS begränsa tecken i filnamn till de som\n"
-#~ "                                operativsystemet tillåter.\n"
+#~ "       --dns-cache=off          inaktivera cachande av DNS-"
+#~ "uppslagningar.\n"
+#~ "       --restrict-file-names=OS begränsa tecken i filnamn till de som\n"
+#~ "                                operativsystemet tillåter.\n"
 
 #~ msgid ""
 #~ "Directories:\n"
@@ -1767,62 +2053,75 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "  -x,  --force-directories         force creation of directories.\n"
 #~ "  -nH, --no-host-directories       don't create host directories.\n"
 #~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Kataloger:\n"
 #~ "  -nd, --no-directories            skapa inte kataloger.\n"
 #~ "  -x,  --force-directories         tvinga skapande av kataloger.\n"
-#~ "  -nH, --no-host-directories       skapa inte värddatorkataloger.\n"
+#~ "  -nH, --no-host-directories       skapa inte värddatorkataloger.\n"
 #~ "  -P,  --directory-prefix=PREFIX   spara filer till PREFIX/...\n"
-#~ "       --cut-dirs=ANTAL            ignorera ANTAL fjärrkatalogkomponenter.\n"
+#~ "       --cut-dirs=ANTAL            ignorera ANTAL "
+#~ "fjärrkatalogkomponenter.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "HTTP options:\n"
 #~ "       --http-user=USER      set http user to USER.\n"
 #~ "       --http-passwd=PASS    set http password to PASS.\n"
-#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-#~ "  -E,  --html-extension      save all text/html documents with .html extension.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
 #~ "       --ignore-length       ignore `Content-Length' header field.\n"
 #~ "       --header=STRING       insert STRING among the headers.\n"
 #~ "       --proxy-user=USER     set USER as proxy username.\n"
 #~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
-#~ "       --referer=URL         include `Referer: URL' header in HTTP request.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
 #~ "  -s,  --save-headers        save the HTTP headers to file.\n"
 #~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
 #~ "       --cookies=off         don't use cookies.\n"
 #~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
 #~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
-#~ "       --post-data=STRING    use the POST method; send STRING as the data.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
 #~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "HTTP-flaggor:\n"
-#~ "       --http-user=ANVÄNDARE     sätt http-användare till ANVÄNDARE.\n"
-#~ "       --http-passwd=LÖSENORD    sätt http-lösenord till LÖSENORD.\n"
-#~ "  -C,  --cache=on/off            tillåt/tillåt inte server-cachad data\n"
-#~ "                                 (normalt tillåtet).\n"
-#~ "  -E,  --html-extension          spara alla text/html-dokument med ändelsen\n"
+#~ "       --http-user=ANVÄNDARE     sätt http-användare till ANVÄNDARE.\n"
+#~ "       --http-passwd=LÖSENORD    sätt http-lösenord till LÖSENORD.\n"
+#~ "  -C,  --cache=on/off            tillåt/tillåt inte server-cachad data\n"
+#~ "                                 (normalt tillåtet).\n"
+#~ "  -E,  --html-extension          spara alla text/html-dokument med "
+#~ "ändelsen\n"
 #~ "                                 .html.\n"
-#~ "       --ignore-length           ignorera \"Content-Length\"-fält i huvuden.\n"
-#~ "       --header=STRÄNG           sätt in STRÄNG bland huvudena.\n"
-#~ "       --proxy-user=ANVÄNDARE    sätt ANVÄNDARE som användarnamn för\n"
+#~ "       --ignore-length           ignorera \"Content-Length\"-fält i "
+#~ "huvuden.\n"
+#~ "       --header=STRÄNG           sätt in STRÄNG bland huvudena.\n"
+#~ "       --proxy-user=ANVÄNDARE    sätt ANVÄNDARE som användarnamn för\n"
 #~ "                                 proxyserver.\n"
-#~ "       --proxy-passwd=LÖSENORD   sätt LÖSENORD som lösenord för proxyserver.\n"
+#~ "       --proxy-passwd=LÖSENORD   sätt LÖSENORD som lösenord för "
+#~ "proxyserver.\n"
 #~ "       --referer=URL             inkludera \"Referer: URL\"-huvud i\n"
-#~ "                                 HTTP-begäran.\n"
+#~ "                                 HTTP-begäran.\n"
 #~ "  -s,  --save-headers            spara HTTP-huvudena till fil.\n"
-#~ "  -U,  --user-agent=AGENT        identifiera som AGENT istället för\n"
+#~ "  -U,  --user-agent=AGENT        identifiera som AGENT istället för\n"
 #~ "                                 Wget/VERSION.\n"
-#~ "       --no-http-keep-alive      använd inte \"HTTP-keepalive\" (beständiga\n"
+#~ "       --no-http-keep-alive      använd inte \"HTTP-keepalive"
+#~ "\" (beständiga\n"
 #~ "                                 anslutningar).\n"
-#~ "       --cookies=off             använd inte kakor.\n"
-#~ "       --load-cookies=FIL        läs in kakor från FIL innan sessionen.\n"
+#~ "       --cookies=off             använd inte kakor.\n"
+#~ "       --load-cookies=FIL        läs in kakor från FIL innan sessionen.\n"
 #~ "       --save-cookies=FIL        spara kakor till FIL efter sessionen.\n"
-#~ "       --post-data=STRÄNG        använd POST-metoden; skicka STRÄNG som data.\n"
-#~ "       --post-file=FIL           använd POST-metoden; skicka innehållet i FIL.\n"
+#~ "       --post-data=STRÄNG        använd POST-metoden; skicka STRÄNG som "
+#~ "data.\n"
+#~ "       --post-file=FIL           använd POST-metoden; skicka innehållet i "
+#~ "FIL.\n"
 #~ "\n"
 
 #~ msgid ""
@@ -1832,7 +2131,8 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "       --egd-file=FILE        file name of the EGD socket.\n"
 #~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
 #~ "       --sslcafile=FILE       file with bundle of CA's\n"
-#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
 #~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
 #~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
 #~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
@@ -1840,13 +2140,16 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ msgstr ""
 #~ "HTTPS-flaggor (SSL-flaggor):\n"
 #~ "       --sslcertfile=FIL        frivilligt klientcertifikat.\n"
-#~ "       --sslcertkey=NYCKELFIL   frivillig nyckelfil för detta certifikat.\n"
-#~ "       --egd-file=FIL           filnamn på EGD-uttaget.\n"
-#~ "       --sslcadir=KATALOG       katalog där hash-list med CA:er lagras.\n"
+#~ "       --sslcertkey=NYCKELFIL   frivillig nyckelfil för detta "
+#~ "certifikat.\n"
+#~ "       --egd-file=FIL           filnamn på EGD-uttaget.\n"
+#~ "       --sslcadir=KATALOG       katalog där hash-list med CA:er lagras.\n"
 #~ "       --sslcafile=FIL          fil med CA-samling\n"
-#~ "       --sslcerttype=0/1        klientcertifikattyp 0=PEM (standard) / 1=ASN1 (DER)\n"
-#~ "       --sslcheckcert=0/1       kontrollera servercertifikatet mot angiven CA\n"
-#~ "       --sslprotocol=0-3        välj SSL-protokoll; 0=automatiskt,\n"
+#~ "       --sslcerttype=0/1        klientcertifikattyp 0=PEM (standard) / "
+#~ "1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1       kontrollera servercertifikatet mot "
+#~ "angiven CA\n"
+#~ "       --sslprotocol=0-3        välj SSL-protokoll; 0=automatiskt,\n"
 #~ "                                1=SSLv2 2=SSLv3 3=TLSv1\n"
 #~ "\n"
 
@@ -1855,97 +2158,115 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
 #~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
 #~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
-#~ "       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
 #~ "\n"
 #~ msgstr ""
 #~ "FTP-flaggor:\n"
 #~ "  -nr, --dont-remove-listing   ta inte bort \".listing\"-filer.\n"
-#~ "  -g,  --glob=on/off           sätt på/stäng av filnamnsmatchning.\n"
-#~ "       --passive-ftp           använd \"passiv\" överföring.\n"
-#~ "       --retr-symlinks         hämta länkade filer (inte kataloger) vid\n"
+#~ "  -g,  --glob=on/off           sätt på/stäng av filnamnsmatchning.\n"
+#~ "       --passive-ftp           använd \"passiv\" överföring.\n"
+#~ "       --retr-symlinks         hämta länkade filer (inte kataloger) vid\n"
 #~ "                               rekursion.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "Recursive retrieval:\n"
 #~ "  -r,  --recursive          recursive download.\n"
-#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
 #~ "       --delete-after       delete files locally after downloading them.\n"
 #~ "  -k,  --convert-links      convert non-relative links to relative.\n"
 #~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-#~ "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
 #~ "\n"
 #~ msgstr ""
-#~ "Rekursiv hämtning:\n"
-#~ "  -r,  --recursive             rekursiv hämtning.\n"
-#~ "  -l,  --level=ANTAL           maximalt rekursionsdjup (inf eller 0 för\n"
-#~ "                               obegränsat).\n"
-#~ "       --delete-after          ta bort filer lokalt efter hämtning.\n"
-#~ "  -k,  --convert-links         konvertera absoluta länkar till relativa.\n"
-#~ "  -K,  --backup-converted      säkerhetskopiera som X.orig innan\n"
+#~ "Rekursiv hämtning:\n"
+#~ "  -r,  --recursive             rekursiv hämtning.\n"
+#~ "  -l,  --level=ANTAL           maximalt rekursionsdjup (inf eller 0 för\n"
+#~ "                               obegränsat).\n"
+#~ "       --delete-after          ta bort filer lokalt efter hämtning.\n"
+#~ "  -k,  --convert-links         konvertera absoluta länkar till relativa.\n"
+#~ "  -K,  --backup-converted      säkerhetskopiera som X.orig innan\n"
 #~ "                               konvertering av filen X.\n"
-#~ "  -m,  --mirror                genvägsflagga som motsvarar -r -N -l inf -nr.\n"
-#~ "  -p,  --page-requisites       hämta alla bilder osv som behövs för visning\n"
+#~ "  -m,  --mirror                genvägsflagga som motsvarar -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites       hämta alla bilder osv som behövs för "
+#~ "visning\n"
 #~ "                               av HTML-sida.\n"
-#~ "       --strict-comments       slå på strikt (SGML) hantering av HTML-\n"
+#~ "       --strict-comments       slå på strikt (SGML) hantering av HTML-\n"
 #~ "                               kommentarer.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "Recursive accept/reject:\n"
-#~ "  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-#~ "  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-#~ "  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-#~ "       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-#~ "       --follow-ftp                 follow FTP links from HTML documents.\n"
-#~ "       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
 #~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
 #~ "  -L,  --relative                   follow relative links only.\n"
 #~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
 #~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-#~ "  -np, --no-parent                  don't ascend to the parent directory.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
 #~ "\n"
 #~ msgstr ""
-#~ "Tillåtelser vid rekursiv hämtning:\n"
-#~ "  -A,  --accept=LISTA                kommaseparerad lista med tillåtna\n"
-#~ "                                     ändelser.\n"
-#~ "  -R,  --reject=LISTA                kommaseparerad lista med otillåtna\n"
-#~ "                                     ändelser.\n"
-#~ "  -D,  --domains=LISTA               kommaseparerad lista med tillåtna domäner.\n"
-#~ "       --exclude-domains=LISTA       kommaseparerad lista med otillåtna\n"
-#~ "                                     domäner.\n"
-#~ "       --follow-ftp                  följ FTP-länkar från HTML-dokument.\n"
-#~ "       --follow-tags=LISTA           kommaseparerad lista med HTML-taggar\n"
-#~ "                                     som följs.\n"
+#~ "Tillåtelser vid rekursiv hämtning:\n"
+#~ "  -A,  --accept=LISTA                kommaseparerad lista med tillåtna\n"
+#~ "                                     ändelser.\n"
+#~ "  -R,  --reject=LISTA                kommaseparerad lista med otillåtna\n"
+#~ "                                     ändelser.\n"
+#~ "  -D,  --domains=LISTA               kommaseparerad lista med tillåtna "
+#~ "domäner.\n"
+#~ "       --exclude-domains=LISTA       kommaseparerad lista med otillåtna\n"
+#~ "                                     domäner.\n"
+#~ "       --follow-ftp                  följ FTP-länkar från HTML-dokument.\n"
+#~ "       --follow-tags=LISTA           kommaseparerad lista med HTML-"
+#~ "taggar\n"
+#~ "                                     som följs.\n"
 #~ "  -G,  --ignore-tags=LISTA           kommaseparerad lista med ignorerade\n"
 #~ "                                     HTML-taggar.\n"
-#~ "  -H,  --span-hosts                  gå till främmande värdar i rekursivt läge.\n"
-#~ "  -L,  --relative                    följ endast relativa länkar.\n"
-#~ "  -I,  --include-directories=LISTA   lista med tillåtna kataloger.\n"
+#~ "  -H,  --span-hosts                  gå till främmande värdar i rekursivt "
+#~ "läge.\n"
+#~ "  -L,  --relative                    följ endast relativa länkar.\n"
+#~ "  -I,  --include-directories=LISTA   lista med tillåtna kataloger.\n"
 #~ "  -X,  --exclude-directories=LISTA   lista med uteslutna kataloger.\n"
-#~ "  -np, --no-parent                   gå inte upp till förälderkatalog.\n"
+#~ "  -np, --no-parent                   gå inte upp till förälderkatalog.\n"
 #~ "\n"
 
 #~ msgid "%s: debug support not compiled in.\n"
-#~ msgstr "%s: stöd för felsökningsinformation är inte inkompilerat.\n"
+#~ msgstr "%s: stöd för felsökningsinformation är inte inkompilerat.\n"
 
 #~ msgid "Starting WinHelp %s\n"
 #~ msgstr "Startar WinHelp %s\n"
 
 #~ msgid "Empty host"
-#~ msgstr "Tom värd"
+#~ msgstr "Tom värd"
 
 #~ msgid "%s: %s: Not enough memory.\n"
-#~ msgstr "%s: %s: Inte tillräckligt med minne.\n"
+#~ msgstr "%s: %s: Inte tillräckligt med minne.\n"
 
 #~ msgid "Resolving %s..."
-#~ msgstr "Slår upp %s..."
+#~ msgstr "Slår upp %s..."
 
 #~ msgid "[following]"
-#~ msgstr "[följer]"
+#~ msgstr "[följer]"
 
 #~ msgid ""
 #~ "HTTPS (SSL) options:\n"
@@ -1954,7 +2275,8 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ "       --egd-file=FILE        file name of the EGD socket.\n"
 #~ "       --sslcadir=DIR         dir where hash list of CA's are stured.\n"
 #~ "       --sslcafile=FILE       file with bundle of CA's\n"
-#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
 #~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
 #~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
 #~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
@@ -1962,13 +2284,16 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ msgstr ""
 #~ "HTTPS-flaggor (SSL-flaggor):\n"
 #~ "       --sslcertfile=FIL        frivilligt klientcertifikat.\n"
-#~ "       --sslcertkey=NYCKELFIL   frivillig nyckelfil för detta certifikat.\n"
-#~ "       --egd-file=FIL           filnamn på EGD-uttaget.\n"
-#~ "       --sslcadir=KATALOG       katalog där hash-list med CA:er lagras.\n"
+#~ "       --sslcertkey=NYCKELFIL   frivillig nyckelfil för detta "
+#~ "certifikat.\n"
+#~ "       --egd-file=FIL           filnamn på EGD-uttaget.\n"
+#~ "       --sslcadir=KATALOG       katalog där hash-list med CA:er lagras.\n"
 #~ "       --sslcafile=FIL          fil med CA-samling\n"
-#~ "       --sslcerttype=0/1        klientcertifikattyp 0=PEM (standard) / 1=ASN1 (DER)\n"
-#~ "       --sslcheckcert=0/1       kontrollera servercertifikatet mot angiven CA\n"
-#~ "       --sslprotocol=0-3        välj SSL-protokoll; 0=automatiskt,\n"
+#~ "       --sslcerttype=0/1        klientcertifikattyp 0=PEM (standard) / "
+#~ "1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1       kontrollera servercertifikatet mot "
+#~ "angiven CA\n"
+#~ "       --sslprotocol=0-3        välj SSL-protokoll; 0=automatiskt,\n"
 #~ "                                1=SSLv2 2=SSLv3 3=TLSv1\n"
 #~ "\n"
 
@@ -1982,10 +2307,10 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ msgstr "%s: %s: ogiltigt kommando\n"
 
 #~ msgid "Could not find proxy host.\n"
-#~ msgstr "Kunde inte hitta proxyvärden.\n"
+#~ msgstr "Kunde inte hitta proxyvärden.\n"
 
 #~ msgid "%s: Redirection cycle detected.\n"
-#~ msgstr "%s: Omdirigeringscykel upptäckt.\n"
+#~ msgstr "%s: Omdirigeringscykel upptäckt.\n"
 
 #~ msgid ""
 #~ "\n"
@@ -1995,23 +2320,23 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ msgstr ""
 #~ "\n"
 #~ "CTRL+Break mottaget, omdirigerar utdata till \"%s\".\n"
-#~ "Programkörningen fortsätter i bakgrunden.\n"
+#~ "Programkörningen fortsätter i bakgrunden.\n"
 #~ "Du kan stoppa Wget genom att trycka CTRL+ALT+DELETE.\n"
 
 #~ msgid "Connection to %s:%hu refused.\n"
 #~ msgstr "Anslutning till %s:%hu nekas.\n"
 
 #~ msgid "Will try connecting to %s:%hu.\n"
-#~ msgstr "Försöker ansluta till %s:%hu.\n"
+#~ msgstr "Försöker ansluta till %s:%hu.\n"
 
 #~ msgid "Unknown/unsupported protocol"
-#~ msgstr "Okänt protokoll/protokollet stöds inte"
+#~ msgstr "Okänt protokoll/protokollet stöds inte"
 
 #~ msgid "Invalid port specification"
 #~ msgstr "Ogiltig portspecifikation"
 
 #~ msgid "%s: Cannot determine user-id.\n"
-#~ msgstr "%s: Kan inte avgöra användar-id.\n"
+#~ msgstr "%s: Kan inte avgöra användar-id.\n"
 
 #~ msgid "%s: Warning: uname failed: %s\n"
 #~ msgstr "%s: Varning: uname misslyckades: %s\n"
@@ -2020,31 +2345,32 @@ msgstr "%s: %s: Misslyckades att allokera %ld byte; minne fullt.\n"
 #~ msgstr "%s: Varning: gethostname misslyckades\n"
 
 #~ msgid "%s: Warning: cannot determine local IP address.\n"
-#~ msgstr "%s: Varning: kan inte avgöra lokal IP-adress.\n"
+#~ msgstr "%s: Varning: kan inte avgöra lokal IP-adress.\n"
 
 #~ msgid "%s: Warning: cannot reverse-lookup local IP address.\n"
-#~ msgstr "%s: Varning: kan inte utföra omvänd uppslagning av lokal IP-adress.\n"
+#~ msgstr ""
+#~ "%s: Varning: kan inte utföra omvänd uppslagning av lokal IP-adress.\n"
 
 #~ msgid "%s: Warning: reverse-lookup of local address did not yield FQDN!\n"
 #~ msgstr ""
-#~ "%s: Varning: omvänd uppslagning av den lokala adressen gav inget\n"
-#~ "fullständigt domännamn!\n"
+#~ "%s: Varning: omvänd uppslagning av den lokala adressen gav inget\n"
+#~ "fullständigt domännamn!\n"
 
 #~ msgid "%s: Out of memory.\n"
-#~ msgstr "%s: Slut på minne.\n"
+#~ msgstr "%s: Slut på minne.\n"
 
 #~ msgid "%s: Redirection to itself.\n"
-#~ msgstr "%s: Omdirigering till sig själv.\n"
+#~ msgstr "%s: Omdirigering till sig själv.\n"
 
 #~ msgid "Error (%s): Link %s without a base provided.\n"
-#~ msgstr "Fel (%s): Länk %s given utan en bas.\n"
+#~ msgstr "Fel (%s): Länk %s given utan en bas.\n"
 
 #~ msgid "Error (%s): Base %s relative, without referer URL.\n"
-#~ msgstr "Fel (%s): Basen %s relativ utan hänvisar-URL.\n"
+#~ msgstr "Fel (%s): Basen %s relativ utan hänvisar-URL.\n"
 
 #~ msgid ""
 #~ "Local file `%s' is more recent, not retrieving.\n"
 #~ "\n"
 #~ msgstr ""
-#~ "Lokala filen \"%s\" är nyare, hämtar inte.\n"
+#~ "Lokala filen \"%s\" är nyare, hämtar inte.\n"
 #~ "\n"
index 9b662023f65a5139821ee86464106888427ee7bb..b8e8e7865df999a231ca14284442eb761dd62358 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2005-07-16 19:09+0300\n"
 "Last-Translator: Nilgün Belma Bugüner <nilgun@superonline.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -16,206 +16,260 @@ msgstr ""
 "X-Generator: KBabel 1.9.1\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: seçenek `%s' belirsiz\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: seçenek `--%s' argümansız kullanılır\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: seçenek `%c%s' argümansız kullanılır\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: seçenek `%s' bir argümanla kullanılır\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: `--%s' seçeneği bilinmiyor\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: kuraldışı seçenek -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: geçersiz seçenek -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: seçenek bir argümanla kullanılır -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: seçenek `-W %s' belirsiz\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: seçenek `-W %s' argümansız kullanılır\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr "%s: `%s' adresi çözümlenemiyor; işlem iptal edildi.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "%s[%s]:%d bağlanılıyor... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "%s:%d bağlanılıyor..."
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "bağlantı kuruldu.\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "olmadı: %s.\n"
 
-#: src/convert.c:176
-#, c-format
-msgid "Converted %d files in %.*f seconds.\n"
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: `%s' adresi çözümlenemiyor; işlem iptal edildi.\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "%d dosya %.*f saniyede dönüştürüldü.\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "%s dönüştürülüyor..."
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "birşey yapılmadı.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "%s deki bağlar dönüştürülemiyor: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "`%s' silinemiyor: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "%s, %s olarak yedeklenemiyor: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Set-Cookie, `%s' alanında hata"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Set-Cookie'de sözdizimi hatası: %2$d. konumda %1$s.\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "%s adresinden gelen çerez alan adını %s yapmaya çalıştı\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Çerezler dosyası `%s' açılamıyor: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "`%s' yazılırken hata: %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "`%s' kapatılırken hata: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Desteklenmeyen listeleme türü, Unix liste çözümleyici deneniyor.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "%2$s:%3$d üstünde /%1$s indeksi"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "zaman bilinmiyor    "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Dosya       "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Dizin       "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Bağ         "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Kesin değil "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s bayt)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Uzunluk: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", %s (%s) kalan"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", %s kalan"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (yetkin değil)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "%s olarak oturuma giriliyor ... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "Sunucu yanıtında hata, kontrol bağlantısı kapatılıyor.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "Sunucu karşılama iletisinde hata.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Yazma başarısız, kontrol bağlantısı kapatılıyor.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "Sunucu oturum açmayı reddetti.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Oturum açma başarısız.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "Oturum açıldı!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "Sunucu hatası, sistem türü saptanamadı.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "tamam.   "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "tamam.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Tür `%c' bilinmiyor, kontrol bağlantısı kapatılıyor.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "tamam.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD gereksiz.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -224,34 +278,33 @@ msgstr ""
 "`%s' diye bir dizin yok.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD gerekli değil.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "PASV aktarımı başlatılamadı.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "PASV yanıtı çözümlenemedi.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "bağlanılamadı: %s:%d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bağlanma hatası (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORT geçersiz.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -259,7 +312,7 @@ msgstr ""
 "\n"
 "REST başarısız, baştan başlanıyor.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -268,7 +321,7 @@ msgstr ""
 "`%s' diye bir dosya yok.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -277,44 +330,40 @@ msgstr ""
 "`%s' diye bir dosya ya da dizin yok.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s birden ortaya çıktı.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, kontrol bağlantısı kapatılıyor.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Veri bağlantısı: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Kontrol bağlantısı kapatıldı.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Veri aktarımı kesildi.\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "`%s' dosyası zaten var; alınmayacak.\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(deneme: %2d)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -323,37 +372,34 @@ msgstr ""
 "%s (%s) - `%s' kaydedildi [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "%s kaldırılıyor.\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Listeleme için geçici dosya olarak `%s' kullanılıyor.\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "`%s' kaldırıldı.\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "Yineleme derinliği %d aşıldı. En fazla derinlik %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr ""
 "Uzak dosya bizdeki %s dosyasından daha yeni değil -- alınmayacak.\n"
 "\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -362,8 +408,7 @@ msgstr ""
 "Uzak dosya bizdeki %s dosyasından daha yeni  -- alınıyor.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -372,11 +417,11 @@ msgstr ""
 "Uzunlukları aynı değil (bizdeki %s), -- alınıyor.\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Sembolik bağın ismi geçersiz, atlanıyor.\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -385,242 +430,185 @@ msgstr ""
 "Zaten doğru sembolik bağ var: %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Sembolik bağ oluşturuluyor: %s -> %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Sembolik bağ desteklenmiyor. `%s' sembolik bağı atlanıyor.\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "`%s' dizini atlanıyor.\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: bilinmeyen/desteklenmeyen dosya türü.\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: zaman damgası bozuk.\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "%d derinliğindeki dizinler alınamayacak (en çok %d)\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Dışlanan/izin-verilmeyen olarak `%s' e inilmiyor.\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "`%s' reddediliyor.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "`%s' yazılırken hata: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "`%s' kalıbına uygun sonuç gelmedi.\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "HTMLeştirilmiş indeks `%s' e yazıldı [%s].\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "HTMLeştirilmiş indeks `%s' e yazıldı.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: seçenek `%s' belirsiz\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: seçenek `--%s' argümansız kullanılır\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: seçenek `%c%s' argümansız kullanılır\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: seçenek `%s' bir argümanla kullanılır\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: `--%s' seçeneği bilinmiyor\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: kuraldışı seçenek -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: geçersiz seçenek -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: seçenek bir argümanla kullanılır -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: seçenek `-W %s' belirsiz\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: seçenek `-W %s' argümansız kullanılır\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Bilinmeyen makine"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "İsim çözümlemesinde geçici bir hata oluştu"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Hata anlaşılamadı"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "%s çözümleniyor... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "olmadı: Makinenin bir IPv4/IPv6 adresi yok.\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "olmadı: zamanaşımı.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: İçi boş %s bağı çözümlenemez.\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: URL `%s' geçersiz: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "HTTP isteğini yazma başarısız: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Başlıklar eksik, HTTP/0.9 olduğu varsayılıyor"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "Ne olduğu belirsiz hatalardan dolayı SSL iptal ediliyor.\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "POST veri dosyası `%s' kayıp: %s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "Bağlantı tekrar kullanılıyor: %s:%d.\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Vekilin yanıtı okunamadı: %s\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Vekil tünellenemedi: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s isteği gönderildi, yanıt bekleniyor... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Hiçbir veri alınmadı.\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Başlıklar okunurken hata (%s).\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "`%s' dosyası zaten var; alınmayacak.\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Kimlik tanımlama şeması bilinmiyor.\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Yetkilendirme başarısız.\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Durum satırı bozuk"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(açıklama yok)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Yer: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "belirtilmeyen"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [izleyen]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -630,59 +618,59 @@ msgstr ""
 "    Dosya zaten alınmıştı; birşey yapılmadı.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Uzunluk: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "yoksayıldı"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "`%s' dizini atlanıyor.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Uyarı: HTTP ile genel arama karakterleri kullanılamaz.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
-msgstr "`%s' dosyası zaten var; alınmayacak.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "`%s'e yazılamadı (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "SSL bağlantısı kurulamıyor.\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "HATA: Yönlendirmede (%d) yer belirtilmemiş.\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s HATA %d: %s.\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Last-modified başlığı kayıp -- zaman damgası kapatıldı.\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Last-modified başlığı geçersiz -- zaman damgası yoksayıldı.\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -691,16 +679,44 @@ msgstr ""
 "Sunucudaki dosya yerel dosya %s'den daha yeni değil -- alınmayacak.\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Uzunlukları aynı değil (bizdeki %s), -- alınıyor.\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Uzak dosya daha yeni, alınıyor.\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr ""
+"Uzak dosya bizdeki %s dosyasından daha yeni  -- alınıyor.\n"
+"\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Uzak dosya bizdeki %s dosyasından daha yeni değil -- alınmayacak.\n"
+"\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Uzak dosya bizdeki %s dosyasından daha yeni değil -- alınmayacak.\n"
+"\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -709,111 +725,101 @@ msgstr ""
 "%s (%s) - `%s' kaydedildi [%s/%s]\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - %s baytta bağlantı kesildi. "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) -  %s/%s baytta bağlantı kesildi. "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - %s. baytta okuma hatası (%s)."
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - %s/%s baytta okuma hatası (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC olmayan %s dosyasını gösteriyor.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: %s okunamadı (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: %s dosyasının %d. satırında hata.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: %s dosyasının %d. satırında sözdizimi hatası.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%1$s: %3$s:%4$d: `%2$s' komutu bilinmiyor.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: Uyarı: Sistem ve kullanıcı wgetrc dosyalarının her ikisi de %s gösteriyor.\n"
+msgstr ""
+"%s: Uyarı: Sistem ve kullanıcı wgetrc dosyalarının her ikisi de %s "
+"gösteriyor.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: --execute ile verilen `%s' komutu geçersiz.\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: `%s' mantıken geçersiz; `on' ya da `off' kullanın.\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: `%s' mantıken geçersiz;\n"
-"`always', `on', `off' veya `never' kullanın.\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: `%s' sayı olarak geçersiz.\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: `%s' bayt değer olarak geçersiz.\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: `%s'süre olarak geçersiz.\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: `%s' değer olarak geçersiz.\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: `%s' başlok olarak geçersiz.\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: İşlem türü `%s' geçersiz.\n"
 
-#: src/init.c:1259
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: `%s' sınırlaması geçersiz, `unix' ya da `windows' kullanın.\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -822,9 +828,7 @@ msgstr ""
 "\n"
 "%s alındı, çıktı `%s'e yönlendirildi. \n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -833,17 +837,17 @@ msgstr ""
 "\n"
 "%s alındı.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; giriş iptalediliyor.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Kullanımı: %s [SEÇENEK]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -851,556 +855,677 @@ msgstr ""
 "Uzun seçeneklerdeki zorunlu argümanlar kısa seçeneklerde de zorunludur.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Başlangıç:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version              Wget sürümünü gösterir ve çıkar.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help                 bu yardım metnini basar.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background           artalanda başlatılır.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-msgstr "  -e,  --execute=KOMUT        `.wgetrc' tarzı bir komut çalıştırmak için.\n"
+msgstr ""
+"  -e,  --execute=KOMUT        `.wgetrc' tarzı bir komut çalıştırmak için.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Günlük kaydı ve girdi dosyası:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=DOSYA    Günlük kayıtları DOSYAya yazılır.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=DOSYA  iletiler DOSYAya eklenir.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug                hata ayıklama bilgileri basılır.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+#, fuzzy
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "  -d,  --debug                hata ayıklama bilgileri basılır.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
-msgstr "  -q,  --quiet                hiçbir bilgi verilmez (sessiz çalışma).\n"
+msgstr ""
+"  -q,  --quiet                hiçbir bilgi verilmez (sessiz çalışma).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose              ayrıtılı bilgi verilir (öntanımlıdır).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr "  -nv, --no-verbose           daha az ayrıntılı bilgi verilir.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=DOSYA     DOSYAda kayıtlı adresler indirilir.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
-msgstr "  -F,  --force-html           girdi dosyasının HTML olduğu varsayılır.\n"
+msgstr ""
+"  -F,  --force-html           girdi dosyasının HTML olduğu varsayılır.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
 "  -B,  --base=ADRES            -F -i DOSYA kullanımındaki göreli bağların\n"
 "                                önüne konacak ADRES\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "İndirme:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
 msgstr "  -t,  --tries=SAYI           yineleme SAYIsı (0: sınırsız).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
-msgstr "       --retry-connrefused       bağlantı reddedilse bile yeniden dener.\n"
+msgstr ""
+"       --retry-connrefused       bağlantı reddedilse bile yeniden dener.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr ""
 "  -O,  --output-document=DOSYA\n"
 "                               belgeler DOSYAya yazılır.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr "  -nc, --no-clobber           Mevcut dosyalar tekrar indirilmez.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr ""
 "  -c,  --continue             dosya yarım kalmışsa kaldığı yerden devam\n"
 "                              ettirilir.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=TÜR         süreç göstergesi TÜRü.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping         mevcuttan daha yeni olmayan dosyalar indirilmez.\n"
+msgstr ""
+"  -N,  --timestamping         mevcuttan daha yeni olmayan dosyalar "
+"indirilmez.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response      sunucunun yanıtını basar.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
-msgstr "       --spider               hiçbir şey indirilmez (araştırma kipi).\n"
+msgstr ""
+"       --spider               hiçbir şey indirilmez (araştırma kipi).\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
 msgstr "  -T,  --timeout=SÜRE         saniye cinsinden zamanaşımı SÜREsi.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SÜRE      saniye cinsinden isim çözümleme SÜREsi.\n"
+msgstr ""
+"       --dns-timeout=SÜRE      saniye cinsinden isim çözümleme SÜREsi.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SÜRE saniye cinsinden bağlantı zamanaşımı SÜREsi\n"
+msgstr ""
+"       --connect-timeout=SÜRE saniye cinsinden bağlantı zamanaşımı SÜREsi\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
-msgstr "       --read-timeout=SÜRE    saniye cinsinden okuma zamanaşımı SÜREsi\n"
+msgstr ""
+"       --read-timeout=SÜRE    saniye cinsinden okuma zamanaşımı SÜREsi\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr ""
 "  -w,  --wait=SÜRE            saniye cinsinden alımlar arasındaki bekleme\n"
 "                              SÜREsi\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
 "       --waitretry=BSÜRE      saniye cinsinden alımın yinelenmesini bekleme\n"
 "                              SÜREsi\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr ""
-"       --random-wait          alımlar arasında 0 ile 2*BSÜRE saniye arasında\n"
+"       --random-wait          alımlar arasında 0 ile 2*BSÜRE saniye "
+"arasında\n"
 "                              bekleme yapar.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                vekili etkinleştirir.\n"
-
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy             vekil kullanılmaz.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
 msgstr "  -Q,  --quota=SAYI           alım kotasını SAYIya ayarlar.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
 msgstr ""
 "       --bind-address=ADRES   makinenizin adresi (isim ya da IP) olarak bu\n"
 "                              ADRES gösterilir.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr "       --limit-rate=HIZ         indirme HIZ sınırı.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr "       --no-dns-cache         isim çözümlemesi kayıtları tutulmaz.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
 msgstr ""
 "       --restrict-file-names=İŞLETİM-SİSTEMİ\n"
 "                              dosya ismi uzunluğunu İŞLETİM-SİSTEMİnin izin\n"
 "                              verdiği uzunluğa ayarlar.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+#, fuzzy
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-length        `Content-Length' başlık alanı yoksayılır.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only           sadece IPv4 adreslere bağlanılır.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only           sadece IPv6 adreslere bağlanılır.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=AİLE   ilk bağlantı belirtilen AİLEdeki adrese yapılır.\n"
+"       --prefer-family=AİLE   ilk bağlantı belirtilen AİLEdeki adrese "
+"yapılır.\n"
 "                              IPv6, IPv4 ya da none belirtilebilir.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr ""
 "       --user=İSİM            ftp ve http kullanıcı ismi olarak bu İSİM\n"
 "                              kullanılır.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr ""
 "       --password=PAROLA      ftp ve http kullanıcı parolası olarak bu\n"
 "                              PAROLA kullanılır.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Dizinler:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories    dizin oluşturulmaz.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories mutlaka dizin oluşturulur.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr ""
 "  -nH, --no-host-directories\n"
 "                           karşı tarafın dizin yapısına uyulmaz.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
 msgstr ""
 "       --protocol-directories\n"
 "                           dizinlerde protokol ismi kullanılır.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
-msgstr "  -P,  --directory-prefix=DİZİN  dosyalar belirtilen DİZİN altına kaydedilir.\n"
+msgstr ""
+"  -P,  --directory-prefix=DİZİN  dosyalar belirtilen DİZİN altına "
+"kaydedilir.\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=SAYI        belirtilen SAYIda uzak dizin bileşeni yoksayılır\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=SAYI        belirtilen SAYIda uzak dizin bileşeni "
+"yoksayılır\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP seçenekleri:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=İSİM       http kullanıcı İSMİ.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=PAROLA http kullanıcı PAROLASI.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache             sunucu-arabellekli veriye izin verilmez.\n"
+msgstr ""
+"       --no-cache             sunucu-arabellekli veriye izin verilmez.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension       HTML belgeler `.html' uzantılı kaydedilir.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension       HTML belgeler `.html' uzantılı kaydedilir.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length        `Content-Length' başlık alanı yoksayılır.\n"
+msgstr ""
+"       --ignore-length        `Content-Length' başlık alanı yoksayılır.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=DİZGE         başlık yerine DİZGE konur.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=İSİM      vekil kullanıcı İSMİ.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr ""
 "       --proxy-password=PAROLA\n"
 "                              vekil kullanıcı PAROLASI.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
 msgstr ""
 "       --referer=ADRES        HTTP isteğinde `Referer: ADRES' başlığı\n"
 "                              kullanılır.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers         HTTP başlıkları dosyaya kaydedilir.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
 msgstr "  -U,  --user-agent=AJAN      Wget/SÜRÜM yerine AJAN kullanılır.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive   HTTP keep-alive (sürekli bağlantı) iptal edilir.\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive   HTTP keep-alive (sürekli bağlantı) iptal "
+"edilir.\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies           çerezler kullanılmaz.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=DOSYA   çerezler oturumdan önce DOSYAdan yüklenir.\n"
+msgstr ""
+"       --load-cookies=DOSYA   çerezler oturumdan önce DOSYAdan yüklenir.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
-msgstr "       --save-cookies=DOSYA   çerezler oturumdan sonra DOSYAya kaydedilir.\n"
+msgstr ""
+"       --save-cookies=DOSYA   çerezler oturumdan sonra DOSYAya kaydedilir.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies çerezleri sadece oturum için yükler ve kaydeder\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies çerezleri sadece oturum için yükler ve "
+"kaydeder\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
 msgstr ""
 "       --post-data=DİZGE      POST yöntemi kullanılır; veri olarak DİZGE\n"
 "                              gönderilir.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
 msgstr ""
 "       --post-file=DOSYA      POST yöntemi kullanılır; veri olarak DOSYA\n"
 "                              içeriği gönderilir\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL/TLS) seçenekleri:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
 "       --secure-protocol=PR   güvenlik protokolü belirtilir;\n"
-"                               auto, SSLv2, SSLv3 veya TLSv1 belirtilebilir.\n"
+"                               auto, SSLv2, SSLv3 veya TLSv1 "
+"belirtilebilir.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr "       --no-check-certificate sunucu sertifikası doğrulatılmaz.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=DOSYA    istemci sertifika DOSYAsı.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
 msgstr "       --certificate-type=TÜR istemci sertifika TÜRü; PEM veya DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=DOSYA    gizli anahtar DOSYAsı.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=TÜR gizli anahtar TÜRü; PEM veya DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
-msgstr "       --ca-certificate=DOSYA sertifika yetkilisinin (CA) bohçası için DOSYA.\n"
+msgstr ""
+"       --ca-certificate=DOSYA sertifika yetkilisinin (CA) bohçası için "
+"DOSYA.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
-msgstr "       --ca-directory=DİZİN   sertifika yetkilisinin (CA) çırpılarının yeri.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+"       --ca-directory=DİZİN   sertifika yetkilisinin (CA) çırpılarının "
+"yeri.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
 msgstr ""
 "       --random-file=DOSYA    SSL PRNG'sini tohumlamak için rasgele veri\n"
 "                              içeren DOSYA.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr ""
 "       --egd-file=DOSYA       EGD soketini isimlendirmek için rasgele veri\n"
 "                              içeren DOSYA.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP seçenekleri:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=İSİM        ftp kullanıcı İSMİ.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=PAROLA  ftp kullanıcı PAROLAsı.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing    `.listing' uzantılı dosyalar silinmez.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob              FTP dosya ismi arama kalıpları kullanılmaz.\n"
+msgstr ""
+"       --no-glob              FTP dosya ismi arama kalıpları kullanılmaz.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr "       --no-passive-ftp       \"passive\" aktarım kipini iptal eder.\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
 "       --retr-symlinks        alt dizinlerdeki sembolik bağlı dosyalar\n"
 "                              (dizinler değil) alınır.\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr "       --preserve-permissions uzak dosya izinleri korunur.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Ne varsa indirme seçenekleri:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive            ne varsa indirilir.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
 msgstr ""
 "  -l,  --level=SAYI           inilecek azami dizin derinliği\n"
 "                              (sonsuz için inf veya 0 belirtin).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr ""
 "       --delete-after       indirilen dosyaları indirdikten sonra siler.\n"
 "                            (tabii ki yerel)\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr ""
 "  -k,  --convert-links        sembolik bağlar değil bağ ismiyle hedefin\n"
 "                              içeriği indirilir.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr ""
 "  -K,  --backup-converted     dosyayı dönüştürmeden önce .orig uzantılı\n"
 "                              yedeğini alır.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             -N -r -l inf--no-remove-listing için kısayol.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             -N -r -l inf--no-remove-listing için kısayol.\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr ""
 "  -p,  --page-requisites    HTML sayfada gösterilmesi gerekli herşeyi\n"
 "                            (resimler, v.s.) indirir.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments      HTML açıklama alanlarında belirtime uyulur.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments      HTML açıklama alanlarında belirtime uyulur.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Ne varsa indirmede kabul/red seçenekleri:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr ""
-"  -A,  --accept=LISTE         izin verilecek dosya uzatılarının virgül ayraçlı\n"
+"  -A,  --accept=LISTE         izin verilecek dosya uzatılarının virgül "
+"ayraçlı\n"
 "                              listesi\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr ""
-"  -R,  --reject=LISTE         reddedilecek dosya uzatılarının virgül ayraçlı\n"
+"  -R,  --reject=LISTE         reddedilecek dosya uzatılarının virgül "
+"ayraçlı\n"
 "                              listesi\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
-"  -D,  --domains=LISTE        izin verilecek alan isimlerinin virgül ayraçlı\n"
+"  -D,  --domains=LISTE        izin verilecek alan isimlerinin virgül "
+"ayraçlı\n"
 "                              listesi\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr ""
 "       --exclude-domains=LISTE\n"
 "                              reddedilecek alan isimlerinin virgül ayraçlı\n"
 "                              listesi\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
 msgstr "       --follow-ftp           HTML belgelerdeki FTP bağları izlenir.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr ""
 "       --follow-tags=LISTE    izin verilen HTML etiketlerinin virgül\n"
 "                              ayraçlı listesi.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr ""
 "       --ignore-tags=LISTE    yoksayılacak HTML etiketlerinin virgül\n"
 "                              ayraçlı listesi.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
-msgstr "  -H,  --span-hosts        rastlandıkça başka makinelerdekilerde alınır.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+"  -H,  --span-hosts        rastlandıkça başka makinelerdekilerde alınır.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative          sadece göreli bağlar izlenir.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr ""
 "  -I,  --include-directories=LISTE\n"
 "                           izin verilen dizinlerin listesi.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr ""
 "  -X,  --exclude-directories=LISTE\n"
 "                           dışlanacak dizinlerin listesi.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent         üst dizine çıkılmaz.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr ""
 "Yazılım hatalarını ve önerilerinizi <bug-wget@gnu.org> adresine\n"
 "çeviri hatalarını   <gnu-tr@belgeler.org>  adresine bildiriniz.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s, bir etkileşimsiz dosya/dizin indirme aracı.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Telif Hakkı © 2005 Free Software Foundation, Inc.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Bu program faydalı olacağı umularak dağıtılmaktadır. Hiçbir\n"
-"GARANTİSİ YOKTUR;  SATILABİLİRLİĞİ hatta HERHANGİ BİR AMACA\n"
-"UYGUNLUĞU  için bile garanti verilmez.  Ayrıntılar için GNU\n"
-"Genel Kamu Lisansına bakınız.\n"
 
-#: src/main.c:665
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1408,196 +1533,226 @@ msgstr ""
 "\n"
 "Özgün olarak Hrvoje Niksic <hniksic@xemacs.org> tarafından yazıldı.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Daha fazla seçenek için `%s --help' yazın.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: seçenek uygun değil -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Hem çok detaylı hem de sessiz olmaz.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "Eski dosyaları hem zaman damgalamak hem de dokunmamak olmaz.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Hem --inet4-only hem de --inet6-only olmaz.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, fuzzy, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "Hem --inet4-only hem de --inet6-only olmaz.\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: URL kayıp\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "%s de URL yok.\n"
 
-#: src/main.c:972
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "BİTTİ --%s--\n"
 "İndirilen: %s bayt, %d dosya\n"
 
-#: src/main.c:979
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "İndirme kotası (%s bayt) AŞILDI! \n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Ardalanda sürüyor.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "İşlem PID %lu ile artalanda sürüyor.\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Çıktı `%s'e yazılmış olacak.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Kullanılabilir soket sürücü bulunamadı.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: uyarı: herhangi bir makina isminden önce \"%s\" dizgeciği görünüyor\n"
+msgstr ""
+"%s: %s:%d: uyarı: herhangi bir makina isminden önce \"%s\" dizgeciği "
+"görünüyor\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: bilinmeyen dizgecik \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Kullanım: %s NETRC [MAKİNA-ADI]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: %s durumlanamadı: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "DİKKAT: rasgele sayı üreteci yeterli değil.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr "Rasgele sayı üreteci tohumlanamadı; --random-file kullanılabilir.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "HATA"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "DİKKAT"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: %s tarafından sunulun böyle bir sertifika yok.\n"
 
-#: src/openssl.c:458
-#, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: %s için sertifika doğrulama hatası: %s\n"
+#: src/openssl.c:518
+#, fuzzy, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: %s tarafından sunulun böyle bir sertifika yok.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: sertifikadaki isim (`%s') istenen makine ismiyle (`%s') uyuşmuyor.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: sertifikadaki isim (`%s') istenen makine ismiyle (`%s') uyuşmuyor.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
-msgstr "%s adresine güvenliği gözardı ederek bağlanmak için `--no-check-certificate' seçeneğini kullanın.\n"
+msgstr ""
+"%s adresine güvenliği gözardı ederek bağlanmak için `--no-check-certificate' "
+"seçeneğini kullanın.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
-#, c-format
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ %dK atlanıyor ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "`%s' gösterge türü geçersiz; değiştirilmedi.\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "RTC saptanamadı: %s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Reddedileceğinden %s kaldırılıyor.\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "%s açılamıyor: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "robots.txt yükleniyor; lütfen hataları yoksayın.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Vekil URLsi %s çözümlenirken hata: %s\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Vekil URLsi %s: HTTP olmalı.\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d yönlendirme geçildi.\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1605,7 +1760,7 @@ msgstr ""
 "Vazgeçiliyor.\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1613,54 +1768,105 @@ msgstr ""
 "Tekrarlanıyor.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Hata yok"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Şema desteklenmiyor"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "Makine ismi geçersiz"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Port numarası hatalı"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Kullanıcı ismi geçersiz"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "IPv6 sayısal adresi sonlandırılmamış"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 adresler desteklenmiyor"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "IPv6 sayısal adresi geçersiz"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Ardalanda sürüyor, pid %d.\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "`%s' sembolik bağ asıl dosyaya dönüştürülürken başarısız: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir.\n"
 
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Set-Cookie, `%s' alanında hata"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) -  %s/%s baytta bağlantı kesildi. "
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: `%s' mantıken geçersiz;\n"
+#~ "`always', `on', `off' veya `never' kullanın.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                vekili etkinleştirir.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "Bu program faydalı olacağı umularak dağıtılmaktadır. Hiçbir\n"
+#~ "GARANTİSİ YOKTUR;  SATILABİLİRLİĞİ hatta HERHANGİ BİR AMACA\n"
+#~ "UYGUNLUĞU  için bile garanti verilmez.  Ayrıntılar için GNU\n"
+#~ "Genel Kamu Lisansına bakınız.\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s: %s için sertifika doğrulama hatası: %s\n"
+
 #~ msgid "Failed writing to proxy: %s.\n"
 #~ msgstr "Vekile yazılamadı: %s.\n"
 
@@ -1747,7 +1953,8 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
 #~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
 #~ "  -F,  --force-html           treat input file as HTML.\n"
-#~ "  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Oturum açma ve girdi dosyası:\n"
@@ -1765,13 +1972,17 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 
 #~ msgid ""
 #~ "Download:\n"
-#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
 #~ "       --retry-connrefused      retry even if connection is refused.\n"
 #~ "  -O   --output-document=FILE   write documents to FILE.\n"
-#~ "  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-#~ "  -c,  --continue               resume getting a partially-downloaded file.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
 #~ "       --progress=TYPE          select progress gauge type.\n"
-#~ "  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
 #~ "  -S,  --server-response        print server response.\n"
 #~ "       --spider                 don't download anything.\n"
 #~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
@@ -1779,41 +1990,52 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
 #~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
 #~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-#~ "       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
 #~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
 #~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
 #~ "       --limit-rate=RATE        limit download rate to RATE.\n"
 #~ "       --dns-cache=off          disable caching DNS lookups.\n"
-#~ "       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "İndirme:\n"
 #~ "  -t,  --tries=SAYI             tekrar SAYIsı (0 sınırsız).\n"
 #~ "       --retry-connrefused      bağlantı reddedilse bile dener.\n"
 #~ "  -O   --output-document=DOSYA  belgeleri DOSYAya yazar.\n"
-#~ "  -nc, --no-clobber             mevcut dosyaların üstüne yazılmaz ve .# öneki\n"
+#~ "  -nc, --no-clobber             mevcut dosyaların üstüne yazılmaz ve .# "
+#~ "öneki\n"
 #~ "                                kullanılır.\n"
 #~ "  -c,  --continue               yarım kalan bir dosyaya devam edilir.\n"
 #~ "       --progress=TÜRÜ          işlemin gösterge türü belirtilir.\n"
-#~ "  -N,  --timestamping           yerel dosyadan daha eskiyse işleme başlamaz.\n"
+#~ "  -N,  --timestamping           yerel dosyadan daha eskiyse işleme "
+#~ "başlamaz.\n"
 #~ "  -S,  --server-response        sunucu cevabını gösterir.\n"
 #~ "       --spider                 hiçbir şey indirilmez.\n"
 #~ "  -T,  --timeout=SANİYE         okuma SANİYE sonra zamanaşımına uğrar.\n"
-#~ "       --dns-timeout=SANİYE     DNS araması SANİYE sonra zamanaşımına uğrar.\n"
-#~ "       --connect-timeout=SANİYE bağlantı SANİYE sonra zamanaşımına uğrar.\n"
+#~ "       --dns-timeout=SANİYE     DNS araması SANİYE sonra zamanaşımına "
+#~ "uğrar.\n"
+#~ "       --connect-timeout=SANİYE bağlantı SANİYE sonra zamanaşımına "
+#~ "uğrar.\n"
 #~ "       --read-timeout=SANİYE    okuma SANİYE sonra zamanaşımına uğrar.\n"
-#~ "  -w,  --wait=SANİYE            işlemler arasında 1...SANİYE kadar bekler.\n"
+#~ "  -w,  --wait=SANİYE            işlemler arasında 1...SANİYE kadar "
+#~ "bekler.\n"
 #~ "       --waitretry=SANİYE       işlem tekrarları arasında SANİYE bekler\n"
-#~ "       --random-wait            işlemler arasında 0...2*WAIT saniye bekler.\n"
+#~ "       --random-wait            işlemler arasında 0...2*WAIT saniye "
+#~ "bekler.\n"
 #~ "  -Y,  --proxy=on/off           vekil bağlantısını açar ya da kapatır.\n"
 #~ "  -Q,  --quota=SAYI             işlem kotasını SAYIya ayarlar.\n"
 #~ "       --bind-address=ADRES     ADRESe (makina adı ya da IP) bağlanır.\n"
 #~ "       --limit-rate=HIZ         indirme HIZını sınırlar.\n"
 #~ "       --dns-cache=off          önbellekleyen DNS aramaları kapatılır.\n"
 #~ "       --restrict-file-names=unix|windows\n"
-#~ "                                dosya isimleri işletim sistemine uygun alınır\n"
+#~ "                                dosya isimleri işletim sistemine uygun "
+#~ "alınır\n"
 #~ "                                 (unix dosya isimlerinde tüm karakterler\n"
 #~ "                                kullanılabilir).\n"
 #~ "\n"
@@ -1824,7 +2046,8 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ "  -x,  --force-directories         force creation of directories.\n"
 #~ "  -nH, --no-host-directories       don't create host directories.\n"
 #~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Dizinler:\n"
@@ -1839,20 +2062,25 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ "HTTP options:\n"
 #~ "       --http-user=USER      set http user to USER.\n"
 #~ "       --http-passwd=PASS    set http password to PASS.\n"
-#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-#~ "  -E,  --html-extension      save all text/html documents with .html extension.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
 #~ "       --ignore-length       ignore `Content-Length' header field.\n"
 #~ "       --header=STRING       insert STRING among the headers.\n"
 #~ "       --proxy-user=USER     set USER as proxy username.\n"
 #~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
-#~ "       --referer=URL         include `Referer: URL' header in HTTP request.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
 #~ "  -s,  --save-headers        save the HTTP headers to file.\n"
 #~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
 #~ "       --cookies=off         don't use cookies.\n"
 #~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
 #~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
-#~ "       --post-data=STRING    use the POST method; send STRING as the data.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
 #~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
 #~ "\n"
 #~ msgstr ""
@@ -1864,15 +2092,19 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ "       --header=DiZGE         başlıkların arasına DiZGEyi yerleştirir.\n"
 #~ "       --proxy-user=KULLANICI Vekil makina için KULLANICI.\n"
 #~ "       --proxy-passwd=PAROLA  Vekil makina için PAROLA.\n"
-#~ "       --referer=URL          http isteğinde `Referer: URL' başlığını içerir.\n"
+#~ "       --referer=URL          http isteğinde `Referer: URL' başlığını "
+#~ "içerir.\n"
 #~ "  -s,  --save-headers         HTTP başlıklarını dosyaya kaydeder.\n"
-#~ "  -U,  --user-agent=İSTEMCİ   Wget/SÜRÜM yerine İSTEMCİ olarak tanıtılır.\n"
+#~ "  -U,  --user-agent=İSTEMCİ   Wget/SÜRÜM yerine İSTEMCİ olarak "
+#~ "tanıtılır.\n"
 #~ "       --no-http-keep-alive   HTTP sürekli bağlantısı etkisizleştirilir.\n"
 #~ "       --cookies=off          çerezler kabul edilmez.\n"
 #~ "       --load-cookies=DOSYA   çerezler oturum öncesi DOSYAdan yüklenir.\n"
 #~ "       --save-cookies=DOSYA   çerezler oturum sonrası DOSYAya yazılır.\n"
-#~ "       --post-data=DİZGE      POST yöntemi ile veri olarak DIZGE gönderilir.\n"
-#~ "       --post-file=DOSYA      POST yöntemi ile içerik DOSYAya gönderilir.\n"
+#~ "       --post-data=DİZGE      POST yöntemi ile veri olarak DIZGE "
+#~ "gönderilir.\n"
+#~ "       --post-file=DOSYA      POST yöntemi ile içerik DOSYAya "
+#~ "gönderilir.\n"
 #~ "\n"
 
 #~ msgid ""
@@ -1882,7 +2114,8 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ "       --egd-file=FILE        file name of the EGD socket.\n"
 #~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
 #~ "       --sslcafile=FILE       file with bundle of CA's\n"
-#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
 #~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
 #~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
 #~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
@@ -1906,12 +2139,14 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
 #~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
 #~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
-#~ "       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
 #~ "\n"
 #~ msgstr ""
 #~ "FTP seçenekleri:\n"
 #~ "  -nr, --dont-remove-listing   `.listing' dosyaları silinmez.\n"
-#~ "  -g,  --glob=on/off           dosya ismi genellemelerini  açar ya da kapar.\n"
+#~ "  -g,  --glob=on/off           dosya ismi genellemelerini  açar ya da "
+#~ "kapar.\n"
 #~ "       --passive-ftp           \"pasif\" aktarım kipi kullanılır.\n"
 #~ "       --retr-symlinks         özyineleme sırasında, dizinlere değil,\n"
 #~ "                               dosyalara bağı olanlar alınır.\n"
@@ -1920,55 +2155,77 @@ msgstr "%s: %s: %ld baytı ayırmak mümkün olmadı; bellek tükenmiş olabilir
 #~ msgid ""
 #~ "Recursive retrieval:\n"
 #~ "  -r,  --recursive          recursive download.\n"
-#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
 #~ "       --delete-after       delete files locally after downloading them.\n"
 #~ "  -k,  --convert-links      convert non-relative links to relative.\n"
 #~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-#~ "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Özyinelemeli işlemler:\n"
-#~ "  -r,  --recursive            özyinelemeli web-emme -- dikkatli kullanın!.\n"
-#~ "  -l,  --level=SAYI           en çok özyineleme derinliği (0 veya inf:sınırsız).\n"
+#~ "  -r,  --recursive            özyinelemeli web-emme -- dikkatli "
+#~ "kullanın!.\n"
+#~ "  -l,  --level=SAYI           en çok özyineleme derinliği (0 veya inf:"
+#~ "sınırsız).\n"
 #~ "       --delete-after         indirdikten sonra yerel dosyaları siler.\n"
 #~ "  -k,  --convert-links        göreceli olmayan bağları göreceli yapar.\n"
 #~ "  -K,  --backup-converted     X dosyasını çevirmeden önce X.orig olarak\n"
 #~ "                              kopyalar\n"
-#~ "  -m,  --mirror               -r -N -l inf -nr seçenekleri için kısaltma.\n"
-#~ "  -p,  --page-requisites      HTML sayfasının gösterilebilmesi için gerekli\n"
+#~ "  -m,  --mirror               -r -N -l inf -nr seçenekleri için "
+#~ "kısaltma.\n"
+#~ "  -p,  --page-requisites      HTML sayfasının gösterilebilmesi için "
+#~ "gerekli\n"
 #~ "                              tüm resim dosyalarını alır.\n"
 #~ "       --strict-comments      HTML açıklamalarını SGML uyumlu yapar.\n"
 #~ "\n"
 
 #~ msgid ""
 #~ "Recursive accept/reject:\n"
-#~ "  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-#~ "  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-#~ "  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-#~ "       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-#~ "       --follow-ftp                 follow FTP links from HTML documents.\n"
-#~ "       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
 #~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
 #~ "  -L,  --relative                   follow relative links only.\n"
 #~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
 #~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-#~ "  -np, --no-parent                  don't ascend to the parent directory.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
 #~ "\n"
 #~ msgstr ""
 #~ "Özyinelemeli kabul/red:\n"
-#~ "  -A,  --accept=LİSTE               kabul edilen uzantıların virgüllü LİSTEsi\n"
-#~ "  -R,  --reject=LİSTE               reddedilen uzantıların virgüllü LİSTEsi.\n"
-#~ "  -D,  --domains=LİSTE              kabul edilen alanların virgüllü LİSTEsi.\n"
-#~ "       --exclude-domains=LİSTE      reddedilen alanların virgüllü LİSTEsi.\n"
+#~ "  -A,  --accept=LİSTE               kabul edilen uzantıların virgüllü "
+#~ "LİSTEsi\n"
+#~ "  -R,  --reject=LİSTE               reddedilen uzantıların virgüllü "
+#~ "LİSTEsi.\n"
+#~ "  -D,  --domains=LİSTE              kabul edilen alanların virgüllü "
+#~ "LİSTEsi.\n"
+#~ "       --exclude-domains=LİSTE      reddedilen alanların virgüllü "
+#~ "LİSTEsi.\n"
 #~ "       --follow-ftp                 HTML belgelerdeki FTP bağları izler.\n"
 #~ "       --follow-tags=LİSTE          izlenecek HTML adreslerinin virgüllü\n"
 #~ "                                    LİSTEsi\n"
-#~ "  -G,  --ignore-tags=LİSTE          izlenmeyecek HTML adreslerinin virgüllü\n"
+#~ "  -G,  --ignore-tags=LİSTE          izlenmeyecek HTML adreslerinin "
+#~ "virgüllü\n"
 #~ "                                    LİSTEsi\n"
-#~ "  -H,  --span-hosts                 özyinelerken diğer makinalara da gider.\n"
+#~ "  -H,  --span-hosts                 özyinelerken diğer makinalara da "
+#~ "gider.\n"
 #~ "  -L,  --relative                   sadece göreceli bağları izler.\n"
 #~ "  -i,  --include-directories=LİSTE  izin verilen dizinlerin LİSTEsi.\n"
 #~ "  -X,  --exclude-directories=LİSTE  dışlanan dizinlerin LİSTEsi.\n"
index 97d3b345a769f51ce83360ce8f9bc21bcc066da6..69b6edeb9e1aa6431759c243af4033aa6a0b1279 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,7 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9.1\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2004-10-13 18:30+0300\n"
 "Last-Translator: Cawko Xakep <xakep@snark.ukma.kiev.ua>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -14,28 +15,98 @@ msgstr ""
 "Content-Type: text/plain; charset=koi8-u\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "îÅÍÏÖÌÉ×Ï ÐÅÒÅÔ×ÏÒÉÔÉ `%s' ÎÁ ÁÄÒÅÓÕ ÐÒÉ×'ÑÚËÉ. ÷¦ÄËÁÔ ÄÏ ANY.\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÉÊ ÐÁÒÁÍÅÔÒ `%s'\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "÷ÓÔÁÎÏ×ÌÅÎÎÑ Ú'¤ÄÎÁÎÎÑ Ú %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: ÐÁÒÁÍÅÔÒ `--%s' ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔÕ\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: ÐÁÒÁÍÅÔÒ `%c%s' ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔÕ\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: ÐÁÒÁÍÅÔÒÕ `%s' ÎÅÏÂȦÄÎÉÊ ÁÒÇÕÍÅÎÔ\n"
+
+#  --option
+#  --option
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: ÎÅÒÏÚЦÚÎÁÎÉÊ ÐÁÒÁÍÅÔÒ `--%s'\n"
+
+#  +option or -option
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: ÎÅÒÏÚЦÚÎÁÎÉÊ ÐÁÒÁÍÅÔÒ `%c%s'\n"
+
+#  1003.2 specifies the format of this message.
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- %c\n"
+
+#  1003.2 specifies the format of this message.
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: ÐÁÒÁÍÅÔÒÕ ÎÅÏÂȦÄÎÉÊ ÁÒÇÕÍÅÎÔ -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÉÊ ÐÁÒÁÍÅÔÒ `-W %s'\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: ÐÁÒÁÍÅÔÒ `-W %s' ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔÕ\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "÷ÓÔÁÎÏ×ÌÅÎÎÑ Ú'¤ÄÎÁÎÎÑ Ú %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "÷ÓÔÁÎÏ×ÌÅÎÎÑ Ú'¤ÄÎÁÎÎÑ Ú %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "ЦÄ'¤ÄÎÁÎÏ.\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "ÎÅ×ÄÁÞÁ: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "îÅ ÍÏÖÕ ×ÉÄÁÌÉÔÉ `%s': %s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "ðÅÒÅÔ×ÏÒÅÎÏ %d ÆÁÊ̦נÚÁ %.2f ÓÅËÕÎÄ.\n"
 
 #: src/convert.c:197
@@ -57,131 +128,154 @@ msgstr "
 msgid "Unable to delete `%s': %s\n"
 msgstr "îÅ ÍÏÖÕ ×ÉÄÁÌÉÔÉ `%s': %s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "îÅ ÍÏÖÕ ÚÂÅÒÅÇÔÉ ËÏЦÀ %s Ð¦Ä ¦ÍÅÎÅÍ %s: %s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "ðÏÍÉÌËÁ × ËÕËÁÈ, ÐÏÌÅ `%s'"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "óÉÎÔÁËÓÉÞÎÁ ÐÏÍÉÌËÁ × ËÕËÁÈ: %s × ÐÏÚÉ槠%d.\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "îÅ ÍÏÖՠצÄËÒÉÔÉ ÆÁÊÌ Ú ËÕËÁÍÉ `%s': %s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "ðÏÍÉÌËÁ ÚÁÐÉÓÕ × `%s': %s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "ðÏÍÉÌËÁ ÚÁËÒÉÔÔÑ `%s': %s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "ôÉР̦ÓÔ¦ÎÇÕ ÎÅצÄÏÍÉÊ, ÓÐÒÏÂÁ ÒÏÚ¦ÂÒÁÔÉ × ÓÔÉ̦ Ì¦ÓÔÉÎÇÕ Unix.\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "ì¦ÓÔÉÎÇ ËÁÔÁÌÏÇÕ /%s ÎÁ %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "ÞÁÓ ÎÅצÄÏÍÉÊ      "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "æÁÊÌ        "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "ëÁÔÁÌÏÇ     "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "ðÏÓÉÌÁÎÎÑ   "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "îÅÔÏÞÎÏ     "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s ÂÁÊÔ)"
 
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "äÏ×ÖÉÎÁ: %s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (ÎÅ ÔÏÞÎÏ)\n"
+
 #  Second: Login with proper USER/PASS sequence.
 #  Second: Login with proper USER/PASS sequence.
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "òŤÓÔÒÕ¤ÍÏÓØ ÑË %s ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "ðÏÍÉÌËÁ × ÒÅÁË槠ÓÅÒ×ÅÒÕ, ÚÁËÒÉÔÔÑ ËÅÒÕÀÞÏÇÏ Ú'¤ÄÎÁÎÎÑ.\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "ðÏÍÉÌËÁ × ÐÒÉצÔÁÎΦ ÓÅÒ×ÅÒÕ.\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "ðÏÍÉÌËÁ ÚÁÐÉÓÕ, ÚÁËÒÉÔÔÑ ËÅÒÕÀÞÏÇÏ Ú'¤ÄÎÁÎÎÑ.\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "óÅÒ×ÅҠצÄÍÏ×É× Õ ÒŤÓÔÒÁæ§.\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "¶Í'Ñ ÞÉ ÐÁÒÏÌØ ÎÅÐÒÁ×ÉÌØΦ.\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "òŤÓÔÒÁæѠ×ÄÁÌÁÓØ!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "ðÏÍÉÌËÁ ÓÅÒ×ÅÒÕ, ÎÅ ÍÏÖÕ ×ÉÚÎÁÞÉÔÉ ÔÉРÓÉÓÔÅÍÉ.\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "ÚÒÏÂÌÅÎÏ.    "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "ÚÒÏÂÌÅÎÏ.\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "îÅצÄÏÍÉÊ ÔÉР`%c', ÚÁËÒÉÔÔÑ ËÅÒÕÀÞÏÇÏ Ú'¤ÄÎÁÎÎÑ.\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "ÚÒÏÂÌÅÎÏ.  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> CWD ÎÅ ÐÏÔÒ¦ÂÎÏ.\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -192,43 +286,33 @@ msgstr ""
 
 #  do not CWD
 #  do not CWD
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> CWD ÎÅ ×ÉÍÁÇÁ¤ÔØÓÑ.\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "îÅ ÍÏÖÕ ¦Î¦Ã¦À×ÁÔÉ PASV-ÐÅÒÅÄÁÞÕ.\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "ðÏÍÉÌËÁ ÓÉÎÔÁËÓÉÞÎÏÇÏ ÁÎÁ̦ÚՠצÄÐÏצĦ PASV.\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "ÎÅ ×ÄÁÌÏÓѠЦÄ'¤ÄÎÁÔÉÓÑ ÄÏ %s:%hu: %s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "ðÏÍÉÌËÁ Ú×'ÑÚÕ×ÁÎÎÑ (%s).\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "îÅצÒÎÉÊ PORT.\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"ëÏÍÁÎÄÁ REST ÎÅ ×ÄÁÌÁÓØ, ÎÅ ÏÂÒ¦ÚÁ¤ÍÏ `%s'.\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -236,7 +320,7 @@ msgstr ""
 "\n"
 "ëÏÍÁÎÄÁ REST ÎÅ ×ÄÁÌÁÓØ, ÐÏÞÉÎÁ¤ÍÏ Ú ÎÕÌÑ.\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -245,7 +329,7 @@ msgstr ""
 "æÁÊÌ `%s' ×¦ÄÓÕÔΦÊ.\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -254,89 +338,77 @@ msgstr ""
 "æÁÊÌ ÞÉ ËÁÔÁÌÏÇ `%s' ×¦ÄÓÕÔΦÊ.\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "äÏ×ÖÉÎÁ: %s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [%s ÚÁÌÉÛÉÌÏÓØ]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (ÎÅ ÔÏÞÎÏ)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, ÚÁËÒÉÔÔÑ ËÅÒÕÀÞÏÇÏ Ú'¤ÄÎÁÎÎÑ.\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - ú'¤ÄÎÁÎÎÑ: %s; "
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "ëÅÒÕÀÞÅ Ú'¤ÄÎÁÎÎÑ ÚÁËÒÉÔÏ.\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "ðÅÒÅÄÁÞÕ ÄÁÎÉÈ ÐÅÒÅÒ×ÁÎÏ.\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "æÁÊÌ `%s' ×ÖÅ ¤ ÔÕÔ, ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ.\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(ÓÐÒÏÂÁ:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' ÚÂÅÒÅÖÅÎÏ [%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "÷ÉÄÁÌÅÎÎÑ %s.\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "ì¦ÓÔÉÎÇ ÂÕÄÅ ÚÂÅÒÅÖÅÎÏ × ÔÉÍÞÁÓÏ×ÏÍÕ ÆÁÊ̦ `%s'.\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "`%s' ×ÉÄÁÌÅÎÏ.\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "çÌÉÂÉÎÁ ÒÅËÕÒÓ¦§ %d ÐÅÒÅ×ÉÝÉÌÁ ÍÁËÓÉÍÁÌØÎÕ ÇÌÉÂÉÎÕ %d.\n"
 
 #  Remote file is older, file sizes can be compared and
 #  are both equal.
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "ìÏËÁÌØÎÉÊ ÆÁÊÌ `%s' ÎÏצÛÉÊ -- ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ ÊÏÇÏ.\n"
 
 #  Remote file is newer or sizes cannot be matched
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -347,21 +419,20 @@ msgstr ""
 
 #  Sizes do not match
 #  Sizes do not match
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "äÏ×ÖÉÎÉ ÆÁÊ̦נÎÅ ÓЦ×ÐÁÄÁÀÔØ (ÌÏËÁÌØÎÏ: %ld) -- ÚÁ×ÁÎÔÁÖÕ¤ÍÏ.\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "îÅצÒÎÅ ¦Í'Ñ ÓÉÍ×ÏÌØÎÏÇÏ ÐÏÓÉÌÁÎÎÑ, ÐÒÏÐÕËÁ¤ÍÏ.\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -370,245 +441,190 @@ msgstr ""
 "óÉÍ×ÏÌØÎÅ ÐÏÓÉÌÁÎÎÑ %s -> %s ×ÖÅ ¦ÓÎÕ¤.\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "óÔ×ÏÒÀ¤ÍÏ ÓÉÍ×ÏÌØÎÅ ÐÏÓÉÌÁÎÎÑ %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "óÉÍ×ÏÌØΦ ÐÏÓÉÌÁÎÎѠΊЦÄÔÒÉÍÕÀÔØÓÑ, ÐÒÏÐÕÓËÁ¤ÍÏ `%s'.\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "ðÒÏÐÕÓËÁ¤ÍÏ ËÁÔÁÌÏÇ `%s'.\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: ÎÅצÄÏÍÉÊ ÔÉРÆÁÊÌÕ (ÁÂϠΊЦÄÔÒÉÍÕ¤ÔØÓÑ).\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: ÐÏÛËÏÄÖÅÎÁ Í¦ÔËÁ ÞÁÓÕ.\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "îÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ ËÁÔÁÌÏÇÉ ÏÓ˦ÌØËÉ ÇÌÉÂÉÎÁ ×ÖÅ %d (ÍÁËÓÉÍÕÍ %d).\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "ðÒÏÐÕÓËÁ¤ÍÏ ËÁÔÁÌÏÇ `%s' Ú¦ ÓÐÉÓËÕ ×ÉËÌÀÞÅÎÎÑ.\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "ðÒÏÐÕÓËÁ¤ÍÏ `%s'.\n"
 
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "ðÏÍÉÌËÁ ÚÁÐÉÓÕ × `%s': %s\n"
+
 #  No luck.
 #  #### This message SUCKS.  We should see what was the
 #  reason that nothing was retrieved.
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "îÅÍÁ¤ ÓЦ×ÐÁÄÁÎØ Ú ÛÁÂÌÏÎÏÍ `%s'.\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "ì¦ÓÔÉÎÇ Õ HTML-ÆÏÒÍÁÔ¦ ÚÁÐÉÓÁÎÏ Õ ÆÁÊÌ `%s' [%ld].\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "ì¦ÓÔÉÎÇ Õ HTML-ÆÏÒÍÁÔ¦ ÚÁÐÉÓÁÎÏ Õ ÆÁÊÌ `%s'.\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "îÅ ÍÏÖÕ ÒÏÚ¦ÂÒÁÔÉ OpenSSL PRNG; ×¦ÄËÌÀÞÁ¤ÍÏ SSL.\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÉÊ ÐÁÒÁÍÅÔÒ `%s'\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ `--%s' ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔÕ\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ `%c%s' ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔÕ\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒÕ `%s' ÎÅÏÂȦÄÎÉÊ ÁÒÇÕÍÅÎÔ\n"
-
-#  --option
-#  --option
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ÎÅÒÏÚЦÚÎÁÎÉÊ ÐÁÒÁÍÅÔÒ `--%s'\n"
-
-#  +option or -option
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ÎÅÒÏÚЦÚÎÁÎÉÊ ÐÁÒÁÍÅÔÒ `%c%s'\n"
-
-#  1003.2 specifies the format of this message.
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- %c\n"
-
-#  1003.2 specifies the format of this message.
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒÕ ÎÅÏÂȦÄÎÉÊ ÁÒÇÕÍÅÎÔ -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "îÅצÄÏÍÁ ÐÏÍÉÌËÁ"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÉÊ ÐÁÒÁÍÅÔÒ `-W %s'\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ `-W %s' ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔÕ\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "îÅצÄÏÍÁ ÐÏÍÉÌËÁ"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "÷ÉÚÎÁÞÅÎÎÑ ¦ÍÅΦ %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "ÎÅ×ÄÁÞÁ: %s.\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "ÎÅ×ÄÁÞÁ: ÔÁÊÍ-ÁÕÔ.\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "èÏÓÔ ÎÅ ÚÎÁÊÄÅÎÏ"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "îÅצÄÏÍÁ ÐÏÍÉÌËÁ"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: îÅ ÍÏÖÕ ÒÏÚ¦ÂÒÁÔÉ ÎÅÐÏ×ÎÅ ÐÏÓÉÌÁÎÎÑ %s.\n"
 
-#  this is fatal
-#  this is fatal
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "îÅ ×ÄÁÌÏÓÑ ×ÓÔÁÎÏ×ÉÔÉ SSL\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: %s: ÎÅצÒÎÅ ÚÎÁÞÅÎÎÑ `%s'.\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "îÅ ×ÄÁÌÏÓÑ ÚÁ×ÁÎÔÁÖÉÔÉ ÓÅÒÔÉƦËÁÔ Ú %s\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "ðÒÏÂÕ¤ÍÏ ÂÅÚ ×ËÁÚÁÎÏÇÏ ÓÅÒÔÉƦËÁÔÕ\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "ðÏÍÉÌËÁ ÚÁÐÉÓÕ HTTP-ÚÁÐÉÔÕ: %s.\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "îÅ×ÄÁÌÏÓÑ ÏÔÒÉÍÁÔÉ ËÌÀÞ-ÓÅÒÔÉƦËÁÔ Ú %s\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "îÅ ÍÏÖÕ ×ÓÔÁÎÏ×ÉÔÉ SSL-Ú'¤ÄÎÁÎÎÑ.\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "ðÏ×ÔÏÒÎÅ ×ÉËÏÒÉÓÔÁÎÎÑ Ú×'ÑÚËÕ Ú %s:%hu.\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "ðÏÍÉÌËÁ ÚÁÐÉÓÕ HTTP-ÚÁÐÉÔÕ: %s.\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s-ÚÁÐÉÔ ÎÁĦÓÌÁÎÏ, ÏÞ¦Ëդ͠צÄÐÏצĦ... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "ë¦ÎÅÃØ ÆÁÊÌՠЦĠÞÁÓ ÓÉÎÔÁËÓÉÞÎÏÇÏ ÒÏÚÂÏÒÕ ÚÁÇÏÌÏ×˦×.\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "îÅ ÏÔÒÉÍÁÎÏ ÄÁÎÉÈ"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "ðÏÍÉÌËÁ ÞÉÔÁÎÎÑ × ÚÁÇÏÌÏ×ËÁÈ (%s).\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "îÅ ÏÔÒÉÍÁÎÏ ÄÁÎÉÈ"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "æÁÊÌ `%s' ×ÖÅ ¤ ÔÕÔ, ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ.\n"
+
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "îÅצÄÏÍÁ ÓÈÅÍÁ ÁÕÔÅÎÔÉƦËÁæ§.\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "á×ÔÏÒÉÚÁæѠÎÅ×ÄÁÌÁÓÑ.\n"
 
-#: src/http.c:1130
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "îÅÓÆÏÒÍÏ×ÁÎÉÊ ÓÔÁÔÕÓÎÉÊ ÒÑÄÏË"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(ÂÅÚ ÏÐÉÓÕ)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "á×ÔÏÒÉÚÁæѠÎÅ×ÄÁÌÁÓÑ.\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "îÅצÄÏÍÁ ÓÈÅÍÁ ÁÕÔÅÎÔÉƦËÁæ§.\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "áÄÒÅÓa: %s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "ÎÅ ×ËÁÚÁÎÏ"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [ÐÅÒÅȦÄ]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -618,73 +634,62 @@ msgstr ""
 "    æÁÊÌ ×ÖÅ ÐÏ×ΦÓÔÀ ÚÁ×ÁÎÔÁÖÅÎÏ; ÎÅÍÁ ÞÏÇÏ ÒÏÂÉÔÉ.\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"îÅ×ÄÁÞÁ ×¦ÄÎÏ×ÌÅÎÎÑ ÚÁ×ÁÎÔÁÖÅÎÑÑ ÆÁÊÌÕ, ËÏÎÆ̦ËÔ Ú ÐÁÒÁÍÅÔÒÏÍ `-c'.\n"
-"÷¦ÄÍÏ×Á ×¦Ä ÏÂÒ¦ÚÁÎÎÑ ¦ÓÎÕÀÞÏÇÏ ÆÁÊÌÕ `%s'.\n"
-"\n"
-
 #  No need to print this output if the body won't be
 #  downloaded at all, or if the original server response is
 #  printed.
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "äÏ×ÖÉÎÁ: "
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (%s ÚÁÌÉÛÉÌÏÓØ)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "¦ÇÎÏÒÕ¤ÔØÓÑ"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "ðÒÏÐÕÓËÁ¤ÍÏ ËÁÔÁÌÏÇ `%s'.\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "õ×ÁÇÁ: × HTTP ÎŠЦÄÔÒÉÍÕÀÔØÓÑ ÛÁÂÌÏÎÉ.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "æÁÊÌ `%s' ×ÖÅ ¤ ÔÕÔ, ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ ÊÏÇÏ.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "ðÏÍÉÌËÁ ÚÁÐÉÓÕ × `%s' (%s).\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "îÅ ÍÏÖÕ ×ÓÔÁÎÏ×ÉÔÉ SSL-Ú'¤ÄÎÁÎÎÑ.\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "ðïíéìëá: ðÅÒÅÎÁÐÒÁ×ÌÅÎÎÑ (%d) ÂÅÚ ×ËÁÚÕ×ÁÎÎÑ ÁÄÒÅÓÉ.\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s ðïíéìëá %d: %s.\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "÷¦ÄÓÕÔΦʠÚÁÇÏÌÏ×ÏË last-modified -- Í¦ÔËÉ ÞÁÓÕ ×ÉÍËÎÅÎÏ.\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "îÅËÏÒÅËÔÎÉÊ ÚÁÇÏÌÏ×ÏË last-modified -- ¦ÇÎÏÒÕ¤ÍϠͦÔËÉ ÞÁÓÕ.\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -693,124 +698,147 @@ msgstr ""
 "ìÏËÁÌØÎÉÊ ÆÁÊÌ `%s' ÎÏצÛÉÊ -- ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ ÊÏÇÏ.\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "äÏ×ÖÉÎÉ ÆÁÊ̦נÎÅ ÓЦ×ÐÁÄÁÀÔØ (ÌÏËÁÌØÎÏ: %ld) -- ÚÁ×ÁÎÔÁÖÕ¤ÍÏ.\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "æÁÊÌ ÎÏצÛÉÊ, Î¦Ö ÌÏËÁÌØÎÉÊ, ÚÁ×ÁÎÔÁÖÕ¤ÍÏ.\n"
 
-#: src/http.c:1948
-#, c-format
+#  Remote file is newer or sizes cannot be matched
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - `%s' ÚÂÅÒÅÖÅÎÏ [%ld/%ld]\n"
+"æÁÊÌ `%s' ÎÁ ÓÅÒ×ÅÒ¦ ÎÏצÛÉÊ -- ÚÁ×ÁÎÔÁÖÕ¤ÍÏ.\n"
 "\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - ú'¤ÄÎÁÎÎÑ ÚÁËÒÉÔÏ × ÐÏÚÉ槠%ld. "
+#  Remote file is older, file sizes can be compared and
+#  are both equal.
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "ìÏËÁÌØÎÉÊ ÆÁÊÌ `%s' ÎÏצÛÉÊ -- ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ ÊÏÇÏ.\n"
 
-#: src/http.c:2007
-#, c-format
+#  Remote file is older, file sizes can be compared and
+#  are both equal.
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "ìÏËÁÌØÎÉÊ ÆÁÊÌ `%s' ÎÏצÛÉÊ -- ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ ÊÏÇÏ.\n"
+
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - `%s' ÚÂÅÒÅÖÅÎÏ [%ld/%ld]\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - ú'¤ÄÎÁÎÎÑ ÚÁËÒÉÔÏ × ÐÏÚÉ槠%ld/%ld. "
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - ú'¤ÄÎÁÎÎÑ ÚÁËÒÉÔÏ × ÐÏÚÉ槠%ld. "
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - ðÏÍÉÌËÁ ÞÉÔÁÎÎÑ × ÐÏÚÉ槠%ld (%s)."
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - ðÏÍÉÌËÁ ÞÉÔÁÎÎÑ × ÐÏÚÉ槠%ld/%ld (%s). "
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC ×ËÁÚÕ¤ ÎÁ %s, ÝÏ ÎÁÓÐÒÁ×Ħ ÎÅ ¦ÓÎÕ¤.\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: îÅÍÏÖÌÉ×Ï ÐÒÏÞÉÔÁÔÉ %s (%s).\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: ðÏÍÉÌËÁ × %s (ÒÑÄÏË %d).\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%s: ðÏÍÉÌËÁ × %s (ÒÑÄÏË %d).\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s: ðÏÍÉÌËÁ × %s (ÒÑÄÏË %d).\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
-msgstr "%s: õ×ÁÇÁ: ñË ÓÉÓÔÅÍÎÉÊ wgetrc ÔÁË ¦ wgetrc ËÏÒÉÓÔÕ×ÁÞÁ ×ËÁÚÕÀÔØ ÎÁ `%s'.\n"
+msgstr ""
+"%s: õ×ÁÇÁ: ñË ÓÉÓÔÅÍÎÉÊ wgetrc ÔÁË ¦ wgetrc ËÏÒÉÓÔÕ×ÁÞÁ ×ËÁÚÕÀÔØ ÎÁ `%s'.\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: ÎÅצÒÎÅ --execute command `%s'\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: ÎÅצÒÎÅ ÂÕÌÅ×Å `%s', ×ËÁÖ¦ÔØ `on' ÞÉ `off'.\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: ÎÅצÒÎÅ ÂÕÌÅ×Å `%s', ×ËÁÖ¦ÔØ `always', `on', `off' ÞÉ `never'.\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: ÎÅצÒÎÅ ÞÉÓÌÏ `%s'.\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: ÎÅצÒÎÅ ÚÎÁÞÅÎÎÑ ÂÁÊÔÁ `%s'.\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: ÎÅצÒÎÉÊ ÐÅÒ¦ÏÄ ÞÁÓÕ `%s'.\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s: %s: ÎÅצÒÎÅ ÚÎÁÞÅÎÎÑ `%s'.\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: ÎÅצÒÎÉÊ ÚÁÇÏÌÏ×ÏË `%s'.\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: îÅצÒÎÅ ÚÁÄÁÎÎÑ ÓÔÉÌÀ ×¦ÄÏÂÒÁÖÅÎÎÑ ÐÒÏÇÒÅÓÕ `%s'.\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: ÎÅצÒÎÅ ÏÂÍÅÖÅÎÎÑ `%s', ×ËÁÖ¦ÔØ `unix' ÁÂÏ `windows'.\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s: %s: ÎÅצÒÎÅ ÚÎÁÞÅÎÎÑ `%s'.\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -819,28 +847,26 @@ msgstr ""
 "\n"
 "ÏÔÒÉÍÁÎÏ %s, ÐÅÒÅÎÁÐÒÁ×ÌÀ¤ÍÏ ×É×ÅÄÅÎÎÑ × `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "îÅ ÏÔÒÉÍÁÎÏ ÄÁÎÉÈ"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; ×¦ÄËÌÀÞÁ¤ÍÏ ÐÒÏÔÏËÏÌÀ×ÁÎÎÑ.\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "÷ÉËÏÒÉÓÔÁÎÎÑ: %s [ðáòáíåôò]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, á×ÔÏÍÁÔÉÞÎÉÊ ÚÁ×ÁÎÔÁÖÕ×ÁÞ ÆÁÊ̦נڠÍÅÒÅÖ¦.\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -848,280 +874,567 @@ msgstr ""
 "'äÏ×Ǧ' ÐÁÒÁÍÅÔÒÉ ÓÐÒÉÊÍÁÀÔØ Ô¦ Ö ÁÒÇÕÍÅÎÔÉ, ÝÏ ¦ ËÏÒÏÔ˦.\n"
 "\n"
 
-#: src/main.c:144
+#: src/main.c:371
+msgid "Startup:\n"
+msgstr ""
+
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
+msgstr ""
+
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"úÁÐÕÓË:\n"
-"  -V,  --version           ÐÏËÁÚÁÔÉ ×ÅÒÓ¦À Wget.\n"
-"  -h,  --help              ×É×ÅÓÔÉ ÃÀ Ð¦ÄËÁÚËÕ.\n"
-"  -b,  --background        ÐÅÒÅÊÔÉ × ÆÏÎÏ×ÉÊ ÒÅÖÉ͠ЦÓÌÑ ÚÁÐÕÓËÕ.\n"
-"  -e,  --execute=ëïíáîäá   ×ÉËÏÎÁÔÉ ËÏÍÁÎÄÕ ÔÉÐÕ `.wgetrc'.\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"ðÒÏÔÏËÏÌÀ×ÁÎÎÑ ÔÁ ×ȦÄÎÉÊ ÆÁÊÌ:\n"
-"  -o,  --output-file=æáêì     ÚÁÐÉÓÕ×ÁÔÉ ÐÏצÄÏÍÌÅÎÎÑ Õ æáêì.\n"
-"  -a,  --append-output=æáêì   ÄÏÄÁ×ÁÔÉ ÐÏצÄÏÍÌÅÎÎÑ ÄÏ æáêìÕ.\n"
-"  -d,  --debug                ×É×ÏÄÉÔɠצÄÌÁÇÏÄÖÕ×ÁÌØΦ ÐÏצÄÏÍÌÅÎÎÑ.\n"
-"  -q,  --quiet                ÐÒÁÃÀ×ÁÔÉ ÂÅÚ ×É×ÅÄÅÎÎÑ ÐÏצÄÏÍÌÅÎØ.\n"
-"  -v,  --verbose              ÂÁÇÁÔÏÓ̦×ÎÅ ×É×ÅÄÅÎÎÑ (ÚÁ ÚÍÏ×ÞÁÎÎÑÍ).\n"
-"  -nv, --non-verbose          ×ÉÍËÎÕÔÉ ÂÁÇÁÔÏÓ̦×ΦÓÔØ.\n"
-"  -i,  --input-file=æáêì      ÞÉÔÁÔÉ URL Ú ÆÁÊÌÕ.\n"
-"  -F,  --force-html           ÔÒÁËÔÕ×ÁÔÉ ×ȦÄÎÉÊ ÆÁÊÌ ÑË HTML.\n"
-"  -B,  --base=URL             ÄÏÄÁ×ÁÔÉ URL ÄϠצÄÎÏÓÎÉÈ ÐÏÓÉÌÁÎØ Õ -F -i ÆÁÊ̦.\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"óËÁÞÕ×ÁÎÎÑ:\n"
-"       --bind-address=áäòåóá    ÐÒÉ×'ÑÚËÁ ÄÏ ÌÏËÁÌØÎϧ ÁÄÒÅÓÉ.\n"
-"  -t,  --tries=þéóìï            ÏÂÍÅÖÉÔɠ˦ÌØ˦ÓÔØ ÓÐÒÏ (0 - ÂÅÚ̦Þ).\n"
-"  -O   --output-document=æáêì   ÚÁÐÉÓÕ×ÁÔÉ ÄÏËÕÍÅÎÔÉ Õ æáêì.\n"
-"  -nc, --no-clobber             ÎÅ ÐÅÒÅÚÁÐÉÓÕ×ÁÔÉ ¦ÓÎÕÀÞ¦ ÆÁÊÌÉ ÁÂÏ + ÓÕƦËÓ .#\n"
-"  -c,  --continue               ÐÒÏÄÏ×ÖÉÔÉ ÚÁ×ÁÎÔÁÖÅÎÎÑ ¦ÓÎÕÀÞÏÇÏ ÆÁÊÌÕ.\n"
-"       --dot-style=óôéìø        ÚÁÄÁÔÉ óôéìø ×¦ÄÏÂÒÁÖÅÎÎÑ ÐÒÏÃÅÓÕ ÒÏÂÏÔÉ.\n"
-"  -N,  --timestamping           ÎÅ ÚÁ×ÁÎÔÁÖÕ×ÁÔÉ ÆÁÊÌÉ, Ñ˦ ÓÔÁÒÛ¦, Î¦Ö ÌÏËÁÌØΦ.\n"
-"  -S,  --server-response        ÄÒÕËÕ×ÁÔɠצÄÐÏצÄØ ÓÅÒ×ÅÒÕ.\n"
-"       --spider                 Î¦ÞÏÇÏ ÎÅ ÚÁ×ÁÎÔÁÖÕ×ÁÔÉ.\n"
-"  -T,  --timeout=óåëõîäé        ÏÂÍÅÖÉÔÉ ÞÁÓ ÏÞ¦ËÕ×ÁÎÎѠצÄÐÏצĦ.\n"
-"  -w,  --wait=óåëõîäé           ×ÓÔÁÎÏ×ÉÔÉ ÚÁÔÒÉÍËՠͦ֠ÚÁ×ÁÎÔÁÖÅÎÎÑÍÉ.\n"
-"       --waitretry=óåëõîäé      ÚÁÞÅËÁÔÉ 1...óåëõîä Í¦Ö ÓÐÒÏÂÁÍÉ ÏÔÒÉÍÁÎÎÑ.\n"
-"       --random-wait            ÚÁÞÅËÁÔÉ 0...2*WAIT cÅËÕÎĠͦ֠ÓÐÒÏÂÁÍÉ.\n"
-"  -Y,  --proxy=on/off           ÐÅÒÅÍÉËÁÞ ×ÉËÏÒÉÓÔÁÎÎÑ ÐÒÏËÓ¦.\n"
-"  -Q,  --quota=âáêôé            ÏÂÍÅÖÉÔÉ ÚÁÇÁÌØÎÉÊ ÏÂ'¤Í ÆÁÊ̦×.\n"
-"       --limit-rate=û÷éäë¶óôø   ÏÂÍÅÖÉÔÉ Û×ÉÄ˦ÓÔØ ÚÁ×ÁÎÔÁÖÅÎÎÑ.\n"
-"       --dns-cache=off          ×ÉÍËÎÕÔÉ ËÅÛÕ×ÁÎÎÑ DNS ÚÁÐÉÔ¦×.\n"
-"       --restrict-file-names=OS ÏÂÍÅÖÉÔÉ ÓÉÍ×ÏÌÉ × ¦ÍÅÎÁÈ ÆÁÊ̦נÄÏÚ×ÏÌÅÎÉÍɠՠצÄÐÏצÄΦʠïó.\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:407
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
 msgstr ""
-"ëÁÔÁÌÏÇÉ:\n"
-"  -nd  --no-directories            ÎÅ ÓÔ×ÏÒÀ×ÁÔÉ ËÁÔÁÌÏÇÉ.\n"
-"  -x,  --force-directories         ÐÒÉÍÕÓÏ×Å ÓÔ×ÏÒÅÎÎÑ ËÁÔÁÌÏǦ×.\n"
-"  -nH, --no-host-directories       ÎÅ ÓÔ×ÏÒÀ×ÁÔÉ ËÁÔÁÌÏÇÉ Ú ¦ÍÅÎÁÍÉ ÈÏÓÔ¦×.\n"
-"  -P,  --directory-prefix=ðòåæ¶ëó  ÚÂÅÒ¦ÇÁÔÉ ÆÁÊÌÉ × ðòåæ¶ëó/...\n"
-"       --cut-dirs=þéóìï            ¦ÇÎÏÒÕ×ÁÔÉ ÐÅ×ÎÅ þéóìï ËÏÍÐÏÎÅÎԦנËÁÔÁÌÏÇÕ.\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:411
+msgid "Download:\n"
 msgstr ""
-"ðÁÒÁÍÅÔÒÉ HTTP:\n"
-"       --http-user=¶í'ñ      ×ÉÚÎÁÞÉÔÉ ¶í'ñ http-ËÏÒÉÓÔÕ×ÁÞÁ.\n"
-"       --http-passwd=ðáòïìø  ×ÉÚÎÁÞÉÔÉ ðáòïìø ÄÌÑ http-ÚÁÐÉÔ¦×.\n"
-"  -C,  --cache=on/off        ÄÏÚ×ÏÌÉÔÉ/Φ ÄÁΦ, ËÅÛÏ×ÁΦ ÎÁ ÓÅÒ×ÅÒ¦ (ÚÁ Ú×ÉÞÁÊ ÄÏÚ×ÏÌÅÎÏ).\n"
-"  -E,  --html-extension      ÚÁÐÉÓÕ×ÁÔÉ ×Ó¦ ÆÁÊÌÉ text/html Ú ÒÏÚÛÉÒÅÎÎÑÍ .html\n"
-"       --ignore-length       ¦ÇÎÏÒÕ×ÁÔÉ ÐÏÌÅ ÚÁÇÏÌÏ×ËÕ `Content-Length'.\n"
-"       --header=òñäïë        ×ÓÔÁ×ÌÑÔÉ òñäïë × HTTP-ÚÁÇÏÌÏ×ËÉ.\n"
-"       --proxy-user=¶í'ñ     ×ÉÚÎÁÞÉÔÉ ¶í'ñ ËÏÒÉÓÔÕ×ÁÞÁ ÄÌÑ ÐÒÏËÓ¦-ÓÅÒ×ÅÒÕ.\n"
-"       --proxy-passwd=ðáòïìø ×ÉÚÎÁÞÉÔÉ ðáòïìø ÄÌÑ ÐÒÏËÓ¦-ÓÅÒ×ÅÒÕ.\n"
-"       --referer=URL         ×ËÌÀÞÉÔÉ `Referer: URL' ÚÁÇÏÌÏ×ÏË Õ HTTP-ÚÁÐÉÔ.\n"
-"  -s,  --save-headers        ÚÁÐÉÓÕ×ÁÔÉ HTTP-ÚÁÇÏÌÏ×ËÉ Õ ÆÁÊÌ.\n"
-"  -U,  --user-agent=áçåîô    ÚÁÄÁÔÉ ¦Í'Ñ áçåîôÁ ÚÁͦÓÔØ Wget/÷åòó¶ñ.\n"
-"       --no-http-keep-alive  ÚÁÂÏÒÏÎÉÔÉ HTTP keep-alive (ÐÏÓÔ¦ÊΦ Ú'¤ÄÎÁÎÎÑ).\n"
-"       --cookies=off         ÎÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ËÕËÉ.\n"
-"       --load-cookies=æáêì   ÐÅÒÅÄ ÓÅÓ¦¤À ÂÒÁÔÉ ËÕËÉ Ú æáêìÕ.\n"
-"       --save-cookies=æáêì   × Ë¦Îæ ÓÅÓ¦§ ÚÁÐÉÓÁÔÉ ËÕËÉ Õ æáêì.\n"
-"       --post-data=òñäïë     ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÍÅÔÏÄ POST; ÎÁÄÓÌÉÁÔÉ òñäïë ÑË ÄÁΦ.\n"
-"       --post-file=æáêì      ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÍÅÔÏÄ POST; ÎÁÄÓÉÌÁÔÉ ×ͦÓÔ æáêìÕ.\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
+msgstr ""
+
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=æáêì     ÏÐæÏÎÁÌØÎÏ ÓÅÒÔÉƦËÁÔ Ë̦¤ÎÔÁ.\n"
-"       --sslcertkey=ëìàþ.æáêì ÏÐæÏÎÁÌØÎÏ ËÌÀÞ ÄÌÑ ÃØÏÇÏ ÓÅÒÔÉƦËÁÔÕ.\n"
-"       --egd-file=æáêì        ¦Í'Ñ ÆÁÊÌÕ ÄÌÑ ÓÏËÅÔÁ EGD.\n"
-"       --sslcadir=ëáôáìïç     ËÁÔÁÌÏÇ, ÄÅ ÚÂÅÒ¦ÇÁ¤ÔØÓÑ ÓÐÉÓËÏË CA.\n"
-"       --sslcafile=æáêì       ÆÁÊÌ ¦Ú ÓÅÒÔÉƦËÁÔÁÍÉ CA.\n"
-"       --sslcerttype=0/1      ÔÉРClient-Cert 0=PEM (ÚÁ ÚÁÍÏ×ÞÁÎÎÑÍ) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     ÐÅÒÅצÒËÁ ÓÅÒÔÉƦËÁÔÁ ÎÁ ÓÅÒ×ÅÒ¦ CA.\n"
-"       --sslprotocol=0-3      ×ɦҠSSL-ÐÒÏÔÏËÏÌÕ; 0=Á×ÔÏÍÁÔÉÞÎÏ,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:419
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr ""
-"ðÁÒÁÍÅÔÒÉ FTP:\n"
-"  -nr, --dont-remove-listing ÎÅ ×ÉÄÁÌÑÔÉ ÆÁÊÌÉ `.listing'.\n"
-"  -g,  --glob=on/off         ÐÅÒÅÍÉËÁÞ ÒÏÂÏÔÉ Ú ÛÁÂÌÏÎÁÍÉ ¦ÍÅΠÆÁÊ̦×.\n"
-"       --passive-ftp         ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ \"ÐÁÓÉ×ÎÉÊ\" ÔÉРÐÅÒÅÄÁÞ¦.\n"
-"       --retr-symlinks       ÚÁ×ÁÎÔÁÖÕ×ÁÔÉ Ú FTP ÓÉÍ×Ï̦ÞΦ ÐÏÓÉÌÁÎÎÑ.\n"
-"\n"
 
-#: src/main.c:237
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "ëÁÔÁÌÏÇ     "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"òÅËÕÒÓÉ×ÎÅ ÚÁ×ÁÎÔÁÖÅÎÎÑ:\n"
-"  -r,  --recursive             ÒÅËÕÒÓÉ×ÎÉÊ ÒÅÖÉÍ -- ÂÕÄØÔÅ ÏÂÅÒÅÖΦ!\n"
-"  -l,  --level=þéóìï           ÍÁËÓ. ÇÌÉÂÉÎÁ ÒÅËÕÒÓ¦§ (0 - ÂÅÚ ÏÂÅÖÅÎÎÑ).\n"
-"       --delete-after          ÌÏËÁÌØÎÏ ×ÉÄÁÌÉÔÉ ÏÔÒÉÍÁΦ ÆÁÊÌÉ.\n"
-"  -k,  --convert-links         ÐÅÒÅÔ×ÏÒÀ×ÁÔÉ ÐÏÓÉÌÁÎÎѠצÄÎÏÓΦ.\n"
-"  -K,  --backup-converted      ÚÂÅÒ¦ÇÁÔÉ ÓÔÁÒ¦ ÆÁÊÌÉ ÐÅÒÅÄ ËÏÎ×ÅÒÔÁæ¤À.\n"
-"  -m,  --mirror                ÕצÍËÎÕÔÉ ÒÅÖÉÍÉ, ËÏÒÉÓΦ ÄÌÑ ÚÁÄÚÅÒËÁÌÅÎÎÑ.\n"
-"  -p,  --page-requisites       ÏÔÒÉÍÕ×ÁÔÉ ×Ó¦ ÆÁÊÌÉ ÄÌÑ ÐÏ×ÎÏÇÏ ÚÂÅÒÅÖÅÎÎÑ HTML.\n"
-"       --strict-comments      ÕצÍËÎÕÔÉ ÖÏÒÓÔËÕ (SGML) ÏÂÒÏÂËÕ ËÏÍÅÎÔÁҦנHTML.\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr ""
-"òÅËÕÒÓÉ×ÎÅ ×ËÌÀÞÅÎÎÑ/×ÉËÌÀÞÅÎÎÑ ÆÁÊ̦×:\n"
-"  -A,  --accept=óðéóïë               ÓÐÉÓÏË ÒÏÚÛÉÒÅÎØ ÎÁ ×ËÌÀÞÅÎÎÑ.\n"
-"  -R,  --reject=óðéóïë               ÓÐÉÓÏË ÒÏÚÛÉÒÅÎØ ÎÁ ×ÉËÌÀÞÅÎÎÑ.\n"
-"  -D,  --domains=óðéóïë              ÓÐÉÓÏË ÄÏÚ×ÏÌÅÎÉÈ ÄÏÍÅΦ×.\n"
-"       --exclude-domains=óðéóïë      ÞÅÒÅÚ ËÏÍÕ ÓÐÉÓÏË ÄÏÍÅΦ×, Ñ˦ ×ÉËÌÀÞÁÔÉ.\n"
-"       --follow-ftp                  ÊÔÉ ÚÁ FTP-ÐÏÓÉÌÁÎÎÑÍÉ × HTML-ÄÏËÕÍÅÎÔÁÈ.\n"
-"       --follow-tags=óðéóïë          HTML ÔÅǦנÞÅÒÅÚ ËÏÍÕ, ÚÁ ÑËÉÍÉ ÍÏÖÎÁ ÊÔÉ.\n"
-"  -G,  --ignore-tags=óðéóïë          HTML ÔÅǦנÞÅÒÅÚ ËÏÍÕ, Ñ˦ ÔÒÅÂÁ ¦ÇÎÏÒ.\n"
-"  -H,  --span-hosts                  ÐÅÒÅÈÏÄÉÔÉ ÎÁ ¦ÎÛ¦ ÈÏÓÔɠЦĠÞÁÓ ÒÅËÕÒÓ¦§.\n"
-"  -L,  --relative                    ÊÔÉ ÌÉÛ ÚÁ ×¦ÄÎÏÓÎÉÍÉ ÐÏÓÉÌÁÎÎÑÍÉ.\n"
-"  -I,  --include-directories=óðéóïë  ÓÐÉÓÏË ÄÏÚ×ÏÌÅÎÉÈ ËÁÔÁÌÏǦ×.\n"
-"  -X,  --exclude-directories=óðéóïë  ÓÐÉÓÏË ËÁÔÁÌÏǦנÎÁ ×ÉËÌÀÞÅÎÎÑ.\n"
-"  -np, --no-parent                   ÎŠЦÄΦÍÁÔÉÓÑ × ÂÁÔØ˦×ÓËÉÊ ËÁÔÁÌÏÇ.\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
+msgstr ""
+
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
-msgstr "ðÏצÄÏÍÌÅÎÎÑ ÐÒÏ ÐÏÍÉÌËÉ ÔÁ ÐÒÏÐÏÚÉ槠ÎÁÄÓÉÌÁÊÔÅ ÄÏ <bug-wget@gnu.org>.\n"
+msgstr ""
+"ðÏצÄÏÍÌÅÎÎÑ ÐÒÏ ÐÏÍÉÌËÉ ÔÁ ÐÒÏÐÏÚÉ槠ÎÁÄÓÉÌÁÊÔÅ ÄÏ <bug-wget@gnu.org>.\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s: Ð¦ÄÔÒÉÍËՠצÄÌÁÇÏÄÖÅÎÎÑ ÎÅ ×ËÏÍЦÌØÏ×ÁÎÏ.\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s, á×ÔÏÍÁÔÉÞÎÉÊ ÚÁ×ÁÎÔÁÖÕ×ÁÞ ÆÁÊ̦נڠÍÅÒÅÖ¦.\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "Copyright (C) 2003 æÕÎÄÁæѠ÷¦ÌØÎÏÇÏ ðÒÏÇÒÁÍÎÏÇÏ úÁÂÅÚÐÅÞÅÎÎÑ.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"ãÑ ÐÒÏÇÒÁÍÁ ÐÏÛÉÒÀ¤ÔØÓÑ Ú ÎÁĦ¤À, ÝÏ ×ÏÎÁ ÂÕÄÅ ËÏÒÉÓÎÏÀ,\n"
-"ÁÌÅ âåú âõäø-ñëéè çáòáîô¶ê; ÎÁצÔØ ÂÅÚ ÇÁÒÁÎÔ¦§ ëïòéóîïóô¶\n"
-"ÞÉ ðòéäáôîïóô¶ äìñ ðå÷îï· ëïîëòåôîï· íåôé. äÉצÔØÓÑ\n"
-"GNU General Public License ÄÌÑ ÏÔÒÉÍÁÎÎÑ ÄÅÔÁÌØΦÛϧ ¦ÎÆÏÒÍÁæ§.\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1129,134 +1442,222 @@ msgstr ""
 "\n"
 "á×ÔÏÒ: Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- `-n%c'\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "óÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÏÔÒÉÍÁÎÎÑ ÄÅÔÁÌØÎϧ ¦ÎÆÏÒÍÁæ§.\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- `-n%c'\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "òÅÖÉÍÉ verbose ÔÁ quiet ÎÅ ÍÏÖÎÁ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÏÄÎÏÞÁÓÎÏ.\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "òÅÖÉÍɠЦÄÔÒÉÍËɠͦÔÏË ÞÁÓÕ ÔÁ ÚÂÅÒÅÖÅÎÎÑ ÓÔÁÒÉÈ ÆÁÊ̦נÎÅÓÕͦÓΦ.\n"
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: ÎÅ ×ËÁÚÁÎÏ URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "÷ %s ÎÅ ÚÎÁÊÄÅÎÏ URL'¦×.\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "úáë¶îþåîï --%s--\n"
 "óËÁÞÁÎÏ: %s ÂÁÊԦננ%d ÆÁÊÌÁÈ(¦)\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "÷éþåòðáîï ÏÂÍÅÖÅÎÎÑ ÎÁ ÚÁ×ÁÎÔÁÖÅÎÎÑ (%s ÂÁÊÔ¦×)!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "ðÒÏÄÏ×ÖÕ¤ÍÏ Õ ÆÏÎÏ×ÏÍÕ ÒÅÖÉͦ.\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "ðÒÏÄÏ×ÖÕ¤ÍÏ Õ ÆÏÎÏ×ÏÍÕ ÒÅÖÉͦ, ÎÏÍÅÒ ÐÒÏÃÅÓÕ %d.\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "÷É×ÅÄÅÎÎÑ ÂÕÄÅ ÚÁÐÉÓÁÎÏ ÄÏ `%s'.\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "úÁÐÕÓËÁ¤ÍÏ WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: îÅ ÍÏÖÕ ÚÎÁÊÔÉ ÐÏÔÒ¦ÂÎÉÊ ÄÒÁÊ×ÅÒ.\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: ÐÏÐÅÒÅÄÖÅÎÎÑ: ÌÅËÓÅÍÁ \"%s\" ÐÅÒÅÄ ¦ÍÅÎÅÍ ÍÁÛÉÎÉ\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: ÎÅצÄÏÍÁ ÌÅËÓÅÍÁ \"%s\"\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "÷ÉËÏÒÉÓÔÁÎÎÑ: %s NETRC [¶í'ñ íáûéîé]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: ÎÅ ÍÏÖÕ ×ÉËÏÎÁÔÉ stat %s: %s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "îÅ ÍÏÖÕ ÒÏÚ¦ÂÒÁÔÉ OpenSSL PRNG; ×¦ÄËÌÀÞÁ¤ÍÏ SSL.\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
 #, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ ÐÒÏÐÕÓË %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "îÅËÏÒÅËÔÎÅ ×ËÁÚÁÎÎÑ ÓÔÉÌÀ `%s'; ÌÉÛÁ¤ÍÏ ÂÅÚ ÚͦÎÉ.\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "÷ÉÄÑÌѤÍÏ %s, ÏÓ˦ÌØËÉ ÊÏÇÏ ÔÒÅÂÁ ÐÒÏÐÕÓÔÉÔÉ.\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "îÅ ÍÏÖÕ ÐÅÒÅÔ×ÏÒÉÔÉ ÐÏÓÉÌÁÎÎÑ × %s: %s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "úÁ×ÁÎÔÁÖÕ¤ÍÏ ÆÁÊÌ robots.txt; ÎÅ Ú×ÁÖÁÊÔÅ ÎÁ ÐÏÍÉÌËÉ.\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "ðÏÍÉÌËÁ ÒÏÚÂÏÒÕ ÁÄÒÅÓÉ ÐÒÏËÓ¦ %s: %s.\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "ðÒÏËÓ¦-ÓÅÒ×ÅÒ %s ÍÁ¤ ÂÕÔÉ HTTP.\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "%d ÚÁÃÉËÌÅÎØ - Â¦ÌØÛÅ, Î¦Ö ÄÏÐÕÓÔÉÍÏ.\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1264,7 +1665,7 @@ msgstr ""
 "á×ÁÒ¦ÊÎÅ ÚÁ×ÅÒÛÅÎÎÑ.\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1272,50 +1673,456 @@ msgstr ""
 "ðÒÏÄÏ×ÖÅÎÎÑ ÓÐÒÏÂ.\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "âÅÚ ÐÏÍÉÌÏË"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "óÈÅÍÁ ÎŠЦÄÔÒÉÍÕ¤ÔØÓÑ"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "îÅ ×ËÁÚÁËÎÏ ×ÕÚÏÌ"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "îÅצÒÎÅ ¦Í'Ñ ËÏÒÉÓÔÕ×ÁÞÁ"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "îÅצÒÎÉÊ ÎÏÍÅÒ ÐÏÒÔÁ"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "îÅצÒÎÅ ¦Í'Ñ ËÏÒÉÓÔÕ×ÁÞÁ"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "îÅÚÁÔÅÒÎͦÎÏ×ÁÎÁ ÞÉÓÌÏ×Á IPv6 ÁÄÒÅÓÁ"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "IPv6 ÎŠЦÄÔÒÉÍÕ¤ÔØÓÑ"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "îÅצÒÎÁ ÞÉÓÌÏ×Á IPv6 ÁÄÒÅÓÁ"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s: %s: îÅÄÏÓÔÁÔÎØÏ ÐÁÍ'ÑÔ¦.\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "ðÒÏÄÏ×ÖÕ¤ÍÏ Õ ÆÏÎÏ×ÏÍÕ ÒÅÖÉͦ, ÎÏÍÅÒ ÐÒÏÃÅÓÕ %d.\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "îÅ ×ÄÁÌÏÓÑ ×ÉÄÁÌÉÔÉ ÓÉÍ×ÏÌØÎÅ ÐÏÓÉÌÁÎÎÑ `%s': %s\n"
+
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr "îÅÍÏÖÌÉ×Ï ÐÅÒÅÔ×ÏÒÉÔÉ `%s' ÎÁ ÁÄÒÅÓÕ ÐÒÉ×'ÑÚËÉ. ÷¦ÄËÁÔ ÄÏ ANY.\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "ðÏÍÉÌËÁ × ËÕËÁÈ, ÐÏÌÅ `%s'"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ëÏÍÁÎÄÁ REST ÎÅ ×ÄÁÌÁÓØ, ÎÅ ÏÂÒ¦ÚÁ¤ÍÏ `%s'.\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [%s ÚÁÌÉÛÉÌÏÓØ]"
+
+#~ msgid "Host not found"
+#~ msgstr "èÏÓÔ ÎÅ ÚÎÁÊÄÅÎÏ"
+
+#  this is fatal
+#  this is fatal
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "îÅ ×ÄÁÌÏÓÑ ×ÓÔÁÎÏ×ÉÔÉ SSL\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "îÅ ×ÄÁÌÏÓÑ ÚÁ×ÁÎÔÁÖÉÔÉ ÓÅÒÔÉƦËÁÔ Ú %s\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "ðÒÏÂÕ¤ÍÏ ÂÅÚ ×ËÁÚÁÎÏÇÏ ÓÅÒÔÉƦËÁÔÕ\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "îÅ×ÄÁÌÏÓÑ ÏÔÒÉÍÁÔÉ ËÌÀÞ-ÓÅÒÔÉƦËÁÔ Ú %s\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "ë¦ÎÅÃØ ÆÁÊÌՠЦĠÞÁÓ ÓÉÎÔÁËÓÉÞÎÏÇÏ ÒÏÚÂÏÒÕ ÚÁÇÏÌÏ×˦×.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "îÅ×ÄÁÞÁ ×¦ÄÎÏ×ÌÅÎÎÑ ÚÁ×ÁÎÔÁÖÅÎÑÑ ÆÁÊÌÕ, ËÏÎÆ̦ËÔ Ú ÐÁÒÁÍÅÔÒÏÍ `-c'.\n"
+#~ "÷¦ÄÍÏ×Á ×¦Ä ÏÂÒ¦ÚÁÎÎÑ ¦ÓÎÕÀÞÏÇÏ ÆÁÊÌÕ `%s'.\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (%s ÚÁÌÉÛÉÌÏÓØ)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "æÁÊÌ `%s' ×ÖÅ ¤ ÔÕÔ, ÎÅ ÚÁ×ÁÎÔÁÖÕ¤ÍÏ ÊÏÇÏ.\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) - `%s' ÚÂÅÒÅÖÅÎÏ [%ld/%ld]\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - ú'¤ÄÎÁÎÎÑ ÚÁËÒÉÔÏ × ÐÏÚÉ槠%ld/%ld. "
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr ""
+#~ "%s: %s: ÎÅצÒÎÅ ÂÕÌÅ×Å `%s', ×ËÁÖ¦ÔØ `always', `on', `off' ÞÉ `never'.\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "úÁÐÕÓË:\n"
+#~ "  -V,  --version           ÐÏËÁÚÁÔÉ ×ÅÒÓ¦À Wget.\n"
+#~ "  -h,  --help              ×É×ÅÓÔÉ ÃÀ Ð¦ÄËÁÚËÕ.\n"
+#~ "  -b,  --background        ÐÅÒÅÊÔÉ × ÆÏÎÏ×ÉÊ ÒÅÖÉ͠ЦÓÌÑ ÚÁÐÕÓËÕ.\n"
+#~ "  -e,  --execute=ëïíáîäá   ×ÉËÏÎÁÔÉ ËÏÍÁÎÄÕ ÔÉÐÕ `.wgetrc'.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ðÒÏÔÏËÏÌÀ×ÁÎÎÑ ÔÁ ×ȦÄÎÉÊ ÆÁÊÌ:\n"
+#~ "  -o,  --output-file=æáêì     ÚÁÐÉÓÕ×ÁÔÉ ÐÏצÄÏÍÌÅÎÎÑ Õ æáêì.\n"
+#~ "  -a,  --append-output=æáêì   ÄÏÄÁ×ÁÔÉ ÐÏצÄÏÍÌÅÎÎÑ ÄÏ æáêìÕ.\n"
+#~ "  -d,  --debug                ×É×ÏÄÉÔɠצÄÌÁÇÏÄÖÕ×ÁÌØΦ ÐÏצÄÏÍÌÅÎÎÑ.\n"
+#~ "  -q,  --quiet                ÐÒÁÃÀ×ÁÔÉ ÂÅÚ ×É×ÅÄÅÎÎÑ ÐÏצÄÏÍÌÅÎØ.\n"
+#~ "  -v,  --verbose              ÂÁÇÁÔÏÓ̦×ÎÅ ×É×ÅÄÅÎÎÑ (ÚÁ ÚÍÏ×ÞÁÎÎÑÍ).\n"
+#~ "  -nv, --non-verbose          ×ÉÍËÎÕÔÉ ÂÁÇÁÔÏÓ̦×ΦÓÔØ.\n"
+#~ "  -i,  --input-file=æáêì      ÞÉÔÁÔÉ URL Ú ÆÁÊÌÕ.\n"
+#~ "  -F,  --force-html           ÔÒÁËÔÕ×ÁÔÉ ×ȦÄÎÉÊ ÆÁÊÌ ÑË HTML.\n"
+#~ "  -B,  --base=URL             ÄÏÄÁ×ÁÔÉ URL ÄϠצÄÎÏÓÎÉÈ ÐÏÓÉÌÁÎØ Õ -F -i "
+#~ "ÆÁÊ̦.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "óËÁÞÕ×ÁÎÎÑ:\n"
+#~ "       --bind-address=áäòåóá    ÐÒÉ×'ÑÚËÁ ÄÏ ÌÏËÁÌØÎϧ ÁÄÒÅÓÉ.\n"
+#~ "  -t,  --tries=þéóìï            ÏÂÍÅÖÉÔɠ˦ÌØ˦ÓÔØ ÓÐÒÏ (0 - ÂÅÚ̦Þ).\n"
+#~ "  -O   --output-document=æáêì   ÚÁÐÉÓÕ×ÁÔÉ ÄÏËÕÍÅÎÔÉ Õ æáêì.\n"
+#~ "  -nc, --no-clobber             ÎÅ ÐÅÒÅÚÁÐÉÓÕ×ÁÔÉ ¦ÓÎÕÀÞ¦ ÆÁÊÌÉ ÁÂÏ + "
+#~ "ÓÕƦËÓ .#\n"
+#~ "  -c,  --continue               ÐÒÏÄÏ×ÖÉÔÉ ÚÁ×ÁÎÔÁÖÅÎÎÑ ¦ÓÎÕÀÞÏÇÏ ÆÁÊÌÕ.\n"
+#~ "       --dot-style=óôéìø        ÚÁÄÁÔÉ óôéìø ×¦ÄÏÂÒÁÖÅÎÎÑ ÐÒÏÃÅÓÕ "
+#~ "ÒÏÂÏÔÉ.\n"
+#~ "  -N,  --timestamping           ÎÅ ÚÁ×ÁÎÔÁÖÕ×ÁÔÉ ÆÁÊÌÉ, Ñ˦ ÓÔÁÒÛ¦, Î¦Ö "
+#~ "ÌÏËÁÌØΦ.\n"
+#~ "  -S,  --server-response        ÄÒÕËÕ×ÁÔɠצÄÐÏצÄØ ÓÅÒ×ÅÒÕ.\n"
+#~ "       --spider                 Î¦ÞÏÇÏ ÎÅ ÚÁ×ÁÎÔÁÖÕ×ÁÔÉ.\n"
+#~ "  -T,  --timeout=óåëõîäé        ÏÂÍÅÖÉÔÉ ÞÁÓ ÏÞ¦ËÕ×ÁÎÎѠצÄÐÏצĦ.\n"
+#~ "  -w,  --wait=óåëõîäé           ×ÓÔÁÎÏ×ÉÔÉ ÚÁÔÒÉÍËՠͦ֠ÚÁ×ÁÎÔÁÖÅÎÎÑÍÉ.\n"
+#~ "       --waitretry=óåëõîäé      ÚÁÞÅËÁÔÉ 1...óåëõîä Í¦Ö ÓÐÒÏÂÁÍÉ "
+#~ "ÏÔÒÉÍÁÎÎÑ.\n"
+#~ "       --random-wait            ÚÁÞÅËÁÔÉ 0...2*WAIT cÅËÕÎĠͦ֠ÓÐÒÏÂÁÍÉ.\n"
+#~ "  -Y,  --proxy=on/off           ÐÅÒÅÍÉËÁÞ ×ÉËÏÒÉÓÔÁÎÎÑ ÐÒÏËÓ¦.\n"
+#~ "  -Q,  --quota=âáêôé            ÏÂÍÅÖÉÔÉ ÚÁÇÁÌØÎÉÊ ÏÂ'¤Í ÆÁÊ̦×.\n"
+#~ "       --limit-rate=û÷éäë¶óôø   ÏÂÍÅÖÉÔÉ Û×ÉÄ˦ÓÔØ ÚÁ×ÁÎÔÁÖÅÎÎÑ.\n"
+#~ "       --dns-cache=off          ×ÉÍËÎÕÔÉ ËÅÛÕ×ÁÎÎÑ DNS ÚÁÐÉÔ¦×.\n"
+#~ "       --restrict-file-names=OS ÏÂÍÅÖÉÔÉ ÓÉÍ×ÏÌÉ × ¦ÍÅÎÁÈ ÆÁÊ̦נ"
+#~ "ÄÏÚ×ÏÌÅÎÉÍɠՠצÄÐÏצÄΦʠïó.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ëÁÔÁÌÏÇÉ:\n"
+#~ "  -nd  --no-directories            ÎÅ ÓÔ×ÏÒÀ×ÁÔÉ ËÁÔÁÌÏÇÉ.\n"
+#~ "  -x,  --force-directories         ÐÒÉÍÕÓÏ×Å ÓÔ×ÏÒÅÎÎÑ ËÁÔÁÌÏǦ×.\n"
+#~ "  -nH, --no-host-directories       ÎÅ ÓÔ×ÏÒÀ×ÁÔÉ ËÁÔÁÌÏÇÉ Ú ¦ÍÅÎÁÍÉ "
+#~ "ÈÏÓÔ¦×.\n"
+#~ "  -P,  --directory-prefix=ðòåæ¶ëó  ÚÂÅÒ¦ÇÁÔÉ ÆÁÊÌÉ × ðòåæ¶ëó/...\n"
+#~ "       --cut-dirs=þéóìï            ¦ÇÎÏÒÕ×ÁÔÉ ÐÅ×ÎÅ þéóìï ËÏÍÐÏÎÅÎԦנ"
+#~ "ËÁÔÁÌÏÇÕ.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ðÁÒÁÍÅÔÒÉ HTTP:\n"
+#~ "       --http-user=¶í'ñ      ×ÉÚÎÁÞÉÔÉ ¶í'ñ http-ËÏÒÉÓÔÕ×ÁÞÁ.\n"
+#~ "       --http-passwd=ðáòïìø  ×ÉÚÎÁÞÉÔÉ ðáòïìø ÄÌÑ http-ÚÁÐÉÔ¦×.\n"
+#~ "  -C,  --cache=on/off        ÄÏÚ×ÏÌÉÔÉ/Φ ÄÁΦ, ËÅÛÏ×ÁΦ ÎÁ ÓÅÒ×ÅÒ¦ (ÚÁ "
+#~ "Ú×ÉÞÁÊ ÄÏÚ×ÏÌÅÎÏ).\n"
+#~ "  -E,  --html-extension      ÚÁÐÉÓÕ×ÁÔÉ ×Ó¦ ÆÁÊÌÉ text/html Ú "
+#~ "ÒÏÚÛÉÒÅÎÎÑÍ .html\n"
+#~ "       --ignore-length       ¦ÇÎÏÒÕ×ÁÔÉ ÐÏÌÅ ÚÁÇÏÌÏ×ËÕ `Content-Length'.\n"
+#~ "       --header=òñäïë        ×ÓÔÁ×ÌÑÔÉ òñäïë × HTTP-ÚÁÇÏÌÏ×ËÉ.\n"
+#~ "       --proxy-user=¶í'ñ     ×ÉÚÎÁÞÉÔÉ ¶í'ñ ËÏÒÉÓÔÕ×ÁÞÁ ÄÌÑ ÐÒÏËÓ¦-"
+#~ "ÓÅÒ×ÅÒÕ.\n"
+#~ "       --proxy-passwd=ðáòïìø ×ÉÚÎÁÞÉÔÉ ðáòïìø ÄÌÑ ÐÒÏËÓ¦-ÓÅÒ×ÅÒÕ.\n"
+#~ "       --referer=URL         ×ËÌÀÞÉÔÉ `Referer: URL' ÚÁÇÏÌÏ×ÏË Õ HTTP-"
+#~ "ÚÁÐÉÔ.\n"
+#~ "  -s,  --save-headers        ÚÁÐÉÓÕ×ÁÔÉ HTTP-ÚÁÇÏÌÏ×ËÉ Õ ÆÁÊÌ.\n"
+#~ "  -U,  --user-agent=áçåîô    ÚÁÄÁÔÉ ¦Í'Ñ áçåîôÁ ÚÁͦÓÔØ Wget/÷åòó¶ñ.\n"
+#~ "       --no-http-keep-alive  ÚÁÂÏÒÏÎÉÔÉ HTTP keep-alive (ÐÏÓÔ¦ÊΦ "
+#~ "Ú'¤ÄÎÁÎÎÑ).\n"
+#~ "       --cookies=off         ÎÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ËÕËÉ.\n"
+#~ "       --load-cookies=æáêì   ÐÅÒÅÄ ÓÅÓ¦¤À ÂÒÁÔÉ ËÕËÉ Ú æáêìÕ.\n"
+#~ "       --save-cookies=æáêì   × Ë¦Îæ ÓÅÓ¦§ ÚÁÐÉÓÁÔÉ ËÕËÉ Õ æáêì.\n"
+#~ "       --post-data=òñäïë     ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÍÅÔÏÄ POST; ÎÁÄÓÌÉÁÔÉ òñäïë "
+#~ "ÑË ÄÁΦ.\n"
+#~ "       --post-file=æáêì      ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÍÅÔÏÄ POST; ÎÁÄÓÉÌÁÔÉ ×ͦÓÔ "
+#~ "æáêìÕ.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=æáêì     ÏÐæÏÎÁÌØÎÏ ÓÅÒÔÉƦËÁÔ Ë̦¤ÎÔÁ.\n"
+#~ "       --sslcertkey=ëìàþ.æáêì ÏÐæÏÎÁÌØÎÏ ËÌÀÞ ÄÌÑ ÃØÏÇÏ ÓÅÒÔÉƦËÁÔÕ.\n"
+#~ "       --egd-file=æáêì        ¦Í'Ñ ÆÁÊÌÕ ÄÌÑ ÓÏËÅÔÁ EGD.\n"
+#~ "       --sslcadir=ëáôáìïç     ËÁÔÁÌÏÇ, ÄÅ ÚÂÅÒ¦ÇÁ¤ÔØÓÑ ÓÐÉÓËÏË CA.\n"
+#~ "       --sslcafile=æáêì       ÆÁÊÌ ¦Ú ÓÅÒÔÉƦËÁÔÁÍÉ CA.\n"
+#~ "       --sslcerttype=0/1      ÔÉРClient-Cert 0=PEM (ÚÁ ÚÁÍÏ×ÞÁÎÎÑÍ) / "
+#~ "1=ASN1 (DER)\n"
+#~ "       --sslcheckcert=0/1     ÐÅÒÅצÒËÁ ÓÅÒÔÉƦËÁÔÁ ÎÁ ÓÅÒ×ÅÒ¦ CA.\n"
+#~ "       --sslprotocol=0-3      ×ɦҠSSL-ÐÒÏÔÏËÏÌÕ; 0=Á×ÔÏÍÁÔÉÞÎÏ,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ðÁÒÁÍÅÔÒÉ FTP:\n"
+#~ "  -nr, --dont-remove-listing ÎÅ ×ÉÄÁÌÑÔÉ ÆÁÊÌÉ `.listing'.\n"
+#~ "  -g,  --glob=on/off         ÐÅÒÅÍÉËÁÞ ÒÏÂÏÔÉ Ú ÛÁÂÌÏÎÁÍÉ ¦ÍÅΠÆÁÊ̦×.\n"
+#~ "       --passive-ftp         ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ \"ÐÁÓÉ×ÎÉÊ\" ÔÉРÐÅÒÅÄÁÞ¦.\n"
+#~ "       --retr-symlinks       ÚÁ×ÁÎÔÁÖÕ×ÁÔÉ Ú FTP ÓÉÍ×Ï̦ÞΦ ÐÏÓÉÌÁÎÎÑ.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "òÅËÕÒÓÉ×ÎÅ ÚÁ×ÁÎÔÁÖÅÎÎÑ:\n"
+#~ "  -r,  --recursive             ÒÅËÕÒÓÉ×ÎÉÊ ÒÅÖÉÍ -- ÂÕÄØÔÅ ÏÂÅÒÅÖΦ!\n"
+#~ "  -l,  --level=þéóìï           ÍÁËÓ. ÇÌÉÂÉÎÁ ÒÅËÕÒÓ¦§ (0 - ÂÅÚ "
+#~ "ÏÂÅÖÅÎÎÑ).\n"
+#~ "       --delete-after          ÌÏËÁÌØÎÏ ×ÉÄÁÌÉÔÉ ÏÔÒÉÍÁΦ ÆÁÊÌÉ.\n"
+#~ "  -k,  --convert-links         ÐÅÒÅÔ×ÏÒÀ×ÁÔÉ ÐÏÓÉÌÁÎÎѠצÄÎÏÓΦ.\n"
+#~ "  -K,  --backup-converted      ÚÂÅÒ¦ÇÁÔÉ ÓÔÁÒ¦ ÆÁÊÌÉ ÐÅÒÅÄ ËÏÎ×ÅÒÔÁæ¤À.\n"
+#~ "  -m,  --mirror                ÕצÍËÎÕÔÉ ÒÅÖÉÍÉ, ËÏÒÉÓΦ ÄÌÑ "
+#~ "ÚÁÄÚÅÒËÁÌÅÎÎÑ.\n"
+#~ "  -p,  --page-requisites       ÏÔÒÉÍÕ×ÁÔÉ ×Ó¦ ÆÁÊÌÉ ÄÌÑ ÐÏ×ÎÏÇÏ "
+#~ "ÚÂÅÒÅÖÅÎÎÑ HTML.\n"
+#~ "       --strict-comments      ÕצÍËÎÕÔÉ ÖÏÒÓÔËÕ (SGML) ÏÂÒÏÂËÕ ËÏÍÅÎÔÁҦנ"
+#~ "HTML.\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "òÅËÕÒÓÉ×ÎÅ ×ËÌÀÞÅÎÎÑ/×ÉËÌÀÞÅÎÎÑ ÆÁÊ̦×:\n"
+#~ "  -A,  --accept=óðéóïë               ÓÐÉÓÏË ÒÏÚÛÉÒÅÎØ ÎÁ ×ËÌÀÞÅÎÎÑ.\n"
+#~ "  -R,  --reject=óðéóïë               ÓÐÉÓÏË ÒÏÚÛÉÒÅÎØ ÎÁ ×ÉËÌÀÞÅÎÎÑ.\n"
+#~ "  -D,  --domains=óðéóïë              ÓÐÉÓÏË ÄÏÚ×ÏÌÅÎÉÈ ÄÏÍÅΦ×.\n"
+#~ "       --exclude-domains=óðéóïë      ÞÅÒÅÚ ËÏÍÕ ÓÐÉÓÏË ÄÏÍÅΦ×, Ñ˦ "
+#~ "×ÉËÌÀÞÁÔÉ.\n"
+#~ "       --follow-ftp                  ÊÔÉ ÚÁ FTP-ÐÏÓÉÌÁÎÎÑÍÉ × HTML-"
+#~ "ÄÏËÕÍÅÎÔÁÈ.\n"
+#~ "       --follow-tags=óðéóïë          HTML ÔÅǦנÞÅÒÅÚ ËÏÍÕ, ÚÁ ÑËÉÍÉ "
+#~ "ÍÏÖÎÁ ÊÔÉ.\n"
+#~ "  -G,  --ignore-tags=óðéóïë          HTML ÔÅǦנÞÅÒÅÚ ËÏÍÕ, Ñ˦ ÔÒÅÂÁ "
+#~ "¦ÇÎÏÒ.\n"
+#~ "  -H,  --span-hosts                  ÐÅÒÅÈÏÄÉÔÉ ÎÁ ¦ÎÛ¦ ÈÏÓÔɠЦĠÞÁÓ "
+#~ "ÒÅËÕÒÓ¦§.\n"
+#~ "  -L,  --relative                    ÊÔÉ ÌÉÛ ÚÁ ×¦ÄÎÏÓÎÉÍÉ ÐÏÓÉÌÁÎÎÑÍÉ.\n"
+#~ "  -I,  --include-directories=óðéóïë  ÓÐÉÓÏË ÄÏÚ×ÏÌÅÎÉÈ ËÁÔÁÌÏǦ×.\n"
+#~ "  -X,  --exclude-directories=óðéóïë  ÓÐÉÓÏË ËÁÔÁÌÏǦנÎÁ ×ÉËÌÀÞÅÎÎÑ.\n"
+#~ "  -np, --no-parent                   ÎŠЦÄΦÍÁÔÉÓÑ × ÂÁÔØ˦×ÓËÉÊ "
+#~ "ËÁÔÁÌÏÇ.\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s: Ð¦ÄÔÒÉÍËՠצÄÌÁÇÏÄÖÅÎÎÑ ÎÅ ×ËÏÍЦÌØÏ×ÁÎÏ.\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "ãÑ ÐÒÏÇÒÁÍÁ ÐÏÛÉÒÀ¤ÔØÓÑ Ú ÎÁĦ¤À, ÝÏ ×ÏÎÁ ÂÕÄÅ ËÏÒÉÓÎÏÀ,\n"
+#~ "ÁÌÅ âåú âõäø-ñëéè çáòáîô¶ê; ÎÁצÔØ ÂÅÚ ÇÁÒÁÎÔ¦§ ëïòéóîïóô¶\n"
+#~ "ÞÉ ðòéäáôîïóô¶ äìñ ðå÷îï· ëïîëòåôîï· íåôé. äÉצÔØÓÑ\n"
+#~ "GNU General Public License ÄÌÑ ÏÔÒÉÍÁÎÎÑ ÄÅÔÁÌØΦÛϧ ¦ÎÆÏÒÍÁæ§.\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "úÁÐÕÓËÁ¤ÍÏ WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "îÅ ×ËÁÚÁËÎÏ ×ÕÚÏÌ"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s: %s: îÅÄÏÓÔÁÔÎØÏ ÐÁÍ'ÑÔ¦.\n"
index cd33ec865ffaa1dcbbf807d2d0a66e30e088e582..63f341a4994403991bc4c30f4899d8a04b560c46 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
-# translation of wget-1.10-rc1.po to Vietnamese
-# Copyright (C) 2005 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# Vietnamese translation for WGet.
+# Copyright © 2007 Free Software Foundation, Inc.
 # Phan Vinh Thinh <teppi82@gmail.com>, 2005.
-#
+# Clytie Siddall <clytie@riverland.net.au>, 2007
+# 
 msgid ""
 msgstr ""
-"Project-Id-Version: wget 1.10-rc1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-06-06 09:11-0400\n"
-"PO-Revision-Date: 2005-06-08 00:08+0400\n"
-"Last-Translator: Phan Vinh Thinh <teppi82@gmail.com>\n"
-"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
+"Project-Id-Version: wget 1.11-b2425\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
+"PO-Revision-Date: 2007-12-19 15:10+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.7b1\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: tùy chọn `%s' không rõ ràng\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: tùy chọn `--%s' không cho phép một tham số\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: tùy chọn `%c%s' không cho phép một tham số\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: tùy chọn `%s' yêu cầu một tham số\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: tùy chọn không nhận ra `--%s'\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: tùy chọn không nhận ra `%c%s'\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: tùy chọn không hợp lệ -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: tùy chọn sai -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: tùy chọn yêu cầu một tham số -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: tùy chọn `-W %s' không rõ ràng\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: tùy chọn `-W %s' không cho phép một tham số\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr "%s: không tìm thấy được địa chỉ bind `%s'; tắt bỏ bind.\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "Đang kết nối tới %s[%s]:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "Đang kết nối tới %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "đã kết nối.\n"
 
-#: src/convert.c:176
+#: src/connect.c:342 src/host.c:753 src/host.c:782
+#, c-format
+msgid "failed: %s.\n"
+msgstr "không thành công: %s.\n"
+
+#: src/connect.c:366 src/http.c:1632
 #, c-format
-msgid "Converted %d files in %.*f seconds.\n"
-msgstr "Đã chuyển đổi %d tập tin trong %.*f giây.\n"
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: không quyết định được địa chỉ của máy « %s »\n"
 
-#: src/convert.c:202
+#: src/convert.c:170
+#, c-format
+msgid "Converted %d files in %s seconds.\n"
+msgstr "Đã chuyển đổi %d tập tin trong %s giây.\n"
+
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "Đang chuyển đổi %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
-msgstr "không thực hiện gì.\n"
+msgstr "không có gì cần làm.\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "Không thể chuyển đổi liên kết trong %s: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "Không xóa được `%s': %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "Không sao lưu được %s thành %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Lỗi trong Set-Cookie, vùng `%s'"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Lỗi cú pháp trong Set-Cookie: %s tại vị trí %d.\n"
 
-#: src/cookies.c:1469
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr "Cookie đến từ %s đã thử đặt miền thành %s\n"
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "Không mở được tập tin cookie `%s': %s\n"
 
-#: src/cookies.c:1481
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "Lỗi ghi nhớ tới `%s': %s\n"
 
-#: src/cookies.c:1484
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "Lỗi đóng `%s': %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "Dạng danh sách không hỗ trợ, đang thử phân tích dạng danh sách Unix.\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "Chỉ mục của /%s trên %s: %d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
-msgstr "thời gian không rõ      "
+msgstr "thời gian không rõ       "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "Tập tin        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "Thư mục   "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "Liên kết        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "Không chắc    "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s byte)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "Chiều dài: %s"
 
-#: src/ftp.c:232 src/http.c:1857
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ", còn lại %s (%s)"
 
-#: src/ftp.c:236 src/http.c:1861
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ", còn lại %s"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
-msgstr " (chưa xác thực)\n"
+msgstr " (không có quyền)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "Đăng nhập với tên %s... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
-msgstr "Lỗi trong câu trả lời của máy chủ, đang đóng liên kết điều khiển.\n"
+msgstr ""
+"Lỗi trong câu trả lời của máy phục vụ, đang đóng liên kết điều khiển.\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
-msgstr "Lỗi trong lời chào mừng của máy chủ.\n"
+msgstr "Lỗi trong lời chào mừng của máy phục vụ.\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "Ghi nhớ không thành công, đang đóng liên kết điều khiển.\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
-msgstr "Máy chủ từ chối đăng nhập.\n"
+msgstr "Máy phục vụ từ chối đăng nhập.\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "Đăng nhập không đúng.\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
-msgstr "Đã đăng nhập!\n"
+msgstr "Đã đăng nhập !\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
-msgstr "Lỗi máy chủ, không xác định được dạng hệ thống.\n"
+msgstr "Lỗi máy phục vụ, không xác định được dạng hệ thống.\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "đã xong.    "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "đã xong.\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "Không rõ loại `%c', đang đóng liên kết điều khiển.\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "đã xong.  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> không cần thiết CWD.\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -214,34 +280,33 @@ msgstr ""
 "Không có thư mục `%s'.\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> không yêu cầu CWD.\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "Không khởi đầu được sự truyền tải THỤĐỘNG.\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "Không phân tích được câu trả lời THỤĐỘNG.\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "không kết nối được tới %s cổng %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Lỗi bind (%s).\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "CỔNG không đúng.\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -249,7 +314,7 @@ msgstr ""
 "\n"
 "REST không thành công; bắt đầu lại từ đầu.\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -258,7 +323,7 @@ msgstr ""
 "Không có tập tin `%s'.\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -267,81 +332,74 @@ msgstr ""
 "Không có tập tin hay thư mục `%s'.\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1913
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
-msgstr "%s nhảy tới một cái đã có.\n"
+msgstr "%s đã xuất hiện.\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s, đang đóng kết nối điều khiển.\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - Kết nối dữ liệu: %s; "
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "Đã đóng kết nối điều khiển.\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "Dừng truyền tải dữ liệu.\n"
 
-#: src/ftp.c:1114
+#: src/ftp.c:1097
 #, c-format
-msgid "File `%s' already there, not retrieving.\n"
-msgstr "Tập tin `%s' đã có ở đó, không nhận nữa.\n"
+msgid "File `%s' already there; not retrieving.\n"
+msgstr "Tập tin `%s' đã có ở đó nên không nhận nữa.\n"
 
-#: src/ftp.c:1182 src/http.c:2130
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
-msgstr "(thử:%2d)"
+msgstr "(thử: %2d)"
 
-#: src/ftp.c:1252 src/http.c:2409
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - đã ghi `%s' [%s]\n"
+"%s (%s) - đã lưu `%s' [%s]\n"
 "\n"
 
-#: src/ftp.c:1294 src/main.c:948 src/recur.c:376 src/retr.c:842
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
-msgstr "Đang xóa bỏ %s.\n"
+msgstr "Đang x %s.\n"
 
-#: src/ftp.c:1336
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "Đang dùng `%s' làm tập tin danh sách tmp.\n"
 
-#: src/ftp.c:1351
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "Đã xóa `%s'.\n"
 
-#: src/ftp.c:1386
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
-msgstr "Độ sâu đệ quy %d vượt quá độ sâu lớn nhất %d.\n"
+msgstr "Độ sâu đệ quy %d vượt quá độ sâu tối đa %d.\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1456
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "Tập tin ở xa không mới hơn tập tin nội bộ `%s' -- không tải xuống.\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1463
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
@@ -350,8 +408,7 @@ msgstr ""
 "Tập tin ở xa mới hơn tập tin nội bộ `%s' -- đang tải xuống.\n"
 "\n"
 
-#. Sizes do not match
-#: src/ftp.c:1470
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -360,11 +417,11 @@ msgstr ""
 "Kích thước không tương ứng (nội bộ %s) -- đang tải xuống.\n"
 "\n"
 
-#: src/ftp.c:1488
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "Sai tên của liên kết mềm, bỏ qua.\n"
 
-#: src/ftp.c:1505
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -373,242 +430,187 @@ msgstr ""
 "Đã có liên kết mềm đúng %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1513
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "Đang tạo liên kết mềm %s -> %s\n"
 
-#: src/ftp.c:1523
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "Không hỗ trợ liên kết mềm, nhảy qua liên kết mềm `%s'.\n"
 
-#: src/ftp.c:1535
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "Nhảy qua thư mục `%s'.\n"
 
-#: src/ftp.c:1544
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: loại tập tin không biết/không hỗ trợ.\n"
 
-#: src/ftp.c:1571
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: tem đánh dấu thời gian bị lỗi.\n"
 
-#: src/ftp.c:1599
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "Sẽ không nhận thư mục vì độ sâu là %d (max %d).\n"
 
-#: src/ftp.c:1649
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "Không giảm xuống thành `%s' vì nó bị loại bỏ/không được thêm.\n"
 
-#: src/ftp.c:1715 src/ftp.c:1729
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "Đang nhả ra `%s'.\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1775
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "Lỗi ghi nhớ tới `%s': %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "Không có tương ứng với mẫu `%s'.\n"
 
-#: src/ftp.c:1841
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "Đã viết chỉ mục ở dạng HTML tới `%s' [%s].\n"
 
-#: src/ftp.c:1846
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "Đã viết chỉ mục ở dạng HTML tới `%s'.\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: tùy chọn `%s' không rõ ràng\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn `--%s' không cho phép một tham số\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn `%c%s' không cho phép một tham số\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: tùy chọn `%s' yêu cầu một tham số\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: tùy chọn không nhận ra `--%s'\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: tùy chọn không nhận ra `%c%s'\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: tùy chọn không hợp lệ -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: tùy chọn sai -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: tùy chọn yêu cầu một tham số -- %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: tùy chọn `-W %s' không rõ ràng\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn `-W %s' không cho phép một tham số\n"
-
-#: src/host.c:371
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "Máy không rõ"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:375
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "Thất bại tạm thời khi tìm tên"
 
-#: src/host.c:377
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "Lỗi không rõ nguyên nhân"
 
-#: src/host.c:756
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "Đang tìm %s... "
 
-#: src/host.c:800 src/host.c:829
-#, c-format
-msgid "failed: %s.\n"
-msgstr "không thành công: %s.\n"
-
-#: src/host.c:809
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "thất bại: Không có địa chỉ IPv4/IPv6 cho máy.\n"
 
-#: src/host.c:832
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "không thành công: vượt quá thời gian chờ.\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: Không tìm thấy được liên kết không hoàn chỉnh %s.\n"
 
-#: src/http.c:373 src/http.c:1549
+#: src/html-url.c:696
+#, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s: URL không hợp lệ %s: %s\n"
+
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "Yêu cầu ghi HTTP không thành công: %s.\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "Không có phần đầu, coi như HTTP/0.9"
 
-#: src/http.c:1198
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "Tắt bỏ SSL vì tạo ra lỗi.\n"
 
-#: src/http.c:1417
+#: src/http.c:1570
 #, c-format
-msgid "Reusing existing connection to %s:%d.\n"
-msgstr "Đang dùng lại kết nối đã có tới %s: %d.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr "Thiếu tập tin dữ liệu POST « %s »: %s\n"
 
-#: src/http.c:1479
+#: src/http.c:1619
 #, c-format
-msgid "Failed writing to proxy: %s.\n"
-msgstr "Ghi tới proxy  không thành công: %s.\n"
+msgid "Reusing existing connection to %s:%d.\n"
+msgstr "Đang dùng lại kết nối đã có tới %s: %d.\n"
 
-#: src/http.c:1488
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "Đọc câu trả lời proxy không thành công: %s.\n"
 
-#: src/http.c:1508
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "Tạo đường hầm proxy không thành công: %s"
 
-#: src/http.c:1555
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "%s yêu cầu đã gửi, đang đợi câu trả lời... "
 
-#: src/http.c:1566
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "Không nhận được dữ liệu.\n"
 
-#: src/http.c:1573
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "Lỗi đọc (%s) trong phần đầu.\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1658
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"Tập tin `%s' đã có ở đó nên không nhận nữa.\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "Hệ thống xác thực không rõ.\n"
 
-#: src/http.c:1682
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "Xác thực không thành công.\n"
 
-#: src/http.c:1696
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "Dòng trạng thái bị lỗi"
 
-#: src/http.c:1698
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(không mô tả)"
 
-#: src/http.c:1769
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "Vị trí: %s%s\n"
 
-#: src/http.c:1770 src/http.c:1867
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "chưa chỉ ra"
 
-#: src/http.c:1771
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [theo sau]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1817
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -618,57 +620,60 @@ msgstr ""
 "    Đã nhận tập tin đầy đủ; không cần làm gì.\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1847
+#: src/http.c:2173
 msgid "Length: "
 msgstr "Dài: "
 
-#: src/http.c:1867
+#: src/http.c:2193
 msgid "ignored"
 msgstr "lờ đi"
 
-#: src/http.c:2007
+#: src/http.c:2264
+#, c-format
+msgid "Saving to: `%s'\n"
+msgstr "Đang lưu vào : « %s »\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "Cảnh báo: không hỗ trợ wildcard trong HTTP.\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2042
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "Tập tin `%s' đã có ở đó, sẽ không nhận.\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
+"Chế độ nhện đã được hiệu lực. Hãy kiểm tra tập tin ở xa tồn tại không.\n"
 
-#: src/http.c:2232
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "Không ghi nhớ được tới `%s' (%s).\n"
 
-#. Another fatal error.
-#: src/http.c:2239
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "Không thiết lập được kết nối SSL.\n"
 
-#: src/http.c:2248
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "LỖI: Chuyển hướng (%d) mà không có vị trí.\n"
 
-#: src/http.c:2278
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr "Tập tin ở xa không tồn tại — liên kết bị ngắt !\n"
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s LỖI %d: %s.\n"
 
-#: src/http.c:2291
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "Thiếu phần đầu \"Lần-sửa-cuối-cùng\" -- tắt tem đánh dấu thời gian.\n"
 
-#: src/http.c:2299
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "Sai phần đầu \"Lần-sửa-cuối-cùng\" -- lờ đi tem đánh dấu thời gian.\n"
 
-#: src/http.c:2322
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -677,134 +682,150 @@ msgstr ""
 "Tập tin trên máy chủ không mới hơn tập tin nội bộ `%s' -- không nhận.\n"
 "\n"
 
-#: src/http.c:2330
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "Kích thước tập tin không tương ứng (nội bộ %s) - đang nhận.\n"
 
-#: src/http.c:2335
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "Tập tin ở xa mới hơn, đang nhận.\n"
 
-#: src/http.c:2377
-#, c-format
+#: src/http.c:2650
 msgid ""
-"%s (%s) - `%s' saved [%s/%s]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
 msgstr ""
-"%s (%s) - đã ghi `%s'[%s/%s]\n"
+"Tập tin ở xa có phải tồn tại và có thể chứa liên kết đến tài nguyên khác nên "
+"đang lấy nó.\n"
 "\n"
 
-#: src/http.c:2434
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s. "
-msgstr "%s (%s) - Đóng kết nối tại byte %s. "
+#: src/http.c:2655
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr ""
+"Tập tin ở xa có phải tồn tại nhưng không chứa liên kết nên không lấy nó.\n"
+"\n"
 
-#: src/http.c:2443
+#: src/http.c:2663
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr ""
+"Tập tin ở xa có phải tồn tại nhưng khả năng đệ quy bị tắt nên không lấy nó.\n"
+"\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
-"%s (%s) - `%s' saved [%s/%s])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) - đã ghi `%s' [%s/%s])\n"
+"%s (%s) - đã ghi `%s'[%s/%s]\n"
 "\n"
 
-#: src/http.c:2469
+#: src/http.c:2770
 #, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - Đóng kết nối tại byte %s/%s. "
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - Đóng kết nối tại byte %s. "
 
-#: src/http.c:2483
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - Lỗi đọc tại byte %s (%s)."
 
-#: src/http.c:2493
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - Lỗi đọc tại byte %s/%s (%s). "
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC chỉ tới %s không tồn tại.\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: Không đọc được %s (%s).\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%s: Lỗi trong %s trên dòng %d.\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%s: Lỗi cú pháp trong %s trên dòng %d.\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%s: Không rõ câu lệnh `%s' trong %s trên dòng %d.\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: Cảnh báo: Cả wgetrc của hệ thống và người dùng đều chỉ tới `%s'.\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: Câu lệnh --execute không đúng `%s'\n"
 
-#: src/init.c:707
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
-msgstr "%s: %s: Giá trị boolean sai `%s', hãy dùng `on' hoặc 'off'.\n"
-
-#: src/init.c:750
+#: src/init.c:722
 #, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s: %s: Giá trị boolean sai `%s', hãy dùng always, on, off, hoặc never.\n"
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
+msgstr ""
+"%s: %s: Giá trị boolean sai « %s », hãy dùng:\n"
+" • on\tbật\n"
+" • off\ttắt\n"
 
-#: src/init.c:767
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: Số sai `%s'.\n"
 
-#: src/init.c:998 src/init.c:1017
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: Giá trị byte sai `%s'.\n"
 
-#: src/init.c:1042
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: Khoảng thời gian sai `%s'.\n"
 
-#: src/init.c:1096 src/init.c:1186 src/init.c:1281 src/init.c:1306
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: Giá trị sai `%s'.\n"
 
-#: src/init.c:1133
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: Phần đầu sai `%s'.\n"
 
-#: src/init.c:1198
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: Dạng minh họa tiến trình sai `%s'.\n"
 
-#: src/init.c:1249
+#: src/init.c:1230
 #, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
-msgstr "%s: %s: Giới hạn sai `%s', hãy dùng `unix' hoặc `windows'.\n"
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
+msgstr ""
+"%s: %s: Giới hạn sai « %s », hãy dùng:\n"
+" • unix|windows\n"
+" • lowercase|uppercase\t\tchữ hoa hoặc chữ thường\n"
+" • nocontrol\t\t\t\tkhông có điều khiển\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -813,9 +834,7 @@ msgstr ""
 "\n"
 "đã nhận %s, đang chuyển hướng kết quả tới `%s'.\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -824,17 +843,17 @@ msgstr ""
 "\n"
 "Đã nhận %s.\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s; đang tắt bỏ việc ghi sự kiện.\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "Sử dụng: %s [TÙY CHỌN]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -842,83 +861,95 @@ msgstr ""
 "Tham số cho các tùy chọn dài cũng là tham số cho các tùy chọn ngắn.\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "Khởi động:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           hiển thị phiên bản của Wget rồi thoát.\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              hiển thị trợ giúp này.\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        chuyển vào nền sau sau khi khởi động.\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=COMMAND   thực hiện một câu lệnh dạng `.wgetrc'.\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "Tập tin ghi sự kiện và tập tin nhập vào:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=FILE    ghi sự kiện vào FILE.\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=FILE  thêm thông báo sự kiện vào FILE.\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug               in nhiều thông tin để tìm sửa lỗi.\n"
 
-#: src/main.c:411
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "       --wdebug              in kết quả gỡ lỗi Watt-32.\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               im lặng (không đưa sự kiện).\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             chi tiết (đây là mặc định).\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr "  -nv, --no-verbose          không chi tiết, và không im lặng.\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=FILE     tải các URL tìm thấy trong FILE.\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          coi tập tin dữ liệu vào là HTML.\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            thêm URL tới liên kết tương đối trong tập tin sau -F -i.\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            thêm URL tới liên kết tương đối trong tập tin "
+"sau -F -i.\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "Tải xuống:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
-msgstr "  -t,  --tries=NUMBER            đặt số lần cố thử lại thành NUMBER (0 = không giới hạn).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+"  -t,  --tries=NUMBER            đặt số lần cố thử lại thành NUMBER (0 = "
+"không giới hạn).\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
 msgstr "       --retry-connrefused       cố tải dù kết nối bị từ chối.\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O,  --output-document=FILE    ghi tài liệu vào FILE.\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
@@ -926,15 +957,18 @@ msgstr ""
 "  -nc, --no-clobber              bỏ qua những công việc sẽ tải tới tập tin\n"
 "                                 đã có.\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
-msgstr "  -c,  --continue                tiếp tục tải phần còn tại của một tập tin.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+"  -c,  --continue                tiếp tục tải phần còn tại của một tập tin.\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=TYPE           chọn dạng mô tả tiến trình.\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
@@ -942,392 +976,548 @@ msgstr ""
 "  -N,  --timestamping            không nhận lại tập tin trừ khi mới hơn\n"
 "                                 nội bộ.\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         in ra câu trả lời của máy chủ.\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  không tải xuống gì hết.\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
-msgstr "  -T,  --timeout=SECONDS         đặt mọi giá trị thời gian chờ thành SECONDS.\n"
+msgstr ""
+"  -T,  --timeout=SECONDS         đặt mọi giá trị thời gian chờ thành "
+"SECONDS.\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
-msgstr "       --dns-timeout=SECS        đặt thời gian chờ tìm DNS thành SECS.\n"
+msgstr ""
+"       --dns-timeout=SECS        đặt thời gian chờ tìm DNS thành SECS.\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
-msgstr "       --connect-timeout=SECS    đặt thời gian chờ kết nối thành SECS.\n"
+msgstr ""
+"       --connect-timeout=SECS    đặt thời gian chờ kết nối thành SECS.\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=SECS       đặt thời gian chờ đọc thành SECS.\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=SECONDS            chờ SECONDS giữa các lần phục hồi.\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
-msgstr "       --waitretry=SECONDS       chờ 1..SECONDS giữa các lần thử của một sự phục hồi.\n"
-
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
-msgstr "       --random-wait             chờ từ 0...2*WAIT giây giữa các lần phục hồi.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+"       --waitretry=SECONDS       chờ 1..SECONDS giữa các lần thử của một sự "
+"phục hồi.\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   dùng proxy.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+"       --random-wait             chờ từ 0...2*WAIT giây giữa các lần phục "
+"hồi.\n"
 
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                không dùng proxy.\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
-msgstr "  -Q,  --quota=NUMBER            đặt giới hạn số phục hồi thành NUMBER.\n"
+msgstr ""
+"  -Q,  --quota=NUMBER            đặt giới hạn số phục hồi thành NUMBER.\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=ADDRESS    bind tới ADDRESS (tên máy hoặc IP) trên máy nội bộ.\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=ADDRESS    bind tới ADDRESS (tên máy hoặc IP) trên máy "
+"nội bộ.\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
-msgstr "       --limit-rate=RATE         giới hạn tốc độ tải xuống thành RATE.\n"
+msgstr ""
+"       --limit-rate=RATE         giới hạn tốc độ tải xuống thành RATE.\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr "       --no-dns-cache            không dùng cache tìm kiếm DNS.\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=OS  giới hạn ký tự trong tên tập tin thành những gì OS cho phép.\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  giới hạn ký tự trong tên tập tin thành "
+"những gì OS cho phép.\n"
 
-#: src/main.c:476
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+"       --ignore-case    không phân biệt chữ hoa/thường khi khớp tập tin/thư "
+"mục.\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              chỉ kết nối tới các địa chỉ IPv4.\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              chỉ kết nối tới các địa chỉ IPv6.\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
-"       --prefer-family=FAMILY    đầu tiên kết nối tới địa chỉ của nhóm chỉ ra,\n"
+"       --prefer-family=FAMILY    đầu tiên kết nối tới địa chỉ của nhóm chỉ "
+"ra,\n"
 "                                 một trong IPv6, IPv4, hoặc rỗng.\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
-msgstr "       --user=USER               đặt người dùng cho cả ftp và http thành USER.\n"
+msgstr ""
+"       --user=USER               đặt người dùng cho cả ftp và http thành "
+"USER.\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
-msgstr "       --password=PASS           đặt cả mật khẩu ftp và http thành PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+"       --password=PASS           đặt cả mật khẩu ftp và http thành PASS.\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "Thư mục:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd, --no-directories           không tạo thư mục.\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        bắt buộc tạo thư mục.\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories      không tạo thư mục máy.\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
 msgstr "       --protocol-directories     dùng tên giao thức trong thư mục.\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=PREFIX  ghi tập tin vào PREFIX/...\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
-msgstr "       --cut-dirs=NUMBER          lời đi NUMBER thành phần thư mục ở xa.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+"       --cut-dirs=NUMBER          lời đi NUMBER thành phần thư mục ở xa.\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "Tùy chọn HTTP:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=USER        đặt người dùng http thành USER.\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-password=PASS    đặt mật khẩu http thành PASS.\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
-msgstr "       --no-cache              không cho phép dữ liệu cache trên server.\n"
+msgstr ""
+"       --no-cache              không cho phép dữ liệu cache trên server.\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
-msgstr "  -E,  --html-extension        ghi tài liệu HTML với phần mở rộng `.html'.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+"  -E,  --html-extension        ghi tài liệu HTML với phần mở rộng `.html'.\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
-msgstr "       --ignore-length         lờ đi thành phần `Content-Length' của phần đầu.\n"
+msgstr ""
+"       --ignore-length         lờ đi thành phần `Content-Length' của phần "
+"đầu.\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=STRING         chèn STRING vào giữa các phần đầu.\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+"       --max-redirect    số lần chuyển hướng tối đa cho phép trên mỗi "
+"trang.\n"
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=USER       đặt USER làm tên người dùng proxy.\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-password=PASS   đặt PASS làm mật khẩu proxy.\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           thêm phần đầu `Referer: URL' vào yêu cầu HTTP.\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           thêm phần đầu `Referer: URL' vào yêu cầu "
+"HTTP.\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          ghi phần đầu HTTP vào tập tin.\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
-msgstr "  -U,  --user-agent=AGENT      dùng AGENT làm tên thay cho Wget/PHIÊNBẢN.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+"  -U,  --user-agent=AGENT      dùng AGENT làm tên thay cho Wget/PHIÊNBẢN.\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
-msgstr "       --no-http-keep-alive    không giữ HTTP sống (kết nối cố định).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+"       --no-http-keep-alive    không giữ HTTP sống (kết nối cố định).\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            không dùng cookies.\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
-msgstr "       --load-cookies=FILE     nạp cookie từ FILE trước khi làm việc.\n"
+msgstr ""
+"       --load-cookies=FILE     nạp cookie từ FILE trước khi làm việc.\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
 msgstr "       --save-cookies=FILE     ghi cookie vào FILE sau khi làm việc.\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
-msgstr "       --keep-session-cookies  nạp và ghi cookie buổi làm việc (không thường trực).\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+"       --keep-session-cookies  nạp và ghi cookie buổi làm việc (không thường "
+"trực).\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
-msgstr "       --post-data=STRING      dùng phương pháp POST; gửi STRING làm dữ liệu.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+"       --post-data=STRING      dùng phương pháp POST; gửi STRING làm dữ "
+"liệu.\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
-msgstr "       --post-file=FILE      dùng phương pháp POST; gửi nội dung của STRING.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+"       --post-file=FILE      dùng phương pháp POST; gửi nội dung của "
+"STRING.\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+"       --content-disposition   tùy theo dòng đầu « Content-Disposition »\n"
+"\t\t\t(sắp đặt nội dung) khi chọn tên tập tin cục bộ\n"
+"\t\t\t(VẪN THỰC NGHIỆM)\n"
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "Tùy chọn HTTPS (SSL/TLS):\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
 msgstr ""
-"       --secure-protocol=PR     chọn giao thức bảo mật, một trong số auto, SSLv2,\n"
+"       --secure-protocol=PR     chọn giao thức bảo mật, một trong số auto, "
+"SSLv2,\n"
 "                                SSLv3, và TLSv1.\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
-msgstr "       --no-check-certificate   không kiểm tra tính hợp lệ của chứng thực của server.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+"       --no-check-certificate   không kiểm tra tính hợp lệ của chứng thực "
+"của server.\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=FILE       tập tin chứng thực của client.\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
-msgstr "       --certificate-type=TYPE  dạng chứng thực client, PEM hoặc DER.\n"
+msgstr ""
+"       --certificate-type=TYPE  dạng chứng thực client, PEM hoặc DER.\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=FILE       tập tin chìa khóa riêng tư.\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
-msgstr "       --private-key-type=TYPE  dạng chìa khóa riêng tư, PEM hoặc DER.\n"
+msgstr ""
+"       --private-key-type=TYPE  dạng chìa khóa riêng tư, PEM hoặc DER.\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=FILE    tập tin với các gói của CA.\n"
 
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
 msgstr "       --ca-directory=DIR       thư mục chứa danh sách hash của CA.\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=FILE       tập tin với dữ liệu theo xác suất để tạo thành SSL PRNG.\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=FILE       tập tin với dữ liệu theo xác suất để tạo "
+"thành SSL PRNG.\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
-msgstr "       --egd-file=FILE          đặt tên socket EGD với dữ liệu theo xác suất.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+"       --egd-file=FILE          đặt tên socket EGD với dữ liệu theo xác "
+"suất.\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "Tùy chọn FTP:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=USER         đặt người dùng ftp thành USER.\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=PASS     đặt mật khẩu ftp thành PASS.\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     không xóa bỏ tập tin `.listing'.\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
-msgstr "       --no-glob               không dùng globbing cho tên tập tin FTP.\n"
+msgstr ""
+"       --no-glob               không dùng globbing cho tên tập tin FTP.\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
-msgstr "       --no-passive-ftp        không dùng dạng truyền tải \"passive\" (thụ động).\n"
+msgstr ""
+"       --no-passive-ftp        không dùng dạng truyền tải \"passive\" (thụ "
+"động).\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
-msgstr "       --retr-symlinks         khi đệ quy, lấy tập tin được liên kết đến (không phải thư mục).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+"       --retr-symlinks         khi đệ quy, lấy tập tin được liên kết đến "
+"(không phải thư mục).\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr "       --preserve-permissions  giữ lại quyền hạn của tập tin ở xa.\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "Tải đệ quy:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          dùng tải đệ quy.\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
-msgstr "  -l,  --level=NUMBER       độ sâu lớn nhất của đệ quy (inf hoặc 0 = vô hạn).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+"  -l,  --level=NUMBER       độ sâu lớn nhất của đệ quy (inf hoặc 0 = vô "
+"hạn).\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr "       --delete-after       xóa tập tin nội bộ sau khi tải xong.\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
-msgstr "  -k,  --convert-links      khiến liên kết trong HTML tải xuống chỉ tới tập tin nội bộ.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+"  -k,  --convert-links      khiến liên kết trong HTML tải xuống chỉ tới tập "
+"tin nội bộ.\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-msgstr "  -K,  --backup-converted   trước khi chuyển đổi tập tin X, sao lưu thành X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+msgstr ""
+"  -K,  --backup-converted   trước khi chuyển đổi tập tin X, sao lưu thành X."
+"orig.\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-msgstr "  -m,  --mirror             tùy chọn rút gọn tương đương với -r -N -l inf -nr.\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             tùy chọn rút gọn tương đương với\n"
+"\t\t\t\t\t« -N -r -l inf --no-remove-listing ».\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-msgstr "  -p,  --page-requisites    lấy mọi hình ảnh, v.v... cần thiết để hiển thị trang HTML.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+"  -p,  --page-requisites    lấy mọi hình ảnh, v.v... cần thiết để hiển thị "
+"trang HTML.\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-msgstr "       --strict-comments    dùng việc giới hạn (SGML) điều khiển chú thích HTML.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+"       --strict-comments    dùng việc giới hạn (SGML) điều khiển chú thích "
+"HTML.\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "Chấp nhận/nhả ra đệ quy:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
-msgstr "  -A,  --accept=LIST               những phần mở rộng chấp nhận, cách nhau một dấu phẩy.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+"  -A,  --accept=LIST               những phần mở rộng chấp nhận, cách nhau "
+"một dấu phẩy.\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
-msgstr "  -R,  --reject=LIST               những phần mở rộng nhả ra, cách nhau một dấu phẩy.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+"  -R,  --reject=LIST               những phần mở rộng nhả ra, cách nhau một "
+"dấu phẩy.\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
-msgstr "  -D,  --domains=LIST              những miền chấp nhận, cách nhau một dấu phẩy.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+"  -D,  --domains=LIST              những miền chấp nhận, cách nhau một dấu "
+"phẩy.\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
-msgstr "       --exclude-domains=LIST      những miền nhả ra, cách nhau một dấu phẩy.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+"       --exclude-domains=LIST      những miền nhả ra, cách nhau một dấu "
+"phẩy.\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
-msgstr "       --follow-ftp                đi theo liên kết FTP từ tài liệu HTML.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+"       --follow-ftp                đi theo liên kết FTP từ tài liệu HTML.\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
-msgstr "       --follow-tags=LIST          những thẻ HTML đi theo, cách nhau một dấu phẩy.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+"       --follow-tags=LIST          những thẻ HTML đi theo, cách nhau một dấu "
+"phẩy.\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
-msgstr "       --ignore-tags=LIST          những thẻ HTML bị lờ đi, cách nhau một dấu phẩy.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+"       --ignore-tags=LIST          những thẻ HTML bị lờ đi, cách nhau một "
+"dấu phẩy.\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr "  -H,  --span-hosts                đi tới máy khác khi đệ quy.\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  chỉ đi theo liên kết tương đối.\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=LIST  những thư mục cho phép.\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=LIST  những thư mục bỏ đi.\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent                 không đi ngược lên thư mục mẹ.\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "Gửi báo cáo lỗi (bug) và đề nghị tới <bug-wget@gnu.org>.\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s, một chương trình truyền tải mạng có thể chạy ở dạng daemon.\n"
+msgstr ""
+"GNU Wget %s, một chương trình truyền tải mạng có thể chạy ở dạng daemon.\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
-msgstr "Đăng ký bản quyền (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
+msgstr "Tác quyền © năm 2007 của Tổ chực Phần mềm Tự do.\n"
 
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"Chương trình này được phát hành với hy vọng rằng nó sẽ trở nên hữu ích,\n"
-"nhưng nó KHÔNG KÈM THEO BẤT KỲ SỰ BẢO ĐẢM NÀO, ngay cả những đảm\n"
-"bảo ngầm hiểu về việc THƯƠNG MẠI HÓA hay PHẢI PHÙ HỢP VỚI MỘT MỤC ĐÍCH\n"
-"CỤ THỂ NÀO. Hãy tham khảo giấy phép GNU General Public License để biết thêm chi tiết.\n"
-
-#: src/main.c:665
+"Giấy Phép Công Cộng GNU (GPL), phiên bản 3 hay sau\n"
+"<http://gnu.org/licenses/gpl.html>\n"
+"Đây là phần mềm tự do : bạn có quyền thay đổi và phát hành lại nó.\n"
+"KHÔNG CÓ BẢO HÀNH GÌ CẢ, với điều kiện được pháp luật cho phép.\n"
+
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1335,184 +1525,226 @@ msgstr ""
 "\n"
 "Được viết bởi Hrvoje Niksic <hniksic@xemacs.org>.\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr "Nhà duy trì hiện thời: Micah Cowan <micah@cowan.name>.\n"
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "Hãy thử `%s --help' để biết thêm tùy chọn.\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: tùy chọn không cho phép -- `-n%c'\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "Không thể cùng một lúc thông báo chi tiết và im lặng.\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
-msgstr "Không thể cùng một lúc đánh dấu thời gian và không ghi đè tập tin cũ.\n"
+msgstr ""
+"Không thể cùng một lúc đánh dấu thời gian và không ghi đè tập tin cũ.\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "Không thể chỉ ra cả --inet4-only và --inet6-only.\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+"Đưa ra tùy chọn « -O » thì không thể ghi rõ « -r », « -p » hay « -N ».\n"
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+"Đưa ra nhiều địa chỉ URL thì không thể ghi rõ cả hai tùy chọn « -k » và « -O "
+"».\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: thiếu URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "Không tìm thấy URL trong %s.\n"
 
-#: src/main.c:972
+#: src/main.c:1043
 #, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
-"\n"
 "KẾT THÚC --%s--\n"
-"Đã tải: %s byte trong %d tập tin\n"
+"Đã tải về: %d tập tin, %s trên %s (%s)\n"
 
-#: src/main.c:978
+#: src/main.c:1052
 #, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
-msgstr "Đã VƯỢT QUÁ giới hạn truyền tải (%s byte)!\n"
+msgid "Download quota of %s EXCEEDED!\n"
+msgstr "Giới hạn tải về %s BỊ VƯỢT QUÁ !\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "Tiếp tục trong nền sau.\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "Đang tiếp tục trong nền sau, pid %lu.\n"
 
-#: src/mswindows.c:429 src/utils.c:348
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "Kết quả sẽ được ghi vào `%s'.\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: Không tìm thấy driver socket có thể sử dụng.\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
-msgstr "%s: %s:%d: cảnh báo: \"%s\" dấu hiệu xuất hiện trước bất kỳ tên máy nào\n"
+msgstr ""
+"%s: %s:%d: cảnh báo: \"%s\" dấu hiệu xuất hiện trước bất kỳ tên máy nào\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: không rõ dấu hiệu \"%s\"\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "Sử dụng: %s NETRC [TÊN MÁY]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s: không thể stat %s: %s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "CẢNH BÁO: đang sử dụng một nguồn sinh theo xác suất yếu.\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
 msgstr "Không thể tạo nguồn sinh PRNG, coi như sử dụng --random-file.\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "LỖI"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "CẢNH BÁO"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s: Không có chứng thực từ %s.\n"
 
-#: src/openssl.c:458
+#: src/openssl.c:518
 #, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s: Lỗi kiểm tra chứng thực cho %s: %s\n"
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s: không thể thẩm tra chứng nhận của %s, cấp bởi « %s »:\n"
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr "  Không thể thẩm tra cục bộ quyền của nhà cấp.\n"
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr "  Gặp chứng nhận tự ký.\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr "  Chứng nhận đã cấp nhưng chưa hợp lệ.\n"
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr "  Chứng nhận đã cấp cũng đã hết hạn dùng.\n"
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
-msgstr "%s: tên chung của chứng thực `%s' không tương ứng tên máy yêu cầu `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+"%s: tên chung của chứng thực `%s' không tương ứng tên máy yêu cầu `%s'.\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
 msgstr "Để kết nối không an toàn tới %s, hãy dùng `-no-check-certificate'.\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
+#: src/progress.c:242
 #, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
-"%*s[ nhảy qua %dK ]"
+"%*s[ nhảy qua %sK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "Lỗi trong định dạng dấu chấm `%s', để nguyên.\n"
 
-#: src/recur.c:377
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr "  tới %s"
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr "   trong "
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr "Không thể lấy tần số đồng hồ THỜI GIAN THỰC: %s\n"
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "Đang xóa bỏ %s vì nó sẽ bị nhả ra.\n"
 
-#: src/res.c:544
+#: src/res.c:390
+#, c-format
+msgid "Cannot open %s: %s"
+msgstr "Không thể mở %s: %s"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "Đang nạp robots.txt; xin hãy lờ đi các thông báo lỗi.\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "Lỗi phân tích URL của proxy %s: %s.\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "Lỗi trong URL của proxy %s: Phải là HTTP.\n"
 
-#: src/retr.c:738
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "Vượt quá giới hạn %d lần chuyển hướng.\n"
 
-#: src/retr.c:863
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1520,7 +1752,7 @@ msgstr ""
 "Đầu hàng.\n"
 "\n"
 
-#: src/retr.c:863
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1528,50 +1760,86 @@ msgstr ""
 "Đang thử lại.\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+"Không tìm thấy liên kết bị ngắt.\n"
+"\n"
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+"Tìm thấy %d liên kết bị ngắt.\n"
+"\n"
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/url.c:620
 msgid "No error"
 msgstr "Không có lỗi"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "Sơ đồ không hỗ trợ"
 
-#: src/url.c:630
-msgid "Empty host"
-msgstr "Máy rỗng"
+#: src/url.c:624
+msgid "Invalid host name"
+msgstr "Sai tên máy"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "Số thứ tự cổng xấu"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "Sai tên người dùng"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "Địa chỉ số IPv6 không có giới hạn"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "Không hỗ trợ địa chỉ IPv6"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "Địa chỉ IPv6 không đúng"
 
-#. parent, no error
-#: src/utils.c:346
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "Tiếp tục trong nền sau, pid %d.\n"
 
-#: src/utils.c:394
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "Bỏ liên kết mềm `%s' không thành công: %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s: %s: Phân phối không thành công %ld byte; cạn bộ nhớ.\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   dùng proxy.\n"
+
+#~ msgid ""
+#~ "       --no-content-disposition  don't honor Content-Disposition header.\n"
+#~ msgstr ""
+#~ "       --no-content-disposition  đừng tùy theo dòng đầu Content-"
+#~ "Disposition.\n"
+
+#~ msgid "%s referred by:\n"
+#~ msgstr "%s tham chiếu bởi:\n"
index 66c533c9c16460753b08ee47233130572b75c37f..f501041e35a7fbcbd4e0b861f4034f1ad1d1488e 100644 (file)
@@ -7,7 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.9-b5\n"
-"POT-Creation-Date: 2003-10-11 16:21+0200\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2003-10-14 23:28+0800\n"
 "Last-Translator: Rongjun Mu <elanmu@sina.com>\n"
 "Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
@@ -16,28 +17,93 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.0.2\n"
 
-#: src/connect.c:88
+#: lib/getopt.c:530 lib/getopt.c:546
 #, c-format
-msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
-msgstr "无法转换 “%s”为绑定地址,正在恢复为 ANY。\n"
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s:选项“%s”不明确\n"
 
-#: src/connect.c:165
+#: lib/getopt.c:579 lib/getopt.c:583
 #, c-format
-msgid "Connecting to %s[%s]:%hu... "
-msgstr "正在连接 %s[%s]:%hu... "
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s:选项“--%s”不允许有参数\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s:选项“%c%s”不允许有参数\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s:选项“%s”需要参数\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s:无法识别的选项“--%s”\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s:无法识别的选项“%c%s”\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s:非法选项 -- %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s:无效选项 -- %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s:选项需要参数 -- %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s:选项“-W %s”不明确\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s:选项“-W %s”不允许有参数\n"
 
-#: src/connect.c:168
+#: src/connect.c:195
 #, c-format
-msgid "Connecting to %s:%hu... "
+msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
+msgstr ""
+
+#: src/connect.c:267
+#, fuzzy, c-format
+msgid "Connecting to %s|%s|:%d... "
+msgstr "正在连接 %s[%s]:%hu... "
+
+#: src/connect.c:270
+#, fuzzy, c-format
+msgid "Connecting to %s:%d... "
 msgstr "正在连接 %s:%hu... "
 
-#: src/connect.c:222
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "已连接。\n"
 
-#: src/convert.c:171
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
-msgid "Converted %d files in %.2f seconds.\n"
+msgid "failed: %s.\n"
+msgstr "失败:%s。\n"
+
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "无法删除“%s”:%s\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "已转换 %d 个文件(在 %.2f 秒之内)。\n"
 
 #: src/convert.c:197
@@ -59,129 +125,152 @@ msgstr "无法转换 %s 中的链接:%s\n"
 msgid "Unable to delete `%s': %s\n"
 msgstr "无法删除“%s”:%s\n"
 
-#: src/convert.c:439
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "无法将 %s 备份成 %s:%s\n"
 
-#: src/cookies.c:606
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "在 Set-Cookie 的中出现错误,字段“%s”"
-
-#: src/cookies.c:629
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "在 Set-Cookie 中出现语法错误:%s 在位置 %d 处。\n"
 
-#: src/cookies.c:1426
+#: src/cookies.c:685
+#, c-format
+msgid "Cookie coming from %s attempted to set domain to %s\n"
+msgstr ""
+
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "无法打开 cookie 文件“%s”:%s\n"
 
-#: src/cookies.c:1438
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "写入“%s”时发生错误:%s\n"
 
-#: src/cookies.c:1442
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "关闭“%s”时发生错误:%s\n"
 
-#: src/ftp-ls.c:812
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "不支持的文件列表类型,试用 Unix 格式的列表来分析。\n"
 
-#: src/ftp-ls.c:857 src/ftp-ls.c:859
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s 的索引在 %s:%d"
 
-#: src/ftp-ls.c:882
+#: src/ftp-ls.c:907
+#, c-format
 msgid "time unknown       "
 msgstr "未知的时间         "
 
-#: src/ftp-ls.c:886
+#: src/ftp-ls.c:911
+#, c-format
 msgid "File        "
 msgstr "文件        "
 
-#: src/ftp-ls.c:889
+#: src/ftp-ls.c:914
+#, c-format
 msgid "Directory   "
 msgstr "目录        "
 
-#: src/ftp-ls.c:892
+#: src/ftp-ls.c:917
+#, c-format
 msgid "Link        "
 msgstr "链接        "
 
-#: src/ftp-ls.c:895
+#: src/ftp-ls.c:920
+#, c-format
 msgid "Not sure    "
 msgstr "不确定    "
 
-#: src/ftp-ls.c:913
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s 字节)"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:202
+#: src/ftp.c:214
+#, c-format
+msgid "Length: %s"
+msgstr "长度:%s"
+
+#: src/ftp.c:220 src/http.c:2183
+#, c-format
+msgid ", %s (%s) remaining"
+msgstr ""
+
+#: src/ftp.c:224 src/http.c:2187
+#, c-format
+msgid ", %s remaining"
+msgstr ""
+
+#: src/ftp.c:227
+msgid " (unauthoritative)\n"
+msgstr " (非正式数据)\n"
+
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "正在以 %s 登录 ... "
 
-#: src/ftp.c:215 src/ftp.c:268 src/ftp.c:299 src/ftp.c:353 src/ftp.c:468
-#: src/ftp.c:519 src/ftp.c:551 src/ftp.c:611 src/ftp.c:675 src/ftp.c:748
-#: src/ftp.c:796
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "服务器响应时发生错误,正在关闭控制连接。\n"
 
-#: src/ftp.c:223
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "服务器消息出现错误。\n"
 
-#: src/ftp.c:231 src/ftp.c:362 src/ftp.c:477 src/ftp.c:560 src/ftp.c:621
-#: src/ftp.c:685 src/ftp.c:758 src/ftp.c:806
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "写入失败,正在关闭控制连接。\n"
 
-#: src/ftp.c:238
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "服务器拒绝登录。\n"
 
-#: src/ftp.c:245
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "登录不正确。\n"
 
-#: src/ftp.c:252
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "登录成功!\n"
 
-#: src/ftp.c:277
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "服务器错误,无法确定操作系统的类型。\n"
 
-#: src/ftp.c:287 src/ftp.c:596 src/ftp.c:659 src/ftp.c:716
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "完成。    "
 
-#: src/ftp.c:341 src/ftp.c:498 src/ftp.c:533 src/ftp.c:779 src/ftp.c:827
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: src/ftp.c:370
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "未知的类别“%c”,正在关闭控制连接。\n"
 
-#: src/ftp.c:383
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "完成。  "
 
-#: src/ftp.c:389
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> 不需要 CWD。\n"
 
-#: src/ftp.c:484
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -190,43 +279,33 @@ msgstr ""
 "目录“%s”不存在。\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:502
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> 不需要 CWD。\n"
 
-#: src/ftp.c:567
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "无法启动 PASV 传输。\n"
 
-#: src/ftp.c:571
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "无法解析 PASV 响应内容。\n"
 
-#: src/ftp.c:588
-#, c-format
-msgid "couldn't connect to %s:%hu: %s\n"
+#: src/ftp.c:665
+#, fuzzy, c-format
+msgid "couldn't connect to %s port %d: %s\n"
 msgstr "无法连接到 %s:%hu :%s\n"
 
-#: src/ftp.c:638
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bind 错误(%s)。\n"
 
-#: src/ftp.c:645
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "无效的 PORT(端口)。\n"
 
-#: src/ftp.c:698
-#, c-format
-msgid ""
-"\n"
-"REST failed; will not truncate `%s'.\n"
-msgstr ""
-"\n"
-"重置 (REST) 失败;不会截短‘%s’。\n"
-
-#: src/ftp.c:705
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -234,7 +313,7 @@ msgstr ""
 "\n"
 "重置 (REST) 失败,重新开始发送。\n"
 
-#: src/ftp.c:766
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -243,7 +322,7 @@ msgstr ""
 "文件“%s”不存在。\n"
 "\n"
 
-#: src/ftp.c:814
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -252,107 +331,94 @@ msgstr ""
 "文件或目录“%s”不存在。\n"
 "\n"
 
-#: src/ftp.c:898 src/ftp.c:906
-#, c-format
-msgid "Length: %s"
-msgstr "长度:%s"
-
-#: src/ftp.c:900 src/ftp.c:908
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
-msgid " [%s to go]"
-msgstr " [尚有 %s]"
-
-#: src/ftp.c:910
-msgid " (unauthoritative)\n"
-msgstr " (非正式数据)\n"
+msgid "%s has sprung into existence.\n"
+msgstr ""
 
-#: src/ftp.c:936
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s:%s,正在关闭控制连接。\n"
 
-#: src/ftp.c:944
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) - 数据连接:%s;"
 
-#: src/ftp.c:961
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "已关闭控制连接。\n"
 
-#: src/ftp.c:979
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "数据传输已被中止。\n"
 
-#: src/ftp.c:1044
-#, c-format
-msgid "File `%s' already there, not retrieving.\n"
+#: src/ftp.c:1097
+#, fuzzy, c-format
+msgid "File `%s' already there; not retrieving.\n"
 msgstr "文件“%s”已经存在,不取回。\n"
 
-#: src/ftp.c:1114 src/http.c:1716
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(尝试次数:%2d)"
 
-#: src/ftp.c:1180 src/http.c:1975
-#, c-format
+#: src/ftp.c:1235 src/http.c:2746
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld]\n"
+"%s (%s) - `%s' saved [%s]\n"
 "\n"
 msgstr ""
 "%s (%s) - 已保存‘%s’[%ld]\n"
 "\n"
 
-#: src/ftp.c:1222 src/main.c:890 src/recur.c:377 src/retr.c:596
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "正在删除 %s。\n"
 
-#: src/ftp.c:1264
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "使用“%s”作为列表临时文件。\n"
 
-#: src/ftp.c:1279
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "已删除“%s”。\n"
 
-#: src/ftp.c:1314
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "链接递归深度 %d 超过最大值 %d。\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1384
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "远程文件不比本地文件“%s”新 -- 不取回。\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1391
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr "远程文件较本地文件“%s”新 -- 取回。\n"
 
-#. Sizes do not match
-#: src/ftp.c:1398
-#, c-format
+#: src/ftp.c:1451
+#, fuzzy, c-format
 msgid ""
-"The sizes do not match (local %ld) -- retrieving.\n"
+"The sizes do not match (local %s) -- retrieving.\n"
 "\n"
 msgstr ""
 "文件大小不符(本地文件 %ld) -- 取回。\n"
 "\n"
 
-#: src/ftp.c:1415
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "无效的符号连接名,跳过。\n"
 
-#: src/ftp.c:1432
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -361,235 +427,187 @@ msgstr ""
 "已经存在正确的符号连接 %s -> %s\n"
 "\n"
 
-#: src/ftp.c:1440
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "正在创建符号链接 %s -> %s\n"
 
-#: src/ftp.c:1451
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "不支持符号连接,正在跳过符号连接“%s”。\n"
 
-#: src/ftp.c:1463
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "正在跳过目录“%s”。\n"
 
-#: src/ftp.c:1472
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s:未知的/不支持的文件类型。\n"
 
-#: src/ftp.c:1499
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s:错误的时间戳标记。\n"
 
-#: src/ftp.c:1524
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "因为深度为 %d(最大值为 %d),所以不取回。\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "不进入“%s”目录因为已被排除或未被包含进来。\n"
 
-#: src/ftp.c:1639 src/ftp.c:1652
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "拒绝“%s”。\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1698
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "写入“%s”时发生错误:%s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "没有与模式“%s”相符合的。\n"
 
-#: src/ftp.c:1764
-#, c-format
-msgid "Wrote HTML-ized index to `%s' [%ld].\n"
+#: src/ftp.c:1840
+#, fuzzy, c-format
+msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "已经将 HTML 格式的索引写入到“%s” [%ld]。\n"
 
-#: src/ftp.c:1769
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "已经将 HTML 格式的索引写入到“%s”。\n"
 
-#: src/gen_sslfunc.c:117
-msgid "Could not seed OpenSSL PRNG; disabling SSL.\n"
-msgstr "无法产生 OpenSSL 随机数产生程序(PRNG)使用的种子;禁用 SSL。\n"
-
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s:选项“%s”不明确\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s:选项“--%s”不允许有参数\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s:选项“%c%s”不允许有参数\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s:选项“%s”需要参数\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s:无法识别的选项“--%s”\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s:无法识别的选项“%c%s”\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s:非法选项 -- %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s:无效选项 -- %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s:选项需要参数 -- %c\n"
+#: src/host.c:348
+#, fuzzy
+msgid "Unknown host"
+msgstr "未知的错误"
 
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s:选项“-W %s”不明确\n"
+#: src/host.c:352
+msgid "Temporary failure in name resolution"
+msgstr ""
 
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s:选项“-W %s”不允许有参数\n"
+#: src/host.c:354
+msgid "Unknown error"
+msgstr "未知的错误"
 
-#: src/host.c:636
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "正在解析主机 %s... "
 
-#: src/host.c:656 src/host.c:672
-#, c-format
-msgid "failed: %s.\n"
-msgstr "失败:%s。\n"
+#: src/host.c:762
+msgid "failed: No IPv4/IPv6 addresses for host.\n"
+msgstr ""
 
-#: src/host.c:674
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "失败:超时。\n"
 
-#: src/host.c:762
-msgid "Host not found"
-msgstr "找不到主机"
-
-#: src/host.c:764
-msgid "Unknown error"
-msgstr "未知的错误"
-
-#: src/html-url.c:293
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s:无法解析不完整的链接 %s。\n"
 
-#. this is fatal
-#: src/http.c:674
-msgid "Failed to set up an SSL context\n"
-msgstr "无法创建 SSL context\n"
+#: src/html-url.c:696
+#, fuzzy, c-format
+msgid "%s: Invalid URL %s: %s\n"
+msgstr "%s:%s:无效的值“%s”。\n"
 
-#: src/http.c:680
+#: src/http.c:368
 #, c-format
-msgid "Failed to load certificates from %s\n"
-msgstr "无法从 %s 载入证书 (certificate)\n"
-
-#: src/http.c:684 src/http.c:692
-msgid "Trying without the specified certificate\n"
-msgstr "尝试不载入指定的证书 (certificate)\n"
+msgid "Failed writing HTTP request: %s.\n"
+msgstr "无法写入 HTTP 请求:%s。\n"
 
-#: src/http.c:688
-#, c-format
-msgid "Failed to get certificate key from %s\n"
-msgstr "无法从 %s 获取证书密钥\n"
+#: src/http.c:737
+msgid "No headers, assuming HTTP/0.9"
+msgstr ""
 
-#: src/http.c:761 src/http.c:1809
-msgid "Unable to establish SSL connection.\n"
-msgstr "无法建立 SSL 连接。\n"
+#: src/http.c:1417
+msgid "Disabling SSL due to encountered errors.\n"
+msgstr ""
 
-#: src/http.c:770
+#: src/http.c:1570
 #, c-format
-msgid "Reusing connection to %s:%hu.\n"
+msgid "POST data file `%s' missing: %s\n"
+msgstr ""
+
+#: src/http.c:1619
+#, fuzzy, c-format
+msgid "Reusing existing connection to %s:%d.\n"
 msgstr "再使用到 %s:%hu 的连接。\n"
 
-#: src/http.c:1034
-#, c-format
-msgid "Failed writing HTTP request: %s.\n"
+#: src/http.c:1687
+#, fuzzy, c-format
+msgid "Failed reading proxy response: %s\n"
 msgstr "无法写入 HTTP 请求:%s。\n"
 
-#: src/http.c:1039
+#: src/http.c:1707
+#, c-format
+msgid "Proxy tunneling failed: %s"
+msgstr ""
+
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "已发出 %s 请求,正在等待回应... "
 
-#: src/http.c:1083
-msgid "End of file while parsing headers.\n"
-msgstr "正在分析文件头时,文件已结束。\n"
+#: src/http.c:1763
+#, fuzzy
+msgid "No data received.\n"
+msgstr "没有接收到数据"
 
-#: src/http.c:1093
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "读取文件头错误 (%s)。\n"
 
-#: src/http.c:1128
-msgid "No data received"
-msgstr "没有接收到数据"
+#: src/http.c:1816 src/http.c:2368
+#, fuzzy, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr "文件“%s”已经存在,不取回。\n"
 
-#: src/http.c:1130
+#: src/http.c:1969
+msgid "Unknown authentication scheme.\n"
+msgstr "未知的验证方式。\n"
+
+#: src/http.c:2000
+msgid "Authorization failed.\n"
+msgstr "验证失败。\n"
+
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "不正常的状态行"
 
-#: src/http.c:1135
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(没有描述)"
 
-#: src/http.c:1267
-msgid "Authorization failed.\n"
-msgstr "验证失败。\n"
-
-#: src/http.c:1274
-msgid "Unknown authentication scheme.\n"
-msgstr "未知的验证方式。\n"
-
-#: src/http.c:1314
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "位置:%s%s\n"
 
-#: src/http.c:1315 src/http.c:1454
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "未指定"
 
-#: src/http.c:1316
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [跟随至新的 URL]"
 
-#: src/http.c:1383
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -599,70 +617,59 @@ msgstr ""
 "    文件已下载完成;不会进行任何操作。\n"
 "\n"
 
-#: src/http.c:1401
-#, c-format
-msgid ""
-"\n"
-"Continued download failed on this file, which conflicts with `-c'.\n"
-"Refusing to truncate existing file `%s'.\n"
-"\n"
-msgstr ""
-"\n"
-"无法续传此文件,与“-c”选项的意义冲突。\n"
-"不会截短已存在的文件“%s”。\n"
-"\n"
-
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1444
+#: src/http.c:2173
 msgid "Length: "
 msgstr "长度:"
 
-#: src/http.c:1449
-#, c-format
-msgid " (%s to go)"
-msgstr " (尚有 %s)"
-
-#: src/http.c:1454
+#: src/http.c:2193
 msgid "ignored"
 msgstr "已忽略"
 
-#: src/http.c:1598
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "正在跳过目录“%s”。\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "警告:HTTP 不支持通配符。\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:1628
-#, c-format
-msgid "File `%s' already there, will not retrieve.\n"
-msgstr "文件“%s”已经存在,不会取回。\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
+msgstr ""
 
-#: src/http.c:1800
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "无法写到“%s”(%s)。\n"
 
-#: src/http.c:1819
+#: src/http.c:2506
+msgid "Unable to establish SSL connection.\n"
+msgstr "无法建立 SSL 连接。\n"
+
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "错误:重定向 (%d) 但没有指定位置。\n"
 
-#: src/http.c:1851
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s 错误 %d:%s。\n"
 
-#: src/http.c:1864
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "缺少“Last-modified”文件头-- 关闭时间戳标记。\n"
 
-#: src/http.c:1872
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "无效的“Last-modified”文件头 -- 忽略时间戳标记。\n"
 
-#: src/http.c:1895
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -671,124 +678,139 @@ msgstr ""
 "远程文件不比本地文件‘%s’新 -- 不取回。\n"
 "\n"
 
-#: src/http.c:1903
-#, c-format
-msgid "The sizes do not match (local %ld) -- retrieving.\n"
+#: src/http.c:2627
+#, fuzzy, c-format
+msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "文件大小不符 (本地文件 %ld) -- 取回。\n"
 
-#: src/http.c:1907
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "远程文件较新,取回。\n"
 
-#: src/http.c:1948
-#, c-format
+#: src/http.c:2650
+#, fuzzy
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld]\n"
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
 "\n"
-msgstr ""
-"%s (%s)-- 已保存“%s”[%ld/%ld])\n"
+msgstr "远程文件较本地文件“%s”新 -- 取回。\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
 "\n"
+msgstr "远程文件不比本地文件“%s”新 -- 不取回。\n"
 
-#: src/http.c:1998
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld. "
-msgstr "%s (%s) - 连接在 %ld 字节时被关闭。"
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "远程文件不比本地文件“%s”新 -- 不取回。\n"
 
-#: src/http.c:2007
-#, c-format
+#: src/http.c:2715
+#, fuzzy, c-format
 msgid ""
-"%s (%s) - `%s' saved [%ld/%ld])\n"
+"%s (%s) - `%s' saved [%s/%s]\n"
 "\n"
 msgstr ""
-"%s (%s) -- 已保存“%s”[%ld/%ld])\n"
+"%s (%s)-- 已保存“%s”[%ld/%ld])\n"
 "\n"
 
-#: src/http.c:2028
-#, c-format
-msgid "%s (%s) - Connection closed at byte %ld/%ld. "
-msgstr "%s (%s) - 连接在 %ld/%ld 字节时被关闭。"
+#: src/http.c:2770
+#, fuzzy, c-format
+msgid "%s (%s) - Connection closed at byte %s. "
+msgstr "%s (%s) - 连接在 %ld 字节时被关闭。"
 
-#: src/http.c:2040
-#, c-format
-msgid "%s (%s) - Read error at byte %ld (%s)."
+#: src/http.c:2785
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - 于 %ld 字节处发生读取错误 (%s)。"
 
-#: src/http.c:2049
-#, c-format
-msgid "%s (%s) - Read error at byte %ld/%ld (%s). "
+#: src/http.c:2794
+#, fuzzy, c-format
+msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - 于 %ld/%ld 字节处发生读取错误 (%s)。"
 
-#: src/init.c:342
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC指向 %s,但它并不存在。\n"
 
-#: src/init.c:398 src/netrc.c:276
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s:无法读取 %s (%s)。\n"
 
-#: src/init.c:416 src/init.c:422
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%1$s:错误发生于第 %3$d 行的 %2$s。\n"
 
-#: src/init.c:454
+#: src/init.c:474
+#, fuzzy, c-format
+msgid "%s: Syntax error in %s at line %d.\n"
+msgstr "%1$s:错误发生于第 %3$d 行的 %2$s。\n"
+
+#: src/init.c:479
+#, fuzzy, c-format
+msgid "%s: Unknown command `%s' in %s at line %d.\n"
+msgstr "%s:BUG:未知的命令“%s”,值“%s”。\n"
+
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s:警告:系统与用户的 wgetrc 都指向“%s”。\n"
 
-#: src/init.c:594
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s:无效 -- 执行命令“%s”\n"
 
-#: src/init.c:630
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use `on' or `off'.\n"
+#: src/init.c:722
+#, fuzzy, c-format
+msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s:%s:无效的布尔值“%s”,请使用 on 或 off。\n"
 
-#: src/init.c:673
-#, c-format
-msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
-msgstr "%s:%s:无效的布尔值“%s”,请使用 always、on、off 或 never。\n"
-
-#: src/init.c:691
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s:%s:无效数字“%s”。\n"
 
-#: src/init.c:930 src/init.c:949
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s:%s:无效的字节数值“%s”。\n"
 
-#: src/init.c:974
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s:%s:无效的时间周期“%s”。\n"
 
-#: src/init.c:1051
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
+#, c-format
+msgid "%s: %s: Invalid value `%s'.\n"
+msgstr "%s:%s:无效的值“%s”。\n"
+
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s:%s:无效的文件头“%s”。\n"
 
-#: src/init.c:1106
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s:%s:无效的进度指示方式“%s”。\n"
 
-#: src/init.c:1157
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s:%s:无效的限定项“%s”,请使用 unix 或者 windows。\n"
 
-#: src/init.c:1198
-#, c-format
-msgid "%s: %s: Invalid value `%s'.\n"
-msgstr "%s:%s:无效的值“%s”。\n"
-
-#: src/log.c:636
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -797,28 +819,26 @@ msgstr ""
 "\n"
 "接收 %s 完毕,正在把输出重定向至“%s”。\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:643
+#: src/log.c:794
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s received.\n"
+msgstr "没有接收到数据"
+
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s:%s;禁用日志记录。\n"
 
-#: src/main.c:127
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "用法: %s [选项]... [URL]...\n"
 
-#: src/main.c:135
-#, c-format
-msgid "GNU Wget %s, a non-interactive network retriever.\n"
-msgstr "GNU Wget %s,非交互式的网络文件下载工具。\n"
-
-#. Had to split this in parts, so the #@@#%# Ultrix compiler and cpp
-#. don't bitch.  Also, it makes translation much easier.
-#: src/main.c:140
+#: src/main.c:369
+#, fuzzy
 msgid ""
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
 msgstr ""
@@ -826,281 +846,566 @@ msgstr ""
 "长选项必须用的参数在使用短选项时也是必须的。\n"
 "\n"
 
-#: src/main.c:144
-msgid ""
-"Startup:\n"
-"  -V,  --version           display the version of Wget and exit.\n"
-"  -h,  --help              print this help.\n"
-"  -b,  --background        go to background after startup.\n"
-"  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
-"\n"
+#: src/main.c:371
+msgid "Startup:\n"
 msgstr ""
-"启动:\n"
-"  -V,  --version           显示 Wget 的版本并且退出。\n"
-"  -h,  --help              打印此帮助。\n"
-"  -b,  -background         启动后进入后台操作。\n"
-"  -e,  -execute=COMMAND    运行‘.wgetrc’形式的命令。\n"
-"\n"
 
-#: src/main.c:151
-msgid ""
-"Logging and input file:\n"
-"  -o,  --output-file=FILE     log messages to FILE.\n"
-"  -a,  --append-output=FILE   append messages to FILE.\n"
-"  -d,  --debug                print debug output.\n"
-"  -q,  --quiet                quiet (no output).\n"
-"  -v,  --verbose              be verbose (this is the default).\n"
-"  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
-"  -i,  --input-file=FILE      download URLs found in FILE.\n"
-"  -F,  --force-html           treat input file as HTML.\n"
-"  -B,  --base=URL             prepends URL to relative links in -F -i file.\n"
-"\n"
+#: src/main.c:373
+msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr ""
-"日志记录及输入文件:\n"
-"  -o,  --output-file=文件     将日志消息写入到指定文件中。\n"
-"  -a,  --append-output=文件   将日志消息追加到指定文件的末端。\n"
-"  -d,  --debug                打印调试输出。\n"
-"  -q,  --quiet                安静模式(不输出信息)。\n"
-"  -v,  --verbose               详细输出模式(默认)。\n"
-"  -nv, --non-verbose          关闭详细输出模式,但不进入安静模式。\n"
-"  -i,  --input-file=文件      下载从指定文件中找到的 URL。\n"
-"  -F,  --force-html           以 HTML 方式处理输入文件。\n"
-"  -B,  --base=URL             使用 -F -i 文件选项时,在相对链接前添加指定的 URL。\n"
-"\n"
 
-#: src/main.c:163
-msgid ""
-"Download:\n"
-"  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).\n"
-"       --retry-connrefused      retry even if connection is refused.\n"
-"  -O   --output-document=FILE   write documents to FILE.\n"
-"  -nc, --no-clobber             don't clobber existing files or use .# suffixes.\n"
-"  -c,  --continue               resume getting a partially-downloaded file.\n"
-"       --progress=TYPE          select progress gauge type.\n"
-"  -N,  --timestamping           don't re-retrieve files unless newer than local.\n"
-"  -S,  --server-response        print server response.\n"
-"       --spider                 don't download anything.\n"
-"  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
-"       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
-"       --connect-timeout=SECS   set the connect timeout to SECS.\n"
-"       --read-timeout=SECS      set the read timeout to SECS.\n"
-"  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
-"       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.\n"
-"       --random-wait            wait from 0...2*WAIT secs between retrievals.\n"
-"  -Y,  --proxy=on/off           turn proxy on or off.\n"
-"  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
-"       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.\n"
-"       --limit-rate=RATE        limit download rate to RATE.\n"
-"       --dns-cache=off          disable caching DNS lookups.\n"
-"       --restrict-file-names=OS restrict chars in file names to ones OS allows.\n"
-"\n"
+#: src/main.c:375
+msgid "  -h,  --help              print this help.\n"
+msgstr ""
+
+#: src/main.c:377
+msgid "  -b,  --background        go to background after startup.\n"
+msgstr ""
+
+#: src/main.c:379
+msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+msgstr ""
+
+#: src/main.c:383
+msgid "Logging and input file:\n"
+msgstr ""
+
+#: src/main.c:385
+msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
+msgstr ""
+
+#: src/main.c:387
+msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr ""
-"下载:\n"
-"  -t,  --tries=次数             配置重试次数(0 表示无限)。\n"
-"       --retry-connrefused      即使拒绝连接也重试。\n"
-"  -O   --output-document=文件   将数据写入此文件中。\n"
-"  -nc, --no-clobber             不更改已经存在的文件,也不使用在文件名后\n"
-"                                添加 .#(# 为数字)的方法写入新的文件。\n"
-"  -c,  --continue               继续接收已下载了一部分的文件。\n"
-"       --progress=方式          选择下载进度的表示方式。\n"
-"  -N,  --timestamping           除非远程文件较新,否则不再取回。\n"
-"  -S,  --server-response        显示服务器回应消息。\n"
-"       --spider                 不下载任何数据。\n"
-"  -T,  --timeout=秒数           配置读取数据的超时时间 (秒数)。\n"
-"  -w,  --wait=秒数              接收不同文件之间等待的秒数。\n"
-"       --waitretry=秒数         在每次重试之间稍等一段时间 (由 1 秒至指定的 秒数不等)。\n"
-"       --random-wait            接收不同文件之间稍等一段时间(由 0 秒至  2*WAIT 秒不等)。\n"
-"  -Y,  --proxy=on/off           打开或关闭代理服务器。\n"
-"  -Q,  --quota=大小             配置接收数据的限额大小。\n"
-"       --bind-address=地址      使用本机的指定地址 (主机名称或 IP) 进行连接。\n"
-"       --limit-rate=速率        限制下载的速率。\n"
-"       --dns-cache=off          禁止查找存于高速缓存中的 DNS。\n"
-"       --restrict-file-names=OS 限制文件名中的字符为指定的 OS (操作系统) 所允许的字符。\n"
-"\n"
 
-#: src/main.c:188
+#: src/main.c:390
+msgid "  -d,  --debug               print lots of debugging information.\n"
+msgstr ""
+
+#: src/main.c:394
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr ""
+
+#: src/main.c:397
+msgid "  -q,  --quiet               quiet (no output).\n"
+msgstr ""
+
+#: src/main.c:399
+msgid "  -v,  --verbose             be verbose (this is the default).\n"
+msgstr ""
+
+#: src/main.c:401
 msgid ""
-"Directories:\n"
-"  -nd, --no-directories            don't create directories.\n"
-"  -x,  --force-directories         force creation of directories.\n"
-"  -nH, --no-host-directories       don't create host directories.\n"
-"  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
-"       --cut-dirs=NUMBER           ignore NUMBER remote directory components.\n"
-"\n"
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr ""
-"目录:\n"
-"  -nd  --no-directories            不创建目录。\n"
-"  -x,  --force-directories         强制创建目录。\n"
-"  -nH, --no-host-directories       不创建含有远程主机名称的目录。\n"
-"  -P,  --directory-prefix=名称     保存文件前先创建指定名称的目录。\n"
-"       --cut-dirs=数目             忽略远程目录中指定数目的目录层。\n"
-"\n"
 
-#: src/main.c:196
-msgid ""
-"HTTP options:\n"
-"       --http-user=USER      set http user to USER.\n"
-"       --http-passwd=PASS    set http password to PASS.\n"
-"  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).\n"
-"  -E,  --html-extension      save all text/html documents with .html extension.\n"
-"       --ignore-length       ignore `Content-Length' header field.\n"
-"       --header=STRING       insert STRING among the headers.\n"
-"       --proxy-user=USER     set USER as proxy username.\n"
-"       --proxy-passwd=PASS   set PASS as proxy password.\n"
-"       --referer=URL         include `Referer: URL' header in HTTP request.\n"
-"  -s,  --save-headers        save the HTTP headers to file.\n"
-"  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
-"       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).\n"
-"       --cookies=off         don't use cookies.\n"
-"       --load-cookies=FILE   load cookies from FILE before session.\n"
-"       --save-cookies=FILE   save cookies to FILE after session.\n"
-"       --post-data=STRING    use the POST method; send STRING as the data.\n"
-"       --post-file=FILE      use the POST method; send contents of FILE.\n"
-"\n"
+#: src/main.c:403
+msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr ""
-"HTTP 选项:\n"
-"       --http-user=用户    配置 http 用户名。\n"
-"       --http-passwd=密码    配置 http 用户密码。\n"
-"  -C,  --cache=on/off        (不)使用服务器中的高速缓存中的数据 (默认是使用的)。\n"
-"  -E,  --html-extension      将所有 MIME 类型为 text/html 的文件都加上 .html 扩展文件名。\n"
-"       --ignore-length       忽略“Content-Length”文件头字段。\n"
-"       --header=字符串         在文件头中添加指定字符串。\n"
-"       --proxy-user=用户   配置代理服务器用户名。\n"
-"       --proxy-passwd=密码   配置代理服务器用户密码。\n"
-"       --referer=URL         在 HTTP 请求中包含“Referer:URL”头。\n"
-"  -s,  --save-headers        将 HTTP 头存入文件。\n"
-"  -U,  --user-agent=AGENT    标志为 AGENT 而不是 Wget/VERSION。\n"
-"       --no-http-keep-alive  禁用 HTTP keep-alive(持久性连接)。\n"
-"       --cookies=off         禁用 cookie。\n"
-"       --load-cookies=文件   会话开始前由指定文件载入 cookie。\n"
-"       --save-cookies=文件   会话结束后将 cookie 保存至指定文件。\n"
-"       --post-data=字符串    使用 POST 方法,发送指定字符串。\n"
-"       --post-file=文件      使用 POST 方法,发送指定文件中的内容。\n"
-"\n"
 
-#: src/main.c:217
-msgid ""
-"HTTPS (SSL) options:\n"
-"       --sslcertfile=FILE     optional client certificate.\n"
-"       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
-"       --egd-file=FILE        file name of the EGD socket.\n"
-"       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
-"       --sslcafile=FILE       file with bundle of CA's\n"
-"       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
-"       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
+#: src/main.c:405
+msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr ""
-"HTTPS (SSL) 选项:\n"
-"       --sslcertfile=文件     可选的客户段端证书。\n"
-"       --sslcertkey=密钥文件  对此证书可选的“密钥文件”。\n"
-"       --egd-file=文件        EGD socket 文件名。\n"
-"       --sslcadir=目录         CA 散列表所在的目录。\n"
-"       --sslcafile=文件      包含 CA 的文件。\n"
-"       --sslcerttype=0/1      Client-Cert 类型 0=PEM (默认) / 1=ASN1 (DER)\n"
-"       --sslcheckcert=0/1     根据提供的 CA 检查服务器的证书\n"
-"       --sslprotocol=0-3      选择 SSL 协议;0=自动选择,\n"
-"                              1=SSLv2 2=SSLv3 3=TLSv1\n"
-"\n"
 
-#: src/main.c:230
+#: src/main.c:407
 msgid ""
-"FTP options:\n"
-"  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
-"  -g,  --glob=on/off           turn file name globbing on or off.\n"
-"       --passive-ftp           use the \"passive\" transfer mode.\n"
-"       --retr-symlinks         when recursing, get linked-to files (not dirs).\n"
-"\n"
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+
+#: src/main.c:411
+msgid "Download:\n"
+msgstr ""
+
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
+msgstr ""
+
+#: src/main.c:415
+msgid "       --retry-connrefused       retry even if connection is refused.\n"
 msgstr ""
-"FTP 选项:\n"
-"  -nr, --dont-remove-listing   不删除“.listing”文件。\n"
-"  -g,  --glob=on/off           设置是否展开有通配符的文件名。\n"
-"       --passive-ftp           使用“被动”传输模式。\n"
-"       --retr-symlinks         在递归模式中,下载链接所指示的文件(连至目录\n"
-"                               则例外)。\n"
 
-#: src/main.c:237
+#: src/main.c:417
+msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
+msgstr ""
+
+#: src/main.c:419
+msgid ""
+"  -nc, --no-clobber              skip downloads that would download to\n"
+"                                 existing files.\n"
+msgstr ""
+
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
+msgstr ""
+
+#: src/main.c:424
+msgid "       --progress=TYPE           select progress gauge type.\n"
+msgstr ""
+
+#: src/main.c:426
+msgid ""
+"  -N,  --timestamping            don't re-retrieve files unless newer than\n"
+"                                 local.\n"
+msgstr ""
+
+#: src/main.c:429
+msgid "  -S,  --server-response         print server response.\n"
+msgstr ""
+
+#: src/main.c:431
+msgid "       --spider                  don't download anything.\n"
+msgstr ""
+
+#: src/main.c:433
+msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
+msgstr ""
+
+#: src/main.c:435
+msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:437
+msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:439
+msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
+msgstr ""
+
+#: src/main.c:441
+msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
+msgstr ""
+
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
+msgstr ""
+
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
+msgstr ""
+
+#: src/main.c:447
+msgid "       --no-proxy                explicitly turn off proxy.\n"
+msgstr ""
+
+#: src/main.c:449
+msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
+msgstr ""
+
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+
+#: src/main.c:453
+msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
+msgstr ""
+
+#: src/main.c:455
+msgid "       --no-dns-cache            disable caching DNS lookups.\n"
+msgstr ""
+
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+
+#: src/main.c:459
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr ""
+
+#: src/main.c:462
+msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
+msgstr ""
+
+#: src/main.c:464
+msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
+msgstr ""
+
+#: src/main.c:466
+msgid ""
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
+"                                 one of IPv6, IPv4, or none.\n"
+msgstr ""
+
+#: src/main.c:470
+msgid "       --user=USER               set both ftp and http user to USER.\n"
+msgstr ""
+
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:476
+#, fuzzy
+msgid "Directories:\n"
+msgstr "目录        "
+
+#: src/main.c:478
+msgid "  -nd, --no-directories           don't create directories.\n"
+msgstr ""
+
+#: src/main.c:480
+msgid "  -x,  --force-directories        force creation of directories.\n"
+msgstr ""
+
+#: src/main.c:482
+msgid "  -nH, --no-host-directories      don't create host directories.\n"
+msgstr ""
+
+#: src/main.c:484
+msgid "       --protocol-directories     use protocol name in directories.\n"
+msgstr ""
+
+#: src/main.c:486
+msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
+msgstr ""
+
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
+msgstr ""
+
+#: src/main.c:492
+msgid "HTTP options:\n"
+msgstr ""
+
+#: src/main.c:494
+msgid "       --http-user=USER        set http user to USER.\n"
+msgstr ""
+
+#: src/main.c:496
+msgid "       --http-password=PASS    set http password to PASS.\n"
+msgstr ""
+
+#: src/main.c:498
+msgid "       --no-cache              disallow server-cached data.\n"
+msgstr ""
+
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+msgstr ""
+
+#: src/main.c:502
+msgid "       --ignore-length         ignore `Content-Length' header field.\n"
+msgstr ""
+
+#: src/main.c:504
+msgid "       --header=STRING         insert STRING among the headers.\n"
+msgstr ""
+
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
+msgid "       --proxy-user=USER       set USER as proxy username.\n"
+msgstr ""
+
+#: src/main.c:510
+msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
+msgstr ""
+
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+
+#: src/main.c:514
+msgid "       --save-headers          save the HTTP headers to file.\n"
+msgstr ""
+
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+msgstr ""
+
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
+msgstr ""
+
+#: src/main.c:520
+msgid "       --no-cookies            don't use cookies.\n"
+msgstr ""
+
+#: src/main.c:522
+msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
+msgstr ""
+
+#: src/main.c:524
+msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
+msgstr ""
+
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
+msgstr ""
+
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
+msgstr ""
+
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
+msgstr ""
+
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
+msgid "HTTPS (SSL/TLS) options:\n"
+msgstr ""
+
+#: src/main.c:540
+msgid ""
+"       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
+"                                SSLv3, and TLSv1.\n"
+msgstr ""
+
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
+msgstr ""
+
+#: src/main.c:545
+msgid "       --certificate=FILE       client certificate file.\n"
+msgstr ""
+
+#: src/main.c:547
+msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:549
+msgid "       --private-key=FILE       private key file.\n"
+msgstr ""
+
+#: src/main.c:551
+msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
+msgstr ""
+
+#: src/main.c:553
+msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
+msgstr ""
+
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
+msgstr ""
+
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
+msgstr ""
+
+#: src/main.c:564
+msgid "FTP options:\n"
+msgstr ""
+
+#: src/main.c:566
+msgid "       --ftp-user=USER         set ftp user to USER.\n"
+msgstr ""
+
+#: src/main.c:568
+msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
+msgstr ""
+
+#: src/main.c:570
+msgid "       --no-remove-listing     don't remove `.listing' files.\n"
+msgstr ""
+
+#: src/main.c:572
+msgid "       --no-glob               turn off FTP file name globbing.\n"
+msgstr ""
+
+#: src/main.c:574
+msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
+msgstr ""
+
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
+msgstr ""
+
+#: src/main.c:578
+msgid "       --preserve-permissions  preserve remote file permissions.\n"
+msgstr ""
+
+#: src/main.c:582
+msgid "Recursive download:\n"
+msgstr ""
+
+#: src/main.c:584
+msgid "  -r,  --recursive          specify recursive download.\n"
+msgstr ""
+
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
+msgstr ""
+
+#: src/main.c:588
 msgid ""
-"Recursive retrieval:\n"
-"  -r,  --recursive          recursive download.\n"
-"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
 "       --delete-after       delete files locally after downloading them.\n"
-"  -k,  --convert-links      convert non-relative links to relative.\n"
+msgstr ""
+
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
+msgstr ""
+
+#: src/main.c:592
+msgid ""
 "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
-"  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.\n"
-"  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
-"       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
-"\n"
 msgstr ""
-"递归下载:\n"
-"  -r,  --recursive          递归下载。\n"
-"  -l,  --level=数字         最大递归深度(inf 或 0 表示无限)。\n"
-"       --delete-after       删除下载后的文件。\n"
-"  -k,  --convert-links      将绝对链接转换为相对链接。\n"
-"  -K,  --backup-converted   转换文件 X 前先将其备份为 X.orig。\n"
-"  -m,  --mirror             等效于 -r -N -l inf -nr 的选项。\n"
-"  -p,  --page-requisites    下载所有显示完整网页所需的文件,例如图像。\n"
-"       --strict-comments    打开对 HTML 备注的严格(SGML)处理选项。\n"
-"\n"
 
-#: src/main.c:248
-msgid ""
-"Recursive accept/reject:\n"
-"  -A,  --accept=LIST                comma-separated list of accepted extensions.\n"
-"  -R,  --reject=LIST                comma-separated list of rejected extensions.\n"
-"  -D,  --domains=LIST               comma-separated list of accepted domains.\n"
-"       --exclude-domains=LIST       comma-separated list of rejected domains.\n"
-"       --follow-ftp                 follow FTP links from HTML documents.\n"
-"       --follow-tags=LIST           comma-separated list of followed HTML tags.\n"
-"  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.\n"
-"  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
-"  -L,  --relative                   follow relative links only.\n"
-"  -I,  --include-directories=LIST   list of allowed directories.\n"
-"  -X,  --exclude-directories=LIST   list of excluded directories.\n"
-"  -np, --no-parent                  don't ascend to the parent directory.\n"
-"\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
+msgstr ""
+
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
+msgstr ""
+
+#: src/main.c:602
+msgid "Recursive accept/reject:\n"
+msgstr ""
+
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
+msgstr ""
+
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
+msgstr ""
+
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
+msgstr ""
+
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
+msgstr ""
+
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+msgstr ""
+
+#: src/main.c:620
+msgid "  -L,  --relative                  follow relative links only.\n"
+msgstr ""
+
+#: src/main.c:622
+msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
+msgstr ""
+
+#: src/main.c:624
+msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
+msgstr ""
+
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr ""
-"递归下载时有关接受/拒绝的选项:\n"
-"  -A,  --accept=列表                接受的文件样式列表,以逗号分隔。\n"
-"  -R,  --reject=列表                排除的文件样式列表,以逗号分隔。\n"
-"  -D,  --domains=列表               接受的域列表,以逗号分隔。\n"
-"       --exclude-domains=列表       排除的域列表,以逗号分隔。\n"
-"       --follow-ftp                 跟随 HTML 文件中的 FTP 链接。\n"
-"       --follow-tags=列表           要跟随的 HTML 标记,以逗号分隔。\n"
-"  -G,  --ignore-tags=列表           要忽略的 HTML 标记,以逗号分隔。\n"
-"  -H,  --span-hosts                 递归时可进入其它主机。\n"
-"  -L,  --relative                   只跟随相对链接。\n"
-"  -I,  --include-directories=列表   要下载的目录列表。\n"
-"  -X,  --exclude-directories=列表   要排除的目录列表。\n"
-"  -np, --no-parent                  不搜索上层目录。\n"
-"\n"
 
-#: src/main.c:263
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "请将错误报告或建议寄给 <bug-wget@gnu.org>。\n"
 
-#: src/main.c:465
+#: src/main.c:635
 #, c-format
-msgid "%s: debug support not compiled in.\n"
-msgstr "%s:未将调试支持编译到程序中。\n"
+msgid "GNU Wget %s, a non-interactive network retriever.\n"
+msgstr "GNU Wget %s,非交互式的网络文件下载工具。\n"
 
-#: src/main.c:517
-msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "版权所有 (C) 2003 Free Software Foundation, Inc.\n"
 
-#: src/main.c:519
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"此程序发布的目的是希望它会有用,但它不作任何保证;\n"
-"甚至没有可售性或适用于特定目的的保证。\n"
-"详情请查看 GNU General Public License。\n"
 
-#: src/main.c:524
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1108,134 +1413,222 @@ msgstr ""
 "\n"
 "最初由 Hrvoje Niksic <hniksic@xemacs.org> 编写。\n"
 
-#: src/main.c:703
-#, c-format
-msgid "%s: illegal option -- `-n%c'\n"
-msgstr "%s:非法的选项 -- “-n%c”\n"
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:706 src/main.c:748 src/main.c:794
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "请尝试使用“%s --help”查看更多的选项。\n"
 
-#: src/main.c:774
+#: src/main.c:801
+#, c-format
+msgid "%s: illegal option -- `-n%c'\n"
+msgstr "%s:非法的选项 -- “-n%c”\n"
+
+#: src/main.c:859
+#, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "无法同时使用详细输出模式和安静模式。\n"
 
-#: src/main.c:780
+#: src/main.c:865
+#, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "无法修改时间戳标记而不更改本地文件。\n"
 
-#. No URL specified.
-#: src/main.c:789
+#: src/main.c:873
+#, c-format
+msgid "Cannot specify both --inet4-only and --inet6-only.\n"
+msgstr ""
+
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr ""
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s:未指定 URL\n"
 
-#: src/main.c:905
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "在 %s 中找不到 URL。\n"
 
-#: src/main.c:914
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "下载完毕 --%s--\n"
 "下载了:%s 字节,共 %d 个文件\n"
 
-#: src/main.c:920
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "超过下载限额(%s 字节)!\n"
 
-#: src/mswindows.c:147
+#: src/mswindows.c:99
+#, c-format
 msgid "Continuing in background.\n"
 msgstr "继续在后台运行。\n"
 
-#: src/mswindows.c:149 src/utils.c:487
+#: src/mswindows.c:292
+#, fuzzy, c-format
+msgid "Continuing in background, pid %lu.\n"
+msgstr "继续在后台运行,pid 为 %d。\n"
+
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "将把输出写入至“%s”。\n"
 
-#: src/mswindows.c:245
-#, c-format
-msgid "Starting WinHelp %s\n"
-msgstr "正在启动 WinHelp %s\n"
-
-#: src/mswindows.c:272 src/mswindows.c:279
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s:找不到可用的 socket 驱动程序。\n"
 
-#: src/netrc.c:380
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s:%s:%d:警告:“%s”标记出现在机器名称前\n"
 
-#: src/netrc.c:411
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s:%s:%d:未知的标记“%s”\n"
 
-#: src/netrc.c:475
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "用法:%s NETRC [主机名]\n"
 
-#: src/netrc.c:485
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s:无法 stat %s:%s\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:234
+#: src/openssl.c:113
+msgid "WARNING: using a weak random seed.\n"
+msgstr ""
+
+#: src/openssl.c:173
+#, fuzzy
+msgid "Could not seed PRNG; consider using --random-file.\n"
+msgstr "无法产生 OpenSSL 随机数产生程序(PRNG)使用的种子;禁用 SSL。\n"
+
+#: src/openssl.c:488
+msgid "ERROR"
+msgstr ""
+
+#: src/openssl.c:488
+msgid "WARNING"
+msgstr ""
+
+#: src/openssl.c:497
+#, c-format
+msgid "%s: No certificate presented by %s.\n"
+msgstr ""
+
+#: src/openssl.c:518
+#, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr ""
+
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
+#, c-format
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgstr ""
+
+#: src/openssl.c:581
 #, c-format
+msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
+msgstr ""
+
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ 正跳过 %dK ]"
 
-#: src/progress.c:401
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "无效的进度指示方式“%s”;不会改变原来的方式。\n"
 
-#: src/recur.c:378
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
+#, c-format
+msgid "Cannot get REALTIME clock frequency: %s\n"
+msgstr ""
+
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "正在删除 %s 因为它应该被指定了拒绝下载。\n"
 
-#: src/res.c:549
+#: src/res.c:390
+#, fuzzy, c-format
+msgid "Cannot open %s: %s"
+msgstr "无法转换 %s 中的链接:%s\n"
+
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "正在载入 robots.txt;请忽略错误消息。\n"
 
-#: src/retr.c:400
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "解析代理服务器 URL %s 时发生错误:%s。\n"
 
-#: src/retr.c:408
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "代理服务器 URL %s 错误:必须是 HTTP。\n"
 
-#: src/retr.c:493
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "已超过 %d 次重定向。\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1243,7 +1636,7 @@ msgstr ""
 "已放弃。\n"
 "\n"
 
-#: src/retr.c:617
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1251,60 +1644,444 @@ msgstr ""
 "重试中。\n"
 "\n"
 
-#: src/url.c:621
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "没有错误"
 
-#: src/url.c:623
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "不支持的主题"
 
-#: src/url.c:625
-msgid "Empty host"
-msgstr "未指定主机"
+#: src/url.c:624
+#, fuzzy
+msgid "Invalid host name"
+msgstr "无效的用户名"
 
-#: src/url.c:627
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "端口号错误"
 
-#: src/url.c:629
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "无效的用户名"
 
-#: src/url.c:631
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "未结束的 IPv6 数字地址"
 
-#: src/url.c:633
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "不支持 IPv6 地址"
 
-#: src/url.c:635
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "无效的 IPv6 数字地址"
 
-#: src/utils.c:120
-#, c-format
-msgid "%s: %s: Not enough memory.\n"
-msgstr "%s:%s:内存不足。\n"
-
-#. parent, no error
-#: src/utils.c:485
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "继续在后台运行,pid 为 %d。\n"
 
-#: src/utils.c:529
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "无法删除符号链接 '%s':%s\n"
 
+#: src/xmalloc.c:63
+#, c-format
+msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
+msgstr ""
+
+#~ msgid "Unable to convert `%s' to a bind address.  Reverting to ANY.\n"
+#~ msgstr "无法转换 “%s”为绑定地址,正在恢复为 ANY。\n"
+
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "在 Set-Cookie 的中出现错误,字段“%s”"
+
+#~ msgid ""
+#~ "\n"
+#~ "REST failed; will not truncate `%s'.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "重置 (REST) 失败;不会截短‘%s’。\n"
+
+#~ msgid " [%s to go]"
+#~ msgstr " [尚有 %s]"
+
+#~ msgid "Host not found"
+#~ msgstr "找不到主机"
+
+#~ msgid "Failed to set up an SSL context\n"
+#~ msgstr "无法创建 SSL context\n"
+
+#~ msgid "Failed to load certificates from %s\n"
+#~ msgstr "无法从 %s 载入证书 (certificate)\n"
+
+#~ msgid "Trying without the specified certificate\n"
+#~ msgstr "尝试不载入指定的证书 (certificate)\n"
+
+#~ msgid "Failed to get certificate key from %s\n"
+#~ msgstr "无法从 %s 获取证书密钥\n"
+
+#~ msgid "End of file while parsing headers.\n"
+#~ msgstr "正在分析文件头时,文件已结束。\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Continued download failed on this file, which conflicts with `-c'.\n"
+#~ "Refusing to truncate existing file `%s'.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "无法续传此文件,与“-c”选项的意义冲突。\n"
+#~ "不会截短已存在的文件“%s”。\n"
+#~ "\n"
+
+#~ msgid " (%s to go)"
+#~ msgstr " (尚有 %s)"
+
+#~ msgid "File `%s' already there, will not retrieve.\n"
+#~ msgstr "文件“%s”已经存在,不会取回。\n"
+
+#~ msgid ""
+#~ "%s (%s) - `%s' saved [%ld/%ld])\n"
+#~ "\n"
+#~ msgstr ""
+#~ "%s (%s) -- 已保存“%s”[%ld/%ld])\n"
+#~ "\n"
+
+#~ msgid "%s (%s) - Connection closed at byte %ld/%ld. "
+#~ msgstr "%s (%s) - 连接在 %ld/%ld 字节时被关闭。"
+
+#~ msgid "%s: %s: Invalid boolean `%s', use always, on, off, or never.\n"
+#~ msgstr "%s:%s:无效的布尔值“%s”,请使用 always、on、off 或 never。\n"
+
+#~ msgid ""
+#~ "Startup:\n"
+#~ "  -V,  --version           display the version of Wget and exit.\n"
+#~ "  -h,  --help              print this help.\n"
+#~ "  -b,  --background        go to background after startup.\n"
+#~ "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "启动:\n"
+#~ "  -V,  --version           显示 Wget 的版本并且退出。\n"
+#~ "  -h,  --help              打印此帮助。\n"
+#~ "  -b,  -background         启动后进入后台操作。\n"
+#~ "  -e,  -execute=COMMAND    运行‘.wgetrc’形式的命令。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Logging and input file:\n"
+#~ "  -o,  --output-file=FILE     log messages to FILE.\n"
+#~ "  -a,  --append-output=FILE   append messages to FILE.\n"
+#~ "  -d,  --debug                print debug output.\n"
+#~ "  -q,  --quiet                quiet (no output).\n"
+#~ "  -v,  --verbose              be verbose (this is the default).\n"
+#~ "  -nv, --non-verbose          turn off verboseness, without being quiet.\n"
+#~ "  -i,  --input-file=FILE      download URLs found in FILE.\n"
+#~ "  -F,  --force-html           treat input file as HTML.\n"
+#~ "  -B,  --base=URL             prepends URL to relative links in -F -i "
+#~ "file.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "日志记录及输入文件:\n"
+#~ "  -o,  --output-file=文件     将日志消息写入到指定文件中。\n"
+#~ "  -a,  --append-output=文件   将日志消息追加到指定文件的末端。\n"
+#~ "  -d,  --debug                打印调试输出。\n"
+#~ "  -q,  --quiet                安静模式(不输出信息)。\n"
+#~ "  -v,  --verbose               详细输出模式(默认)。\n"
+#~ "  -nv, --non-verbose          关闭详细输出模式,但不进入安静模式。\n"
+#~ "  -i,  --input-file=文件      下载从指定文件中找到的 URL。\n"
+#~ "  -F,  --force-html           以 HTML 方式处理输入文件。\n"
+#~ "  -B,  --base=URL             使用 -F -i 文件选项时,在相对链接前添加指定"
+#~ "的 URL。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Download:\n"
+#~ "  -t,  --tries=NUMBER           set number of retries to NUMBER (0 "
+#~ "unlimits).\n"
+#~ "       --retry-connrefused      retry even if connection is refused.\n"
+#~ "  -O   --output-document=FILE   write documents to FILE.\n"
+#~ "  -nc, --no-clobber             don't clobber existing files or use .# "
+#~ "suffixes.\n"
+#~ "  -c,  --continue               resume getting a partially-downloaded "
+#~ "file.\n"
+#~ "       --progress=TYPE          select progress gauge type.\n"
+#~ "  -N,  --timestamping           don't re-retrieve files unless newer than "
+#~ "local.\n"
+#~ "  -S,  --server-response        print server response.\n"
+#~ "       --spider                 don't download anything.\n"
+#~ "  -T,  --timeout=SECONDS        set all timeout values to SECONDS.\n"
+#~ "       --dns-timeout=SECS       set the DNS lookup timeout to SECS.\n"
+#~ "       --connect-timeout=SECS   set the connect timeout to SECS.\n"
+#~ "       --read-timeout=SECS      set the read timeout to SECS.\n"
+#~ "  -w,  --wait=SECONDS           wait SECONDS between retrievals.\n"
+#~ "       --waitretry=SECONDS      wait 1...SECONDS between retries of a "
+#~ "retrieval.\n"
+#~ "       --random-wait            wait from 0...2*WAIT secs between "
+#~ "retrievals.\n"
+#~ "  -Y,  --proxy=on/off           turn proxy on or off.\n"
+#~ "  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.\n"
+#~ "       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local "
+#~ "host.\n"
+#~ "       --limit-rate=RATE        limit download rate to RATE.\n"
+#~ "       --dns-cache=off          disable caching DNS lookups.\n"
+#~ "       --restrict-file-names=OS restrict chars in file names to ones OS "
+#~ "allows.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "下载:\n"
+#~ "  -t,  --tries=次数             配置重试次数(0 表示无限)。\n"
+#~ "       --retry-connrefused      即使拒绝连接也重试。\n"
+#~ "  -O   --output-document=文件   将数据写入此文件中。\n"
+#~ "  -nc, --no-clobber             不更改已经存在的文件,也不使用在文件名后\n"
+#~ "                                添加 .#(# 为数字)的方法写入新的文件。\n"
+#~ "  -c,  --continue               继续接收已下载了一部分的文件。\n"
+#~ "       --progress=方式          选择下载进度的表示方式。\n"
+#~ "  -N,  --timestamping           除非远程文件较新,否则不再取回。\n"
+#~ "  -S,  --server-response        显示服务器回应消息。\n"
+#~ "       --spider                 不下载任何数据。\n"
+#~ "  -T,  --timeout=秒数           配置读取数据的超时时间 (秒数)。\n"
+#~ "  -w,  --wait=秒数              接收不同文件之间等待的秒数。\n"
+#~ "       --waitretry=秒数         在每次重试之间稍等一段时间 (由 1 秒至指定"
+#~ "的 秒数不等)。\n"
+#~ "       --random-wait            接收不同文件之间稍等一段时间(由 0 秒至  "
+#~ "2*WAIT 秒不等)。\n"
+#~ "  -Y,  --proxy=on/off           打开或关闭代理服务器。\n"
+#~ "  -Q,  --quota=大小             配置接收数据的限额大小。\n"
+#~ "       --bind-address=地址      使用本机的指定地址 (主机名称或 IP) 进行连"
+#~ "接。\n"
+#~ "       --limit-rate=速率        限制下载的速率。\n"
+#~ "       --dns-cache=off          禁止查找存于高速缓存中的 DNS。\n"
+#~ "       --restrict-file-names=OS 限制文件名中的字符为指定的 OS (操作系统) "
+#~ "所允许的字符。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Directories:\n"
+#~ "  -nd, --no-directories            don't create directories.\n"
+#~ "  -x,  --force-directories         force creation of directories.\n"
+#~ "  -nH, --no-host-directories       don't create host directories.\n"
+#~ "  -P,  --directory-prefix=PREFIX   save files to PREFIX/...\n"
+#~ "       --cut-dirs=NUMBER           ignore NUMBER remote directory "
+#~ "components.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "目录:\n"
+#~ "  -nd  --no-directories            不创建目录。\n"
+#~ "  -x,  --force-directories         强制创建目录。\n"
+#~ "  -nH, --no-host-directories       不创建含有远程主机名称的目录。\n"
+#~ "  -P,  --directory-prefix=名称     保存文件前先创建指定名称的目录。\n"
+#~ "       --cut-dirs=数目             忽略远程目录中指定数目的目录层。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTP options:\n"
+#~ "       --http-user=USER      set http user to USER.\n"
+#~ "       --http-passwd=PASS    set http password to PASS.\n"
+#~ "  -C,  --cache=on/off        (dis)allow server-cached data (normally "
+#~ "allowed).\n"
+#~ "  -E,  --html-extension      save all text/html documents with .html "
+#~ "extension.\n"
+#~ "       --ignore-length       ignore `Content-Length' header field.\n"
+#~ "       --header=STRING       insert STRING among the headers.\n"
+#~ "       --proxy-user=USER     set USER as proxy username.\n"
+#~ "       --proxy-passwd=PASS   set PASS as proxy password.\n"
+#~ "       --referer=URL         include `Referer: URL' header in HTTP "
+#~ "request.\n"
+#~ "  -s,  --save-headers        save the HTTP headers to file.\n"
+#~ "  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.\n"
+#~ "       --no-http-keep-alive  disable HTTP keep-alive (persistent "
+#~ "connections).\n"
+#~ "       --cookies=off         don't use cookies.\n"
+#~ "       --load-cookies=FILE   load cookies from FILE before session.\n"
+#~ "       --save-cookies=FILE   save cookies to FILE after session.\n"
+#~ "       --post-data=STRING    use the POST method; send STRING as the "
+#~ "data.\n"
+#~ "       --post-file=FILE      use the POST method; send contents of FILE.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTP 选项:\n"
+#~ "       --http-user=用户    配置 http 用户名。\n"
+#~ "       --http-passwd=密码    配置 http 用户密码。\n"
+#~ "  -C,  --cache=on/off        (不)使用服务器中的高速缓存中的数据 (默认是使"
+#~ "用的)。\n"
+#~ "  -E,  --html-extension      将所有 MIME 类型为 text/html 的文件都加上 ."
+#~ "html 扩展文件名。\n"
+#~ "       --ignore-length       忽略“Content-Length”文件头字段。\n"
+#~ "       --header=字符串         在文件头中添加指定字符串。\n"
+#~ "       --proxy-user=用户   配置代理服务器用户名。\n"
+#~ "       --proxy-passwd=密码   配置代理服务器用户密码。\n"
+#~ "       --referer=URL         在 HTTP 请求中包含“Referer:URL”头。\n"
+#~ "  -s,  --save-headers        将 HTTP 头存入文件。\n"
+#~ "  -U,  --user-agent=AGENT    标志为 AGENT 而不是 Wget/VERSION。\n"
+#~ "       --no-http-keep-alive  禁用 HTTP keep-alive(持久性连接)。\n"
+#~ "       --cookies=off         禁用 cookie。\n"
+#~ "       --load-cookies=文件   会话开始前由指定文件载入 cookie。\n"
+#~ "       --save-cookies=文件   会话结束后将 cookie 保存至指定文件。\n"
+#~ "       --post-data=字符串    使用 POST 方法,发送指定字符串。\n"
+#~ "       --post-file=文件      使用 POST 方法,发送指定文件中的内容。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "HTTPS (SSL) options:\n"
+#~ "       --sslcertfile=FILE     optional client certificate.\n"
+#~ "       --sslcertkey=KEYFILE   optional keyfile for this certificate.\n"
+#~ "       --egd-file=FILE        file name of the EGD socket.\n"
+#~ "       --sslcadir=DIR         dir where hash list of CA's are stored.\n"
+#~ "       --sslcafile=FILE       file with bundle of CA's\n"
+#~ "       --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     Check the server cert agenst given CA\n"
+#~ "       --sslprotocol=0-3      choose SSL protocol; 0=automatic,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "HTTPS (SSL) 选项:\n"
+#~ "       --sslcertfile=文件     可选的客户段端证书。\n"
+#~ "       --sslcertkey=密钥文件  对此证书可选的“密钥文件”。\n"
+#~ "       --egd-file=文件        EGD socket 文件名。\n"
+#~ "       --sslcadir=目录         CA 散列表所在的目录。\n"
+#~ "       --sslcafile=文件      包含 CA 的文件。\n"
+#~ "       --sslcerttype=0/1      Client-Cert 类型 0=PEM (默认) / 1=ASN1 "
+#~ "(DER)\n"
+#~ "       --sslcheckcert=0/1     根据提供的 CA 检查服务器的证书\n"
+#~ "       --sslprotocol=0-3      选择 SSL 协议;0=自动选择,\n"
+#~ "                              1=SSLv2 2=SSLv3 3=TLSv1\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "FTP options:\n"
+#~ "  -nr, --dont-remove-listing   don't remove `.listing' files.\n"
+#~ "  -g,  --glob=on/off           turn file name globbing on or off.\n"
+#~ "       --passive-ftp           use the \"passive\" transfer mode.\n"
+#~ "       --retr-symlinks         when recursing, get linked-to files (not "
+#~ "dirs).\n"
+#~ "\n"
+#~ msgstr ""
+#~ "FTP 选项:\n"
+#~ "  -nr, --dont-remove-listing   不删除“.listing”文件。\n"
+#~ "  -g,  --glob=on/off           设置是否展开有通配符的文件名。\n"
+#~ "       --passive-ftp           使用“被动”传输模式。\n"
+#~ "       --retr-symlinks         在递归模式中,下载链接所指示的文件(连至目"
+#~ "录\n"
+#~ "                               则例外)。\n"
+
+#~ msgid ""
+#~ "Recursive retrieval:\n"
+#~ "  -r,  --recursive          recursive download.\n"
+#~ "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+#~ "infinite).\n"
+#~ "       --delete-after       delete files locally after downloading them.\n"
+#~ "  -k,  --convert-links      convert non-relative links to relative.\n"
+#~ "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#~ "  -m,  --mirror             shortcut option equivalent to -r -N -l inf -"
+#~ "nr.\n"
+#~ "  -p,  --page-requisites    get all images, etc. needed to display HTML "
+#~ "page.\n"
+#~ "       --strict-comments    turn on strict (SGML) handling of HTML "
+#~ "comments.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "递归下载:\n"
+#~ "  -r,  --recursive          递归下载。\n"
+#~ "  -l,  --level=数字         最大递归深度(inf 或 0 表示无限)。\n"
+#~ "       --delete-after       删除下载后的文件。\n"
+#~ "  -k,  --convert-links      将绝对链接转换为相对链接。\n"
+#~ "  -K,  --backup-converted   转换文件 X 前先将其备份为 X.orig。\n"
+#~ "  -m,  --mirror             等效于 -r -N -l inf -nr 的选项。\n"
+#~ "  -p,  --page-requisites    下载所有显示完整网页所需的文件,例如图像。\n"
+#~ "       --strict-comments    打开对 HTML 备注的严格(SGML)处理选项。\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Recursive accept/reject:\n"
+#~ "  -A,  --accept=LIST                comma-separated list of accepted "
+#~ "extensions.\n"
+#~ "  -R,  --reject=LIST                comma-separated list of rejected "
+#~ "extensions.\n"
+#~ "  -D,  --domains=LIST               comma-separated list of accepted "
+#~ "domains.\n"
+#~ "       --exclude-domains=LIST       comma-separated list of rejected "
+#~ "domains.\n"
+#~ "       --follow-ftp                 follow FTP links from HTML "
+#~ "documents.\n"
+#~ "       --follow-tags=LIST           comma-separated list of followed HTML "
+#~ "tags.\n"
+#~ "  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML "
+#~ "tags.\n"
+#~ "  -H,  --span-hosts                 go to foreign hosts when recursive.\n"
+#~ "  -L,  --relative                   follow relative links only.\n"
+#~ "  -I,  --include-directories=LIST   list of allowed directories.\n"
+#~ "  -X,  --exclude-directories=LIST   list of excluded directories.\n"
+#~ "  -np, --no-parent                  don't ascend to the parent "
+#~ "directory.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "递归下载时有关接受/拒绝的选项:\n"
+#~ "  -A,  --accept=列表                接受的文件样式列表,以逗号分隔。\n"
+#~ "  -R,  --reject=列表                排除的文件样式列表,以逗号分隔。\n"
+#~ "  -D,  --domains=列表               接受的域列表,以逗号分隔。\n"
+#~ "       --exclude-domains=列表       排除的域列表,以逗号分隔。\n"
+#~ "       --follow-ftp                 跟随 HTML 文件中的 FTP 链接。\n"
+#~ "       --follow-tags=列表           要跟随的 HTML 标记,以逗号分隔。\n"
+#~ "  -G,  --ignore-tags=列表           要忽略的 HTML 标记,以逗号分隔。\n"
+#~ "  -H,  --span-hosts                 递归时可进入其它主机。\n"
+#~ "  -L,  --relative                   只跟随相对链接。\n"
+#~ "  -I,  --include-directories=列表   要下载的目录列表。\n"
+#~ "  -X,  --exclude-directories=列表   要排除的目录列表。\n"
+#~ "  -np, --no-parent                  不搜索上层目录。\n"
+#~ "\n"
+
+#~ msgid "%s: debug support not compiled in.\n"
+#~ msgstr "%s:未将调试支持编译到程序中。\n"
+
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "此程序发布的目的是希望它会有用,但它不作任何保证;\n"
+#~ "甚至没有可售性或适用于特定目的的保证。\n"
+#~ "详情请查看 GNU General Public License。\n"
+
+#~ msgid "Starting WinHelp %s\n"
+#~ msgstr "正在启动 WinHelp %s\n"
+
+#~ msgid "Empty host"
+#~ msgstr "未指定主机"
+
+#~ msgid "%s: %s: Not enough memory.\n"
+#~ msgstr "%s:%s:内存不足。\n"
+
 #~ msgid "Syntax error in Set-Cookie at character `%c'.\n"
 #~ msgstr "在 Set-Cookie 中字符“%c”处出现语法错误。\n"
 
-#~ msgid "%s: BUG: unknown command `%s', value `%s'.\n"
-#~ msgstr "%s:BUG:未知的命令“%s”,值“%s”。\n"
-
 #~ msgid "%s: %s: Cannot convert `%s' to an IP address.\n"
 #~ msgstr "%s:%s:无法将“%s”转换为一个 IP 地址。\n"
 
index 68017fc4017c6c5b58f4a1a23c93f12d55899d8d..0f861356e88c0cea75a678288cf9b983184ac583 100644 (file)
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: wget 1.10.1-b1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-08 08:08-0400\n"
+"Report-Msgid-Bugs-To: wget@sunsite.dk\n"
+"POT-Creation-Date: 2008-02-06 18:23-0800\n"
 "PO-Revision-Date: 2005-08-17 13:30+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -17,206 +17,260 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/connect.c:199
+#: lib/getopt.c:530 lib/getopt.c:546
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: 選項‘%s’不明確\n"
+
+#: lib/getopt.c:579 lib/getopt.c:583
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: 選項‘--%s’不可配合引數使用\n"
+
+#: lib/getopt.c:592 lib/getopt.c:597
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: 選項‘%c%s’不可配合引數使用\n"
+
+#: lib/getopt.c:640 lib/getopt.c:659 lib/getopt.c:975 lib/getopt.c:994
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: 選項‘%s’需要引數\n"
+
+#: lib/getopt.c:697 lib/getopt.c:700
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: 無法識別選項‘--%s’\n"
+
+#: lib/getopt.c:708 lib/getopt.c:711
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: 無法識別選項‘%c%s’\n"
+
+#: lib/getopt.c:763 lib/getopt.c:766
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: 選項不合法 ─ %c\n"
+
+#: lib/getopt.c:772 lib/getopt.c:775
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: 選項無效 ─ %c\n"
+
+#: lib/getopt.c:827 lib/getopt.c:843 lib/getopt.c:1047 lib/getopt.c:1065
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: 選項需要引數 ─ %c\n"
+
+#: lib/getopt.c:896 lib/getopt.c:912
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: 選項‘-W %s’不明確\n"
+
+#: lib/getopt.c:936 lib/getopt.c:954
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: 選項‘-W %s’不可配合引數使用\n"
+
+#: src/connect.c:195
 #, c-format
 msgid "%s: unable to resolve bind address `%s'; disabling bind.\n"
 msgstr "%s: 無法解析位址 ‘%s’;不使用 bind。\n"
 
-#: src/connect.c:271
+#: src/connect.c:267
 #, c-format
 msgid "Connecting to %s|%s|:%d... "
 msgstr "正在連接 %s|%s|:%d... "
 
-#: src/connect.c:274
+#: src/connect.c:270
 #, c-format
 msgid "Connecting to %s:%d... "
 msgstr "正在連接 %s:%d... "
 
-#: src/connect.c:335
+#: src/connect.c:330
 msgid "connected.\n"
 msgstr "連上了。\n"
 
-#: src/connect.c:347 src/host.c:789 src/host.c:818
+#: src/connect.c:342 src/host.c:753 src/host.c:782
 #, c-format
 msgid "failed: %s.\n"
 msgstr "失敗: %s。\n"
 
-#: src/convert.c:176
-#, c-format
-msgid "Converted %d files in %.*f seconds.\n"
+#: src/connect.c:366 src/http.c:1632
+#, fuzzy, c-format
+msgid "%s: unable to resolve host address `%s'\n"
+msgstr "%s: 無法解析位址 ‘%s’;不使用 bind。\n"
+
+#: src/convert.c:170
+#, fuzzy, c-format
+msgid "Converted %d files in %s seconds.\n"
 msgstr "已在 %3$.*2$f 秒之內轉換了 %1$d 個檔案。\n"
 
-#: src/convert.c:202
+#: src/convert.c:197
 #, c-format
 msgid "Converting %s... "
 msgstr "正在轉換 %s... "
 
-#: src/convert.c:215
+#: src/convert.c:210
 msgid "nothing to do.\n"
 msgstr "不需進行任何操作。\n"
 
-#: src/convert.c:223 src/convert.c:247
+#: src/convert.c:218 src/convert.c:242
 #, c-format
 msgid "Cannot convert links in %s: %s\n"
 msgstr "無法轉換 %s 中的鏈結: %s\n"
 
-#: src/convert.c:238
+#: src/convert.c:233
 #, c-format
 msgid "Unable to delete `%s': %s\n"
 msgstr "無法刪除‘%s’: %s\n"
 
-#: src/convert.c:447
+#: src/convert.c:442
 #, c-format
 msgid "Cannot back up %s as %s: %s\n"
 msgstr "無法將 %s 備份成 %s: %s\n"
 
-#: src/cookies.c:619
-#, c-format
-msgid "Error in Set-Cookie, field `%s'"
-msgstr "Set-Cookie 的欄位‘%s’出現錯誤"
-
-#: src/cookies.c:643
+#: src/cookies.c:443
 #, c-format
 msgid "Syntax error in Set-Cookie: %s at position %d.\n"
 msgstr "Set-Cookie 出現語法錯誤: 在 %2$d 位置的 %1$s。\n"
 
-#: src/cookies.c:881
+#: src/cookies.c:685
 #, c-format
 msgid "Cookie coming from %s attempted to set domain to %s\n"
 msgstr "來自 %s 的 cookie 嘗試將網域設定為 %s\n"
 
-#: src/cookies.c:1328 src/cookies.c:1477
+#: src/cookies.c:1132 src/cookies.c:1250
 #, c-format
 msgid "Cannot open cookies file `%s': %s\n"
 msgstr "無法開啟 cookie 檔‘%s’: %s\n"
 
-#: src/cookies.c:1489
+#: src/cookies.c:1287
 #, c-format
 msgid "Error writing to `%s': %s\n"
 msgstr "寫入‘%s’時發生錯誤: %s\n"
 
-#: src/cookies.c:1492
+#: src/cookies.c:1290
 #, c-format
 msgid "Error closing `%s': %s\n"
 msgstr "關閉‘%s’時發生錯誤: %s\n"
 
-#: src/ftp-ls.c:841
+#: src/ftp-ls.c:836
 msgid "Unsupported listing type, trying Unix listing parser.\n"
 msgstr "使用了不支援的檔案清單類型,假設是 Unix 格式的清單來分析。\n"
 
-#: src/ftp-ls.c:887 src/ftp-ls.c:889
+#: src/ftp-ls.c:882 src/ftp-ls.c:884
 #, c-format
 msgid "Index of /%s on %s:%d"
 msgstr "/%s 的索引,在 %s:%d"
 
-#: src/ftp-ls.c:912
+#: src/ftp-ls.c:907
 #, c-format
 msgid "time unknown       "
 msgstr "時間不詳           "
 
-#: src/ftp-ls.c:916
+#: src/ftp-ls.c:911
 #, c-format
 msgid "File        "
 msgstr "檔案        "
 
-#: src/ftp-ls.c:919
+#: src/ftp-ls.c:914
 #, c-format
 msgid "Directory   "
 msgstr "目錄        "
 
-#: src/ftp-ls.c:922
+#: src/ftp-ls.c:917
 #, c-format
 msgid "Link        "
 msgstr "鏈結        "
 
-#: src/ftp-ls.c:925
+#: src/ftp-ls.c:920
 #, c-format
 msgid "Not sure    "
 msgstr "無法確定    "
 
-#: src/ftp-ls.c:943
+#: src/ftp-ls.c:938
 #, c-format
 msgid " (%s bytes)"
 msgstr " (%s 位元組)"
 
-#: src/ftp.c:226
+#: src/ftp.c:214
 #, c-format
 msgid "Length: %s"
 msgstr "長度: %s"
 
-#: src/ftp.c:232 src/http.c:1861
+#: src/ftp.c:220 src/http.c:2183
 #, c-format
 msgid ", %s (%s) remaining"
 msgstr ",剩餘 %s (%s)"
 
-#: src/ftp.c:236 src/http.c:1865
+#: src/ftp.c:224 src/http.c:2187
 #, c-format
 msgid ", %s remaining"
 msgstr ",剩餘 %s"
 
-#: src/ftp.c:239
+#: src/ftp.c:227
 msgid " (unauthoritative)\n"
 msgstr " (非正式資料)\n"
 
-#. Second: Login with proper USER/PASS sequence.
-#: src/ftp.c:314
+#: src/ftp.c:303
 #, c-format
 msgid "Logging in as %s ... "
 msgstr "以 %s 的身分登入... "
 
-#: src/ftp.c:327 src/ftp.c:373 src/ftp.c:402 src/ftp.c:454 src/ftp.c:566
-#: src/ftp.c:612 src/ftp.c:640 src/ftp.c:698 src/ftp.c:759 src/ftp.c:819
-#: src/ftp.c:866
+#: src/ftp.c:316 src/ftp.c:362 src/ftp.c:391 src/ftp.c:443 src/ftp.c:555
+#: src/ftp.c:601 src/ftp.c:630 src/ftp.c:687 src/ftp.c:748 src/ftp.c:808
+#: src/ftp.c:855
 msgid "Error in server response, closing control connection.\n"
 msgstr "伺服器回應訊息發生錯誤,會關閉控制連線。\n"
 
-#: src/ftp.c:334
+#: src/ftp.c:323
 msgid "Error in server greeting.\n"
 msgstr "伺服器訊息出現錯誤。\n"
 
-#: src/ftp.c:341 src/ftp.c:462 src/ftp.c:574 src/ftp.c:648 src/ftp.c:708
-#: src/ftp.c:769 src/ftp.c:829 src/ftp.c:876
+#: src/ftp.c:330 src/ftp.c:451 src/ftp.c:563 src/ftp.c:638 src/ftp.c:697
+#: src/ftp.c:758 src/ftp.c:818 src/ftp.c:865
 msgid "Write failed, closing control connection.\n"
 msgstr "無法寫入,會關閉控制連線。\n"
 
-#: src/ftp.c:347
+#: src/ftp.c:336
 msgid "The server refuses login.\n"
 msgstr "伺服器拒絕登入。\n"
 
-#: src/ftp.c:353
+#: src/ftp.c:342
 msgid "Login incorrect.\n"
 msgstr "登入錯誤。\n"
 
-#: src/ftp.c:359
+#: src/ftp.c:348
 msgid "Logged in!\n"
 msgstr "登入完成!\n"
 
-#: src/ftp.c:381
+#: src/ftp.c:370
 msgid "Server error, can't determine system type.\n"
 msgstr "伺服器錯誤,無法決定作業系統的類型。\n"
 
-#: src/ftp.c:390 src/ftp.c:685 src/ftp.c:742 src/ftp.c:785
+#: src/ftp.c:379 src/ftp.c:674 src/ftp.c:731 src/ftp.c:774
 msgid "done.    "
 msgstr "完成。    "
 
-#: src/ftp.c:442 src/ftp.c:591 src/ftp.c:624 src/ftp.c:849 src/ftp.c:895
+#: src/ftp.c:431 src/ftp.c:580 src/ftp.c:613 src/ftp.c:838 src/ftp.c:884
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: src/ftp.c:469
+#: src/ftp.c:458
 #, c-format
 msgid "Unknown type `%c', closing control connection.\n"
 msgstr "類別 ‘%c’ 不詳,會關閉控制連線。\n"
 
-#: src/ftp.c:481
+#: src/ftp.c:470
 msgid "done.  "
 msgstr "完成。  "
 
-#: src/ftp.c:487
+#: src/ftp.c:476
 msgid "==> CWD not needed.\n"
 msgstr "==> 不需要 CWD (切換路徑)。\n"
 
-#: src/ftp.c:580
+#: src/ftp.c:569
 #, c-format
 msgid ""
 "No such directory `%s'.\n"
@@ -225,34 +279,33 @@ msgstr ""
 "目錄‘%s’不存在。\n"
 "\n"
 
-#. do not CWD
-#: src/ftp.c:595
+#: src/ftp.c:584
 msgid "==> CWD not required.\n"
 msgstr "==> 不需要 CWD (切換路徑)。\n"
 
-#: src/ftp.c:654
+#: src/ftp.c:644
 msgid "Cannot initiate PASV transfer.\n"
 msgstr "無法初始化 PASV 檔案傳送方式。\n"
 
-#: src/ftp.c:658
+#: src/ftp.c:648
 msgid "Cannot parse PASV response.\n"
 msgstr "無法分析 PASV 回應訊息。\n"
 
-#: src/ftp.c:676
+#: src/ftp.c:665
 #, c-format
 msgid "couldn't connect to %s port %d: %s\n"
 msgstr "無法連上 %s 的埠號 %d: %s\n"
 
-#: src/ftp.c:724
+#: src/ftp.c:713
 #, c-format
 msgid "Bind error (%s).\n"
 msgstr "Bind 發生錯誤(%s)。\n"
 
-#: src/ftp.c:730
+#: src/ftp.c:719
 msgid "Invalid PORT.\n"
 msgstr "PORT 指令無效。\n"
 
-#: src/ftp.c:776
+#: src/ftp.c:765
 msgid ""
 "\n"
 "REST failed, starting from scratch.\n"
@@ -260,7 +313,7 @@ msgstr ""
 "\n"
 "重設 (REST) 失敗,需要重新開始傳送。\n"
 
-#: src/ftp.c:837
+#: src/ftp.c:826
 #, c-format
 msgid ""
 "No such file `%s'.\n"
@@ -269,7 +322,7 @@ msgstr ""
 "檔案‘%s’不存在。\n"
 "\n"
 
-#: src/ftp.c:884
+#: src/ftp.c:873
 #, c-format
 msgid ""
 "No such file or directory `%s'.\n"
@@ -278,44 +331,40 @@ msgstr ""
 "檔案或目錄‘%s’不存在。\n"
 "\n"
 
-#. We cannot just invent a new name and use it (which is
-#. what functions like unique_create typically do)
-#. because we told the user we'd use this name.
-#. Instead, return and retry the download.
-#: src/ftp.c:946 src/http.c:1922
+#: src/ftp.c:935 src/http.c:2245
 #, c-format
 msgid "%s has sprung into existence.\n"
 msgstr "%s 突然出現。\n"
 
-#: src/ftp.c:1008
+#: src/ftp.c:987
 #, c-format
 msgid "%s: %s, closing control connection.\n"
 msgstr "%s: %s,將會關閉控制連線。\n"
 
-#: src/ftp.c:1016
+#: src/ftp.c:996
 #, c-format
 msgid "%s (%s) - Data connection: %s; "
 msgstr "%s (%s) ─ 數據連線: %s;"
 
-#: src/ftp.c:1031
+#: src/ftp.c:1011
 msgid "Control connection closed.\n"
 msgstr "已關閉控制連線。\n"
 
-#: src/ftp.c:1049
+#: src/ftp.c:1029
 msgid "Data transfer aborted.\n"
 msgstr "已中止傳送資料。\n"
 
-#: src/ftp.c:1117
+#: src/ftp.c:1097
 #, c-format
 msgid "File `%s' already there; not retrieving.\n"
 msgstr "檔案 ‘%s’ 已存在,不會下載。\n"
 
-#: src/ftp.c:1185 src/http.c:2142
+#: src/ftp.c:1165 src/http.c:2423
 #, c-format
 msgid "(try:%2d)"
 msgstr "(嘗試第 %2d 次)"
 
-#: src/ftp.c:1255 src/http.c:2421
+#: src/ftp.c:1235 src/http.c:2746
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s]\n"
@@ -324,43 +373,39 @@ msgstr ""
 "%s (%s) - 已儲存‘%s’ [%s]\n"
 "\n"
 
-#: src/ftp.c:1297 src/main.c:948 src/recur.c:376 src/retr.c:844
+#: src/ftp.c:1277 src/main.c:1010 src/recur.c:378 src/retr.c:860
 #, c-format
 msgid "Removing %s.\n"
 msgstr "刪除 %s。\n"
 
-#: src/ftp.c:1339
+#: src/ftp.c:1319
 #, c-format
 msgid "Using `%s' as listing tmp file.\n"
 msgstr "使用‘%s’作為檔案清單暫存檔。\n"
 
-#: src/ftp.c:1354
+#: src/ftp.c:1334
 #, c-format
 msgid "Removed `%s'.\n"
 msgstr "已刪除‘%s’。\n"
 
-#: src/ftp.c:1389
+#: src/ftp.c:1367
 #, c-format
 msgid "Recursion depth %d exceeded max. depth %d.\n"
 msgstr "鏈結深度 %d 超過最大值 %d。\n"
 
-#. Remote file is older, file sizes can be compared and
-#. are both equal.
-#: src/ftp.c:1459
+#: src/ftp.c:1437
 #, c-format
 msgid "Remote file no newer than local file `%s' -- not retrieving.\n"
 msgstr "遠端檔案不比本機檔案‘%s’新 ─ 不會下載。\n"
 
-#. Remote file is newer or sizes cannot be matched
-#: src/ftp.c:1466
+#: src/ftp.c:1444
 #, c-format
 msgid ""
 "Remote file is newer than local file `%s' -- retrieving.\n"
 "\n"
 msgstr "遠端檔案較本機檔案‘%s’新 ─ 會下載檔案。\n"
 
-#. Sizes do not match
-#: src/ftp.c:1473
+#: src/ftp.c:1451
 #, c-format
 msgid ""
 "The sizes do not match (local %s) -- retrieving.\n"
@@ -369,11 +414,11 @@ msgstr ""
 "檔案大小不符 (本機檔案為 %s) -- 下載檔案。\n"
 "\n"
 
-#: src/ftp.c:1491
+#: src/ftp.c:1469
 msgid "Invalid name of the symlink, skipping.\n"
 msgstr "略過名稱有誤的符號鏈結。\n"
 
-#: src/ftp.c:1508
+#: src/ftp.c:1486
 #, c-format
 msgid ""
 "Already have correct symlink %s -> %s\n"
@@ -382,242 +427,187 @@ msgstr ""
 "正確的符號鏈結 %s → %s 已經存在\n"
 "\n"
 
-#: src/ftp.c:1516
+#: src/ftp.c:1494
 #, c-format
 msgid "Creating symlink %s -> %s\n"
 msgstr "建立符號鏈結 %s → %s\n"
 
-#: src/ftp.c:1526
+#: src/ftp.c:1504
 #, c-format
 msgid "Symlinks not supported, skipping symlink `%s'.\n"
 msgstr "本系統不支援符號鏈結,略過符號鏈結‘%s’。\n"
 
-#: src/ftp.c:1538
+#: src/ftp.c:1516
 #, c-format
 msgid "Skipping directory `%s'.\n"
 msgstr "略過目錄‘%s’。\n"
 
-#: src/ftp.c:1547
+#: src/ftp.c:1525
 #, c-format
 msgid "%s: unknown/unsupported file type.\n"
 msgstr "%s: 檔案類別不詳或不支援。\n"
 
-#: src/ftp.c:1574
+#: src/ftp.c:1552
 #, c-format
 msgid "%s: corrupt time-stamp.\n"
 msgstr "%s: 時間標記錯誤。\n"
 
-#: src/ftp.c:1602
+#: src/ftp.c:1580
 #, c-format
 msgid "Will not retrieve dirs since depth is %d (max %d).\n"
 msgstr "因為深度為 %d (最大值為 %d),所以不下載。\n"
 
-#: src/ftp.c:1652
+#: src/ftp.c:1630
 #, c-format
 msgid "Not descending to `%s' as it is excluded/not-included.\n"
 msgstr "不進入‘%s’目錄因為已被排除或不被列入清單中。\n"
 
-#: src/ftp.c:1718 src/ftp.c:1732
+#: src/ftp.c:1696 src/ftp.c:1710
 #, c-format
 msgid "Rejecting `%s'.\n"
 msgstr "拒絕‘%s’。\n"
 
-#. No luck.
-#. #### This message SUCKS.  We should see what was the
-#. reason that nothing was retrieved.
-#: src/ftp.c:1778
+#: src/ftp.c:1733
+#, fuzzy, c-format
+msgid "Error matching %s against %s: %s\n"
+msgstr "寫入‘%s’時發生錯誤: %s\n"
+
+#: src/ftp.c:1774
 #, c-format
 msgid "No matches on pattern `%s'.\n"
 msgstr "沒有任何項目符合樣式‘%s’。\n"
 
-#: src/ftp.c:1844
+#: src/ftp.c:1840
 #, c-format
 msgid "Wrote HTML-ized index to `%s' [%s].\n"
 msgstr "將 HTML 化的索引寫入至 ‘%s’ [%s]。\n"
 
-#: src/ftp.c:1849
+#: src/ftp.c:1845
 #, c-format
 msgid "Wrote HTML-ized index to `%s'.\n"
 msgstr "將 HTML 化的索引寫入至 ‘%s’。\n"
 
-#: src/getopt.c:675
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: 選項‘%s’不明確\n"
-
-#: src/getopt.c:700
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: 選項‘--%s’不可配合引數使用\n"
-
-#: src/getopt.c:705
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: 選項‘%c%s’不可配合引數使用\n"
-
-#: src/getopt.c:723 src/getopt.c:896
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: 選項‘%s’需要引數\n"
-
-#. --option
-#: src/getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: 無法識別選項‘--%s’\n"
-
-#. +option or -option
-#: src/getopt.c:756
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: 無法識別選項‘%c%s’\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:782
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: 選項不合法 ─ %c\n"
-
-#: src/getopt.c:785
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: 選項無效 ─ %c\n"
-
-#. 1003.2 specifies the format of this message.
-#: src/getopt.c:815 src/getopt.c:945
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: 選項需要引數 ─ %c\n"
-
-#: src/getopt.c:862
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: 選項‘-W %s’不明確\n"
-
-#: src/getopt.c:880
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: 選項‘-W %s’不可配合引數使用\n"
-
-#: src/host.c:366
+#: src/host.c:348
 msgid "Unknown host"
 msgstr "不明主機"
 
-#. Message modeled after what gai_strerror returns in similar
-#. circumstances.
-#: src/host.c:370
+#: src/host.c:352
 msgid "Temporary failure in name resolution"
 msgstr "暫時無法檢索主機名稱"
 
-#: src/host.c:372
+#: src/host.c:354
 msgid "Unknown error"
 msgstr "錯誤原因不明"
 
-#: src/host.c:751
+#: src/host.c:715
 #, c-format
 msgid "Resolving %s... "
 msgstr "正在查找主機 %s... "
 
-#: src/host.c:798
+#: src/host.c:762
 msgid "failed: No IPv4/IPv6 addresses for host.\n"
 msgstr "失敗: 該主機沒有 IPv4/IPv6 地址。\n"
 
-#: src/host.c:821
+#: src/host.c:785
 msgid "failed: timed out.\n"
 msgstr "失敗: 連線逾時。\n"
 
-#: src/html-url.c:298
+#: src/html-url.c:289
 #, c-format
 msgid "%s: Cannot resolve incomplete link %s.\n"
 msgstr "%s: 無法解析不完整的符號鏈結 %s。\n"
 
-#: src/html-url.c:705
+#: src/html-url.c:696
 #, c-format
 msgid "%s: Invalid URL %s: %s\n"
 msgstr "%s: URL ‘%s’ 無效: %s\n"
 
-#: src/http.c:373
+#: src/http.c:368
 #, c-format
 msgid "Failed writing HTTP request: %s.\n"
 msgstr "無法寫入 HTTP 要求: %s。\n"
 
-#: src/http.c:687
+#: src/http.c:737
 msgid "No headers, assuming HTTP/0.9"
 msgstr "沒有任何標頭資料,假設為 HTTP/0.9"
 
-#: src/http.c:1204
+#: src/http.c:1417
 msgid "Disabling SSL due to encountered errors.\n"
 msgstr "因遇到錯誤而停止使用 SSL。\n"
 
-#: src/http.c:1374
+#: src/http.c:1570
 #, c-format
 msgid "POST data file `%s' missing: %s\n"
 msgstr "載有 POST 資料的檔案 ‘%s’ 不見了:%s\n"
 
-#: src/http.c:1423
+#: src/http.c:1619
 #, c-format
 msgid "Reusing existing connection to %s:%d.\n"
 msgstr "繼續使用和 %s:%d 的連線。\n"
 
-#: src/http.c:1492
+#: src/http.c:1687
 #, c-format
 msgid "Failed reading proxy response: %s\n"
 msgstr "無法讀取代理伺服器回應: %s。\n"
 
-#: src/http.c:1512
+#: src/http.c:1707
 #, c-format
 msgid "Proxy tunneling failed: %s"
 msgstr "無法透過代理伺服器進行 tunneling: %s"
 
-#: src/http.c:1557
+#: src/http.c:1752
 #, c-format
 msgid "%s request sent, awaiting response... "
 msgstr "已送出 %s 要求,正在等候回應... "
 
-#: src/http.c:1568
+#: src/http.c:1763
 msgid "No data received.\n"
 msgstr "收不到資料。\n"
 
-#: src/http.c:1575
+#: src/http.c:1770
 #, c-format
 msgid "Read error (%s) in headers.\n"
 msgstr "讀取標頭時發生錯誤 (%s)。\n"
 
-#. If the authentication header is missing or
-#. unrecognized, there's no sense in retrying.
-#: src/http.c:1660
+#: src/http.c:1816 src/http.c:2368
+#, c-format
+msgid ""
+"File `%s' already there; not retrieving.\n"
+"\n"
+msgstr ""
+"檔案 ‘%s’ 已存在,不會下載。\n"
+"\n"
+
+#: src/http.c:1969
 msgid "Unknown authentication scheme.\n"
 msgstr "認證方式不詳。\n"
 
-#: src/http.c:1684
+#: src/http.c:2000
 msgid "Authorization failed.\n"
 msgstr "認證失敗!\n"
 
-#: src/http.c:1698
+#: src/http.c:2014
 msgid "Malformed status line"
 msgstr "不正常的狀態行"
 
-#: src/http.c:1700
+#: src/http.c:2016
 msgid "(no description)"
 msgstr "(沒有任何說明)"
 
-#: src/http.c:1763
+#: src/http.c:2082
 #, c-format
 msgid "Location: %s%s\n"
 msgstr "位置: %s%s\n"
 
-#: src/http.c:1764 src/http.c:1871
+#: src/http.c:2083 src/http.c:2193
 msgid "unspecified"
 msgstr "未指定"
 
-#: src/http.c:1765
+#: src/http.c:2084
 msgid " [following]"
 msgstr " [跟隨至新的 URL]"
 
-#. If `-c' is in use and the file has been fully downloaded (or
-#. the remote file has shrunk), Wget effectively requests bytes
-#. after the end of file and the server response with 416.
-#: src/http.c:1821
+#: src/http.c:2140
 msgid ""
 "\n"
 "    The file is already fully retrieved; nothing to do.\n"
@@ -627,61 +617,59 @@ msgstr ""
 "    檔案早已下載完成;不會進行任何操作。\n"
 "\n"
 
-#. No need to print this output if the body won't be
-#. downloaded at all, or if the original server response is
-#. printed.
-#: src/http.c:1851
+#: src/http.c:2173
 msgid "Length: "
 msgstr "長度: "
 
-#: src/http.c:1871
+#: src/http.c:2193
 msgid "ignored"
 msgstr "忽略"
 
-#: src/http.c:2019
+#: src/http.c:2264
+#, fuzzy, c-format
+msgid "Saving to: `%s'\n"
+msgstr "略過目錄‘%s’。\n"
+
+#: src/http.c:2345
 msgid "Warning: wildcards not supported in HTTP.\n"
 msgstr "警告: HTTP 不支援萬用字元。\n"
 
-#. If opt.noclobber is turned on and file already exists, do not
-#. retrieve the file
-#: src/http.c:2054
-#, c-format
-msgid ""
-"File `%s' already there; not retrieving.\n"
-"\n"
+#: src/http.c:2412
+msgid "Spider mode enabled. Check if remote file exists.\n"
 msgstr ""
-"檔案 ‘%s’ 已存在,不會下載。\n"
-"\n"
 
-#: src/http.c:2244
+#: src/http.c:2497
 #, c-format
 msgid "Cannot write to `%s' (%s).\n"
 msgstr "無法寫入‘%s’(%s)。\n"
 
-#. Another fatal error.
-#: src/http.c:2251
+#: src/http.c:2506
 msgid "Unable to establish SSL connection.\n"
 msgstr "無法建立 SSL 連線。\n"
 
-#: src/http.c:2260
+#: src/http.c:2514
 #, c-format
 msgid "ERROR: Redirection (%d) without location.\n"
 msgstr "錯誤: 重新導向 (%d) 但沒有指定位置。\n"
 
-#: src/http.c:2290
+#: src/http.c:2560
+msgid "Remote file does not exist -- broken link!!!\n"
+msgstr ""
+
+#: src/http.c:2565
 #, c-format
 msgid "%s ERROR %d: %s.\n"
 msgstr "%s 錯誤 %d: %s。\n"
 
-#: src/http.c:2303
+#: src/http.c:2581
 msgid "Last-modified header missing -- time-stamps turned off.\n"
 msgstr "缺少了最後修改時間標頭 ─ 關閉時間標記。\n"
 
-#: src/http.c:2311
+#: src/http.c:2589
 msgid "Last-modified header invalid -- time-stamp ignored.\n"
 msgstr "無效的最後修改時間標頭 ─ 忽略時間標記。\n"
 
-#: src/http.c:2334
+#: src/http.c:2619
 #, c-format
 msgid ""
 "Server file no newer than local file `%s' -- not retrieving.\n"
@@ -690,16 +678,38 @@ msgstr ""
 "遠端檔案不比本機檔案‘%s’新 ─ 不會下載。\n"
 "\n"
 
-#: src/http.c:2342
+#: src/http.c:2627
 #, c-format
 msgid "The sizes do not match (local %s) -- retrieving.\n"
 msgstr "檔案大小不符 (本機檔案為 %s) -- 會下載檔案。\n"
 
-#: src/http.c:2347
+#: src/http.c:2634
 msgid "Remote file is newer, retrieving.\n"
 msgstr "遠端檔案較新,會下載檔案。\n"
 
-#: src/http.c:2389 src/http.c:2455
+#: src/http.c:2650
+#, fuzzy
+msgid ""
+"Remote file exists and could contain links to other resources -- "
+"retrieving.\n"
+"\n"
+msgstr "遠端檔案較本機檔案‘%s’新 ─ 會下載檔案。\n"
+
+#: src/http.c:2655
+#, fuzzy
+msgid ""
+"Remote file exists but does not contain any link -- not retrieving.\n"
+"\n"
+msgstr "遠端檔案不比本機檔案‘%s’新 ─ 不會下載。\n"
+
+#: src/http.c:2663
+#, fuzzy
+msgid ""
+"Remote file exists but recursion is disabled -- not retrieving.\n"
+"\n"
+msgstr "遠端檔案不比本機檔案‘%s’新 ─ 不會下載。\n"
+
+#: src/http.c:2715
 #, c-format
 msgid ""
 "%s (%s) - `%s' saved [%s/%s]\n"
@@ -708,111 +718,99 @@ msgstr ""
 "%s (%s) -- 已儲存 ‘%s’ [%s/%s])\n"
 "\n"
 
-#: src/http.c:2446
+#: src/http.c:2770
 #, c-format
 msgid "%s (%s) - Connection closed at byte %s. "
 msgstr "%s (%s) - 在 %s 位元組後連線突然中斷。 "
 
-#: src/http.c:2481
-#, c-format
-msgid "%s (%s) - Connection closed at byte %s/%s. "
-msgstr "%s (%s) - 在 %s/%s 位元組後連線突然中斷。 "
-
-#: src/http.c:2495
+#: src/http.c:2785
 #, c-format
 msgid "%s (%s) - Read error at byte %s (%s)."
 msgstr "%s (%s) - 讀取至 %s 位元組時發生錯誤 (%s)。"
 
-#: src/http.c:2505
+#: src/http.c:2794
 #, c-format
 msgid "%s (%s) - Read error at byte %s/%s (%s). "
 msgstr "%s (%s) - 讀取至 %s/%s 位元組時發生錯誤 (%s)。"
 
-#: src/init.c:369
+#: src/init.c:387
 #, c-format
 msgid "%s: WGETRC points to %s, which doesn't exist.\n"
 msgstr "%s: WGETRC 位置為 %s,但該檔案不存在。\n"
 
-#: src/init.c:433 src/netrc.c:277
+#: src/init.c:450 src/netrc.c:265
 #, c-format
 msgid "%s: Cannot read %s (%s).\n"
 msgstr "%s: 無法讀取 %s (%s)。\n"
 
-#: src/init.c:451
+#: src/init.c:468
 #, c-format
 msgid "%s: Error in %s at line %d.\n"
 msgstr "%1$s: 錯誤發生於第 %3$d 行的 %2$s。\n"
 
-#: src/init.c:457
+#: src/init.c:474
 #, c-format
 msgid "%s: Syntax error in %s at line %d.\n"
 msgstr "%1$s: 錯誤發生於第 %3$d 行的 %2$s。\n"
 
-#: src/init.c:462
+#: src/init.c:479
 #, c-format
 msgid "%s: Unknown command `%s' in %s at line %d.\n"
 msgstr "%1$s: 第 %4$d 行的 %3$s 出現不明指令 ‘%2$s’。\n"
 
-#: src/init.c:507
+#: src/init.c:524
 #, c-format
 msgid "%s: Warning: Both system and user wgetrc point to `%s'.\n"
 msgstr "%s: 警告: 系統與使用者的 wgetrc 都指向‘%s’。\n"
 
-#: src/init.c:661
+#: src/init.c:677
 #, c-format
 msgid "%s: Invalid --execute command `%s'\n"
 msgstr "%s: --execute 指令 ‘%s’ 無效\n"
 
-#: src/init.c:707
+#: src/init.c:722
 #, c-format
 msgid "%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"
 msgstr "%s: %s: 邏輯值 ‘%s’ 無效,請使用 ‘on’ 或 ‘off’。\n"
 
-#: src/init.c:759
-#, c-format
-msgid ""
-"%s: %s: Invalid extended boolean `%s';\n"
-"use one of `on', `off', `always', or `never'.\n"
-msgstr ""
-"%s: %s: 邏輯值 ‘%s’ 無效,\n"
-"請使用 ‘always’, ‘on’, ‘off’ 或 ‘never’。\n"
-
-#: src/init.c:777
+#: src/init.c:739
 #, c-format
 msgid "%s: %s: Invalid number `%s'.\n"
 msgstr "%s: %s: 數值 ‘%s’ 無效。\n"
 
-#: src/init.c:1008 src/init.c:1027
+#: src/init.c:970 src/init.c:989
 #, c-format
 msgid "%s: %s: Invalid byte value `%s'\n"
 msgstr "%s: %s: 位元值 ‘%s’ 無效。\n"
 
-#: src/init.c:1052
+#: src/init.c:1014
 #, c-format
 msgid "%s: %s: Invalid time period `%s'\n"
 msgstr "%s: %s: 時間 ‘%s’ 無效。\n"
 
-#: src/init.c:1106 src/init.c:1196 src/init.c:1291 src/init.c:1316
+#: src/init.c:1068 src/init.c:1158 src/init.c:1261 src/init.c:1286
 #, c-format
 msgid "%s: %s: Invalid value `%s'.\n"
 msgstr "%s: %s: 數值 ‘%s’ 無效。\n"
 
-#: src/init.c:1143
+#: src/init.c:1105
 #, c-format
 msgid "%s: %s: Invalid header `%s'.\n"
 msgstr "%s: %s: 標頭內容 ‘%s’ 無效。\n"
 
-#: src/init.c:1208
+#: src/init.c:1171
 #, c-format
 msgid "%s: %s: Invalid progress type `%s'.\n"
 msgstr "%s: %s: 無效的進度指示方式‘%s’。\n"
 
-#: src/init.c:1259
-#, c-format
-msgid "%s: %s: Invalid restriction `%s', use `unix' or `windows'.\n"
+#: src/init.c:1230
+#, fuzzy, c-format
+msgid ""
+"%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],"
+"[nocontrol].\n"
 msgstr "%s: %s: 作業系統類型 ‘%s’ 無效,請使用 unix 或 windows。\n"
 
-#: src/log.c:806
+#: src/log.c:784
 #, c-format
 msgid ""
 "\n"
@@ -821,9 +819,7 @@ msgstr ""
 "\n"
 "下載 %s 完畢,將輸出導向至‘%s’。\n"
 
-#. Eek!  Opening the alternate log file has failed.  Nothing we
-#. can do but disable printing completely.
-#: src/log.c:816
+#: src/log.c:794
 #, c-format
 msgid ""
 "\n"
@@ -832,17 +828,17 @@ msgstr ""
 "\n"
 "下載 %s 完畢。\n"
 
-#: src/log.c:817
+#: src/log.c:795
 #, c-format
 msgid "%s: %s; disabling logging.\n"
 msgstr "%s: %s;無法進行任何記錄。\n"
 
-#: src/main.c:375
+#: src/main.c:357
 #, c-format
 msgid "Usage: %s [OPTION]... [URL]...\n"
 msgstr "用法: %s [選項]... [URL]...\n"
 
-#: src/main.c:387
+#: src/main.c:369
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "\n"
@@ -850,301 +846,354 @@ msgstr ""
 "長選項必須用的參數在使用短選項時也是必須的。\n"
 "\n"
 
-#: src/main.c:389
+#: src/main.c:371
 msgid "Startup:\n"
 msgstr "啟動:\n"
 
-#: src/main.c:391
+#: src/main.c:373
 msgid "  -V,  --version           display the version of Wget and exit.\n"
 msgstr "  -V,  --version           顯示 Wget 版本並離開\n"
 
-#: src/main.c:393
+#: src/main.c:375
 msgid "  -h,  --help              print this help.\n"
 msgstr "  -h,  --help              印出這段說明文字\n"
 
-#: src/main.c:395
+#: src/main.c:377
 msgid "  -b,  --background        go to background after startup.\n"
 msgstr "  -b,  --background        啟動後進入背景作業\n"
 
-#: src/main.c:397
+#: src/main.c:379
 msgid "  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.\n"
 msgstr "  -e,  --execute=指令      執行 ‘.wgetrc’ 形式的指令\n"
 
-#: src/main.c:401
+#: src/main.c:383
 msgid "Logging and input file:\n"
 msgstr "紀錄訊息及輸入檔案:\n"
 
-#: src/main.c:403
+#: src/main.c:385
 msgid "  -o,  --output-file=FILE    log messages to FILE.\n"
 msgstr "  -o,  --output-file=檔案    將紀錄訊息寫入<檔案>中\n"
 
-#: src/main.c:405
+#: src/main.c:387
 msgid "  -a,  --append-output=FILE  append messages to FILE.\n"
 msgstr "  -a,  --append-output=檔案  將紀錄訊息加入<檔案>末端\n"
 
-#: src/main.c:408
+#: src/main.c:390
 msgid "  -d,  --debug               print lots of debugging information.\n"
 msgstr "  -d,  --debug               印出偵錯訊息\n"
 
-#: src/main.c:411
+#: src/main.c:394
+#, fuzzy
+msgid "       --wdebug              print Watt-32 debug output.\n"
+msgstr "  -d,  --debug               印出偵錯訊息\n"
+
+#: src/main.c:397
 msgid "  -q,  --quiet               quiet (no output).\n"
 msgstr "  -q,  --quiet               安靜模式 (不輸出訊息)\n"
 
-#: src/main.c:413
+#: src/main.c:399
 msgid "  -v,  --verbose             be verbose (this is the default).\n"
 msgstr "  -v,  --verbose             詳細輸出模式 (預設使用這個模式)\n"
 
-#: src/main.c:415
-msgid "  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
+#: src/main.c:401
+msgid ""
+"  -nv, --no-verbose          turn off verboseness, without being quiet.\n"
 msgstr "  -nv, --non-verbose         關閉詳細輸出模式,但不啟用安靜模式\n"
 
-#: src/main.c:417
+#: src/main.c:403
 msgid "  -i,  --input-file=FILE     download URLs found in FILE.\n"
 msgstr "  -i,  --input-file=檔案     下載從檔案中找到的 URL\n"
 
-#: src/main.c:419
+#: src/main.c:405
 msgid "  -F,  --force-html          treat input file as HTML.\n"
 msgstr "  -F,  --force-html          以 HTML 方式處理輸入檔\n"
 
-#: src/main.c:421
-msgid "  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
-msgstr "  -B,  --base=URL            使用 -F -i file 選項時,在相對鏈結前加入 URL\n"
+#: src/main.c:407
+msgid ""
+"  -B,  --base=URL            prepends URL to relative links in -F -i file.\n"
+msgstr ""
+"  -B,  --base=URL            使用 -F -i file 選項時,在相對鏈結前加入 URL\n"
 
-#: src/main.c:425
+#: src/main.c:411
 msgid "Download:\n"
 msgstr "下載:\n"
 
-#: src/main.c:427
-msgid "  -t,  --tries=NUMBER            set number of retries to NUMBER (0 unlimits).\n"
+#: src/main.c:413
+msgid ""
+"  -t,  --tries=NUMBER            set number of retries to NUMBER (0 "
+"unlimits).\n"
 msgstr "  -t,  --tries=次數              設定重試次數 (0 表示無限)\n"
 
-#: src/main.c:429
+#: src/main.c:415
 msgid "       --retry-connrefused       retry even if connection is refused.\n"
 msgstr "       --retry-connrefused       即使連線被拒仍然會不斷嘗試\n"
 
-#: src/main.c:431
+#: src/main.c:417
 msgid "  -O,  --output-document=FILE    write documents to FILE.\n"
 msgstr "  -O   --output-document=檔案    將資料寫入指定檔案中\n"
 
-#: src/main.c:433
+#: src/main.c:419
 msgid ""
 "  -nc, --no-clobber              skip downloads that would download to\n"
 "                                 existing files.\n"
 msgstr "  -nc, --no-clobber              不覆寫已經存在的檔案\n"
 
-#: src/main.c:436
-msgid "  -c,  --continue                resume getting a partially-downloaded file.\n"
+#: src/main.c:422
+msgid ""
+"  -c,  --continue                resume getting a partially-downloaded "
+"file.\n"
 msgstr "  -c,  --continue                繼續下載已下載了一部份的檔案\n"
 
-#: src/main.c:438
+#: src/main.c:424
 msgid "       --progress=TYPE           select progress gauge type.\n"
 msgstr "       --progress=方式           選擇下載進度的表示方式\n"
 
-#: src/main.c:440
+#: src/main.c:426
 msgid ""
 "  -N,  --timestamping            don't re-retrieve files unless newer than\n"
 "                                 local.\n"
-msgstr "  -N,  --timestamping           除非遠端檔案比較新,否則不下載遠端檔案\n"
+msgstr ""
+"  -N,  --timestamping           除非遠端檔案比較新,否則不下載遠端檔案\n"
 
-#: src/main.c:443
+#: src/main.c:429
 msgid "  -S,  --server-response         print server response.\n"
 msgstr "  -S,  --server-response         顯示伺服器回應訊息\n"
 
-#: src/main.c:445
+#: src/main.c:431
 msgid "       --spider                  don't download anything.\n"
 msgstr "       --spider                  不下載任何資料\n"
 
-#: src/main.c:447
+#: src/main.c:433
 msgid "  -T,  --timeout=SECONDS         set all timeout values to SECONDS.\n"
 msgstr "  -T,  --timeout=秒數            指定所有時限為同一數值\n"
 
-#: src/main.c:449
+#: src/main.c:435
 msgid "       --dns-timeout=SECS        set the DNS lookup timeout to SECS.\n"
 msgstr "       --dns-timeout=秒數        指定 DNS 查找主機的時限\n"
 
-#: src/main.c:451
+#: src/main.c:437
 msgid "       --connect-timeout=SECS    set the connect timeout to SECS.\n"
 msgstr "       --connect-timeout=秒數    指定連線時限\n"
 
-#: src/main.c:453
+#: src/main.c:439
 msgid "       --read-timeout=SECS       set the read timeout to SECS.\n"
 msgstr "       --read-timeout=秒數       指定讀取資料的時限\n"
 
-#: src/main.c:455
+#: src/main.c:441
 msgid "  -w,  --wait=SECONDS            wait SECONDS between retrievals.\n"
 msgstr "  -w,  --wait=秒數               每次下載檔案之前等待指定秒數\n"
 
-#: src/main.c:457
-msgid "       --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"
+#: src/main.c:443
+msgid ""
+"       --waitretry=SECONDS       wait 1..SECONDS between retries of a "
+"retrieval.\n"
 msgstr ""
 "       --waitretry=秒數          每次重覆嘗試前稍等一段時間 (由 1 秒至指\n"
 "                                 定秒數不等)\n"
 
-#: src/main.c:459
-msgid "       --random-wait             wait from 0...2*WAIT secs between retrievals.\n"
+#: src/main.c:445
+msgid ""
+"       --random-wait             wait from 0...2*WAIT secs between "
+"retrievals.\n"
 msgstr "       --random-wait             每次下載之前隨機地指定等待的時間\n"
 
-#: src/main.c:461
-msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
-msgstr "  -Y,  --proxy                   必定使用代理伺服器\n"
-
-#: src/main.c:463
+#: src/main.c:447
 msgid "       --no-proxy                explicitly turn off proxy.\n"
 msgstr "       --no-proxy                禁止使用代理伺服器\n"
 
-#: src/main.c:465
+#: src/main.c:449
 msgid "  -Q,  --quota=NUMBER            set retrieval quota to NUMBER.\n"
 msgstr "  -Q,  --quota=大小              設定下載資料的限額大小\n"
 
-#: src/main.c:467
-msgid "       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local host.\n"
-msgstr "       --bind-address=位址       使用本機的指定位址 (主機名稱或 IP) 進行連線\n"
+#: src/main.c:451
+msgid ""
+"       --bind-address=ADDRESS    bind to ADDRESS (hostname or IP) on local "
+"host.\n"
+msgstr ""
+"       --bind-address=位址       使用本機的指定位址 (主機名稱或 IP) 進行連"
+"線\n"
 
-#: src/main.c:469
+#: src/main.c:453
 msgid "       --limit-rate=RATE         limit download rate to RATE.\n"
 msgstr "       --limit-rate=速率         限制下載速率\n"
 
-#: src/main.c:471
+#: src/main.c:455
 msgid "       --no-dns-cache            disable caching DNS lookups.\n"
 msgstr "       --no-dns-cache            不記憶 DNS 查找主機的資料\n"
 
-#: src/main.c:473
-msgid "       --restrict-file-names=OS  restrict chars in file names to ones OS allows.\n"
-msgstr "       --restrict-file-names=OS  只使用作業系統能夠接受的字元作為檔案字元\n"
+#: src/main.c:457
+msgid ""
+"       --restrict-file-names=OS  restrict chars in file names to ones OS "
+"allows.\n"
+msgstr ""
+"       --restrict-file-names=OS  只使用作業系統能夠接受的字元作為檔案字元\n"
 
-#: src/main.c:476
+#: src/main.c:459
+#, fuzzy
+msgid ""
+"       --ignore-case             ignore case when matching files/"
+"directories.\n"
+msgstr "       --ignore-length         忽略 ‘Content-Length’ 標頭欄位\n"
+
+#: src/main.c:462
 msgid "  -4,  --inet4-only              connect only to IPv4 addresses.\n"
 msgstr "  -4,  --inet4-only              只會連接 IPv4 地址\n"
 
-#: src/main.c:478
+#: src/main.c:464
 msgid "  -6,  --inet6-only              connect only to IPv6 addresses.\n"
 msgstr "  -6,  --inet6-only              只會連接 IPv6 地址\n"
 
-#: src/main.c:480
+#: src/main.c:466
 msgid ""
-"       --prefer-family=FAMILY    connect first to addresses of specified family,\n"
+"       --prefer-family=FAMILY    connect first to addresses of specified "
+"family,\n"
 "                                 one of IPv6, IPv4, or none.\n"
 msgstr ""
 "       --prefer-family=FAMILY    優先採用指定的位址格式,可以是 IPv6、IPv4\n"
 "                                 或者 none\n"
 
-#: src/main.c:484
+#: src/main.c:470
 msgid "       --user=USER               set both ftp and http user to USER.\n"
 msgstr "       --user=用戶               指定 ftp 和 http 用戶名稱\n"
 
-#: src/main.c:486
-msgid "       --password=PASS           set both ftp and http password to PASS.\n"
+#: src/main.c:472
+msgid ""
+"       --password=PASS           set both ftp and http password to PASS.\n"
 msgstr "       --password=PASS           指定 ftp 和 http 密碼\n"
 
-#: src/main.c:490
+#: src/main.c:476
 msgid "Directories:\n"
 msgstr "目錄:\n"
 
-#: src/main.c:492
+#: src/main.c:478
 msgid "  -nd, --no-directories           don't create directories.\n"
 msgstr "  -nd  --no-directories           不建立目錄\n"
 
-#: src/main.c:494
+#: src/main.c:480
 msgid "  -x,  --force-directories        force creation of directories.\n"
 msgstr "  -x,  --force-directories        強制建立目錄\n"
 
-#: src/main.c:496
+#: src/main.c:482
 msgid "  -nH, --no-host-directories      don't create host directories.\n"
 msgstr "  -nH, --no-host-directories      不建立含有遠端主機名稱的目錄\n"
 
-#: src/main.c:498
+#: src/main.c:484
 msgid "       --protocol-directories     use protocol name in directories.\n"
 msgstr "       --protocol-directories     在目錄中加上通訊協定名稱\n"
 
-#: src/main.c:500
+#: src/main.c:486
 msgid "  -P,  --directory-prefix=PREFIX  save files to PREFIX/...\n"
 msgstr "  -P,  --directory-prefix=名稱    儲存檔案前先建立指定名稱的目錄\n"
 
-#: src/main.c:502
-msgid "       --cut-dirs=NUMBER          ignore NUMBER remote directory components.\n"
+#: src/main.c:488
+msgid ""
+"       --cut-dirs=NUMBER          ignore NUMBER remote directory "
+"components.\n"
 msgstr "       --cut-dirs=數目            忽略遠端目錄中指定<數目>的目錄層\n"
 
-#: src/main.c:506
+#: src/main.c:492
 msgid "HTTP options:\n"
 msgstr "HTTP 選項:\n"
 
-#: src/main.c:508
+#: src/main.c:494
 msgid "       --http-user=USER        set http user to USER.\n"
 msgstr "       --http-user=用戶        指定 HTTP 用戶名稱\n"
 
-#: src/main.c:510
+#: src/main.c:496
 msgid "       --http-password=PASS    set http password to PASS.\n"
 msgstr "       --http-passwd=密碼      指定 HTTP 密碼\n"
 
-#: src/main.c:512
+#: src/main.c:498
 msgid "       --no-cache              disallow server-cached data.\n"
 msgstr "       --no-cache              不使用伺服器中的快取記憶資料\n"
 
-#: src/main.c:514
-msgid "  -E,  --html-extension        save HTML documents with `.html' extension.\n"
+#: src/main.c:500
+msgid ""
+"  -E,  --html-extension        save HTML documents with `.html' extension.\n"
 msgstr "  -E,  --html-extension        將所有 HTML 文件加上 “.html” 延伸檔名\n"
 
-#: src/main.c:516
+#: src/main.c:502
 msgid "       --ignore-length         ignore `Content-Length' header field.\n"
 msgstr "       --ignore-length         忽略 ‘Content-Length’ 標頭欄位\n"
 
-#: src/main.c:518
+#: src/main.c:504
 msgid "       --header=STRING         insert STRING among the headers.\n"
 msgstr "       --header=字串           在連線資料標頭中加入指定字串\n"
 
-#: src/main.c:520
+#: src/main.c:506
+msgid "       --max-redirect          maximum redirections allowed per page.\n"
+msgstr ""
+
+#: src/main.c:508
 msgid "       --proxy-user=USER       set USER as proxy username.\n"
 msgstr "       --proxy-user=用戶       設定代理伺服器用戶名稱\n"
 
-#: src/main.c:522
+#: src/main.c:510
 msgid "       --proxy-password=PASS   set PASS as proxy password.\n"
 msgstr "       --proxy-password=密碼   設定代理伺服器密碼\n"
 
-#: src/main.c:524
-msgid "       --referer=URL           include `Referer: URL' header in HTTP request.\n"
-msgstr "       --referer=URL           在 HTTP 請求中包括 ‘Referer: URL’ 標頭\n"
+#: src/main.c:512
+msgid ""
+"       --referer=URL           include `Referer: URL' header in HTTP "
+"request.\n"
+msgstr ""
+"       --referer=URL           在 HTTP 請求中包括 ‘Referer: URL’ 標頭\n"
 
-#: src/main.c:526
+#: src/main.c:514
 msgid "       --save-headers          save the HTTP headers to file.\n"
 msgstr "       --save-headers          將 HTTP 連線資料標頭存檔\n"
 
-#: src/main.c:528
-msgid "  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
+#: src/main.c:516
+msgid ""
+"  -U,  --user-agent=AGENT      identify as AGENT instead of Wget/VERSION.\n"
 msgstr "  -U,  --user-agent=AGENT      宣稱為 AGENT 而不是 Wget/VERSION\n"
 
-#: src/main.c:530
-msgid "       --no-http-keep-alive    disable HTTP keep-alive (persistent connections).\n"
+#: src/main.c:518
+msgid ""
+"       --no-http-keep-alive    disable HTTP keep-alive (persistent "
+"connections).\n"
 msgstr "       --no-http-keep-alive    不使用 HTTP keep-alive (持久性連線)\n"
 
-#: src/main.c:532
+#: src/main.c:520
 msgid "       --no-cookies            don't use cookies.\n"
 msgstr "       --no-cookies            不使用 cookie\n"
 
-#: src/main.c:534
+#: src/main.c:522
 msgid "       --load-cookies=FILE     load cookies from FILE before session.\n"
 msgstr "       --load-cookies=檔案     程式啟動時由指定檔案載入 cookie\n"
 
-#: src/main.c:536
+#: src/main.c:524
 msgid "       --save-cookies=FILE     save cookies to FILE after session.\n"
 msgstr "       --save-cookies=檔案     程式結束後將 cookie 儲存至指定檔案\n"
 
-#: src/main.c:538
-msgid "       --keep-session-cookies  load and save session (non-permanent) cookies.\n"
+#: src/main.c:526
+msgid ""
+"       --keep-session-cookies  load and save session (non-permanent) "
+"cookies.\n"
 msgstr "       --keep-session-cookies  會載入和儲存暫時性的 cookie\n"
 
-#: src/main.c:540
-msgid "       --post-data=STRING      use the POST method; send STRING as the data.\n"
+#: src/main.c:528
+msgid ""
+"       --post-data=STRING      use the POST method; send STRING as the "
+"data.\n"
 msgstr "       --post-data=字串        使用 POST 方式送出字串\n"
 
-#: src/main.c:542
-msgid "       --post-file=FILE        use the POST method; send contents of FILE.\n"
+#: src/main.c:530
+msgid ""
+"       --post-file=FILE        use the POST method; send contents of FILE.\n"
 msgstr "       --post-file=檔案        使用 POST 方式送出檔案內容\n"
 
-#: src/main.c:547
+#: src/main.c:532
+msgid ""
+"       --content-disposition   honor the Content-Disposition header when\n"
+"                               choosing local file names (EXPERIMENTAL).\n"
+msgstr ""
+
+#: src/main.c:538
 msgid "HTTPS (SSL/TLS) options:\n"
 msgstr "HTTPS (SSL/TLS) 選項:\n"
 
-#: src/main.c:549
+#: src/main.c:540
 msgid ""
 "       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2,\n"
 "                                SSLv3, and TLSv1.\n"
@@ -1152,191 +1201,230 @@ msgstr ""
 "       --secure-protocol=PR     選擇安全通訊協定,可以使用 auto, SSLv2, \n"
 "                                SSLv3 或 TLSv1\n"
 
-#: src/main.c:552
-msgid "       --no-check-certificate   don't validate the server's certificate.\n"
+#: src/main.c:543
+msgid ""
+"       --no-check-certificate   don't validate the server's certificate.\n"
 msgstr "       --no-check-certificate   不檢驗伺服器的憑證\n"
 
-#: src/main.c:554
+#: src/main.c:545
 msgid "       --certificate=FILE       client certificate file.\n"
 msgstr "       --certificate=檔案       指定用戶端的憑證檔案名稱\n"
 
-#: src/main.c:556
+#: src/main.c:547
 msgid "       --certificate-type=TYPE  client certificate type, PEM or DER.\n"
 msgstr "       --certificate-type=類型  用戶端憑證的類型,可以是 PEM 或 DER\n"
 
-#: src/main.c:558
+#: src/main.c:549
 msgid "       --private-key=FILE       private key file.\n"
 msgstr "       --private-key=檔案       指定私鑰檔案\n"
 
-#: src/main.c:560
+#: src/main.c:551
 msgid "       --private-key-type=TYPE  private key type, PEM or DER.\n"
 msgstr "       --private-key-type=類型  私鑰的類型,可以是 PEM 或 DER\n"
 
-#: src/main.c:562
+#: src/main.c:553
 msgid "       --ca-certificate=FILE    file with the bundle of CA's.\n"
 msgstr "       --ca-certificate=檔案    載有憑證管理中心 (CA) 簽章的檔案\n"
 
 # (Abel) 這裡 hashed filename 和選項的用意無關,所以不翻譯
-#: src/main.c:564
-msgid "       --ca-directory=DIR       directory where hash list of CA's is stored.\n"
+#: src/main.c:555
+msgid ""
+"       --ca-directory=DIR       directory where hash list of CA's is "
+"stored.\n"
 msgstr "       --ca-directory=目錄      載有憑證管理中心 (CA) 簽章的目錄\n"
 
-#: src/main.c:566
-msgid "       --random-file=FILE       file with random data for seeding the SSL PRNG.\n"
-msgstr "       --random-file=檔案       作為 SSL 隨機數產生程序 (PRNG) 的來源數據檔案\n"
+#: src/main.c:557
+msgid ""
+"       --random-file=FILE       file with random data for seeding the SSL "
+"PRNG.\n"
+msgstr ""
+"       --random-file=檔案       作為 SSL 隨機數產生程序 (PRNG) 的來源數據檔"
+"案\n"
 
-#: src/main.c:568
-msgid "       --egd-file=FILE          file naming the EGD socket with random data.\n"
+#: src/main.c:559
+msgid ""
+"       --egd-file=FILE          file naming the EGD socket with random "
+"data.\n"
 msgstr "       --egd-file=檔案          產生隨機數據的 EGD socket 檔案名稱\n"
 
-#: src/main.c:573
+#: src/main.c:564
 msgid "FTP options:\n"
 msgstr "FTP 選項:\n"
 
-#: src/main.c:575
+#: src/main.c:566
 msgid "       --ftp-user=USER         set ftp user to USER.\n"
 msgstr "       --ftp-user=用戶         指定 FTP 用戶名稱\n"
 
-#: src/main.c:577
+#: src/main.c:568
 msgid "       --ftp-password=PASS     set ftp password to PASS.\n"
 msgstr "       --ftp-password=密碼     設定 FTP 密碼\n"
 
-#: src/main.c:579
+#: src/main.c:570
 msgid "       --no-remove-listing     don't remove `.listing' files.\n"
 msgstr "       --no-remove-listing     不刪除 ‘.listing’ 檔案\n"
 
-#: src/main.c:581
+#: src/main.c:572
 msgid "       --no-glob               turn off FTP file name globbing.\n"
 msgstr "       --no-glob               不展開有萬用字元的 FTP 檔名\n"
 
-#: src/main.c:583
+#: src/main.c:574
 msgid "       --no-passive-ftp        disable the \"passive\" transfer mode.\n"
 msgstr "       --no-passive-ftp        不使用「被動」傳輸模式\n"
 
-#: src/main.c:585
-msgid "       --retr-symlinks         when recursing, get linked-to files (not dir).\n"
+#: src/main.c:576
+msgid ""
+"       --retr-symlinks         when recursing, get linked-to files (not "
+"dir).\n"
 msgstr ""
 "       --retr-symlinks         在遞迴模式中,下載鏈結指示的目標檔案 \n"
 "                               (不包括目錄)\n"
 
-#: src/main.c:587
+#: src/main.c:578
 msgid "       --preserve-permissions  preserve remote file permissions.\n"
 msgstr "       --preserve-permissions  沿用遠端檔案的權限\n"
 
-#: src/main.c:591
+#: src/main.c:582
 msgid "Recursive download:\n"
 msgstr "遞迴下載:\n"
 
-#: src/main.c:593
+#: src/main.c:584
 msgid "  -r,  --recursive          specify recursive download.\n"
 msgstr "  -r,  --recursive          遞迴下載\n"
 
-#: src/main.c:595
-msgid "  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).\n"
+#: src/main.c:586
+msgid ""
+"  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for "
+"infinite).\n"
 msgstr "  -l,  --level=數字         最大搜尋深度 (inf 或 0 表示無限)\n"
 
-#: src/main.c:597
-msgid "       --delete-after       delete files locally after downloading them.\n"
+#: src/main.c:588
+msgid ""
+"       --delete-after       delete files locally after downloading them.\n"
 msgstr "       --delete-after       刪除下載後的檔案\n"
 
-#: src/main.c:599
-msgid "  -k,  --convert-links      make links in downloaded HTML point to local files.\n"
+#: src/main.c:590
+msgid ""
+"  -k,  --convert-links      make links in downloaded HTML point to local "
+"files.\n"
 msgstr "  -k,  --convert-links      將下載後的 HTML 的鏈結轉換為本地檔案\n"
 
-#: src/main.c:601
-msgid "  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
+#: src/main.c:592
+msgid ""
+"  -K,  --backup-converted   before converting file X, back up as X.orig.\n"
 msgstr "  -K,  --backup-converted   將檔案 X 轉換前先備份為 X.orig\n"
 
-#: src/main.c:603
-msgid "  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
-msgstr "  -m,  --mirror             相等於 -N -r -l inf --no-remove-listing 選項\n"
+#: src/main.c:594
+msgid ""
+"  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.\n"
+msgstr ""
+"  -m,  --mirror             相等於 -N -r -l inf --no-remove-listing 選項\n"
 
-#: src/main.c:605
-msgid "  -p,  --page-requisites    get all images, etc. needed to display HTML page.\n"
+#: src/main.c:596
+msgid ""
+"  -p,  --page-requisites    get all images, etc. needed to display HTML "
+"page.\n"
 msgstr "  -p,  --page-requisites    下載所有顯示網頁所需的檔案,例如圖片等\n"
 
-#: src/main.c:607
-msgid "       --strict-comments    turn on strict (SGML) handling of HTML comments.\n"
+#: src/main.c:598
+msgid ""
+"       --strict-comments    turn on strict (SGML) handling of HTML "
+"comments.\n"
 msgstr "       --strict-comments    用嚴格方式 (SGML) 處理 HTML 注釋。\n"
 
-#: src/main.c:611
+#: src/main.c:602
 msgid "Recursive accept/reject:\n"
 msgstr "遞迴下載時有關接受/拒絕的選項:\n"
 
-#: src/main.c:613
-msgid "  -A,  --accept=LIST               comma-separated list of accepted extensions.\n"
+#: src/main.c:604
+msgid ""
+"  -A,  --accept=LIST               comma-separated list of accepted "
+"extensions.\n"
 msgstr "  -A,  --accept=清單               接受的檔案樣式,以逗號分隔\n"
 
-#: src/main.c:615
-msgid "  -R,  --reject=LIST               comma-separated list of rejected extensions.\n"
+#: src/main.c:606
+msgid ""
+"  -R,  --reject=LIST               comma-separated list of rejected "
+"extensions.\n"
 msgstr "  -R,  --reject=清單               排除的檔案樣式,以逗號分隔\n"
 
-#: src/main.c:617
-msgid "  -D,  --domains=LIST              comma-separated list of accepted domains.\n"
+#: src/main.c:608
+msgid ""
+"  -D,  --domains=LIST              comma-separated list of accepted "
+"domains.\n"
 msgstr "  -D,  --domains=清單              接受的網域,以逗號分隔\n"
 
-#: src/main.c:619
-msgid "       --exclude-domains=LIST      comma-separated list of rejected domains.\n"
+#: src/main.c:610
+msgid ""
+"       --exclude-domains=LIST      comma-separated list of rejected "
+"domains.\n"
 msgstr "       --exclude-domains=清單      排除的網域,以逗號分隔\n"
 
-#: src/main.c:621
-msgid "       --follow-ftp                follow FTP links from HTML documents.\n"
+#: src/main.c:612
+msgid ""
+"       --follow-ftp                follow FTP links from HTML documents.\n"
 msgstr "       --follow-ftp                跟隨 HTML 文件中的 FTP 鏈結\n"
 
-#: src/main.c:623
-msgid "       --follow-tags=LIST          comma-separated list of followed HTML tags.\n"
+#: src/main.c:614
+msgid ""
+"       --follow-tags=LIST          comma-separated list of followed HTML "
+"tags.\n"
 msgstr "       --follow-tags=清單          會跟隨的 HTML 標籤,以逗號分隔\n"
 
-#: src/main.c:625
-msgid "       --ignore-tags=LIST          comma-separated list of ignored HTML tags.\n"
+#: src/main.c:616
+msgid ""
+"       --ignore-tags=LIST          comma-separated list of ignored HTML "
+"tags.\n"
 msgstr "  -G,  --ignore-tags=清單          會忽略的 HTML 標籤,以逗號分隔\n"
 
-#: src/main.c:627
-msgid "  -H,  --span-hosts                go to foreign hosts when recursive.\n"
+#: src/main.c:618
+msgid ""
+"  -H,  --span-hosts                go to foreign hosts when recursive.\n"
 msgstr "  -H,  --span-hosts                遞迴模式中可進入其它主機\n"
 
-#: src/main.c:629
+#: src/main.c:620
 msgid "  -L,  --relative                  follow relative links only.\n"
 msgstr "  -L,  --relative                  只跟隨相對鏈結\n"
 
-#: src/main.c:631
+#: src/main.c:622
 msgid "  -I,  --include-directories=LIST  list of allowed directories.\n"
 msgstr "  -I,  --include-directories=清單  準備下載的目錄\n"
 
-#: src/main.c:633
+#: src/main.c:624
 msgid "  -X,  --exclude-directories=LIST  list of excluded directories.\n"
 msgstr "  -X,  --exclude-directories=清單  準備排除的目錄\n"
 
-#: src/main.c:635
-msgid "  -np, --no-parent                 don't ascend to the parent directory.\n"
+#: src/main.c:626
+msgid ""
+"  -np, --no-parent                 don't ascend to the parent directory.\n"
 msgstr "  -np, --no-parent                 不進入上層的目錄\n"
 
-#: src/main.c:639
+#: src/main.c:630
 msgid "Mail bug reports and suggestions to <bug-wget@gnu.org>.\n"
 msgstr "請將錯誤報告或建議寄給 <bug-wget@gnu.org>。\n"
 
-#: src/main.c:644
+#: src/main.c:635
 #, c-format
 msgid "GNU Wget %s, a non-interactive network retriever.\n"
 msgstr "GNU Wget %s,非互動式檔案下載工具。\n"
 
-#: src/main.c:658
-msgid "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+#. TRANSLATORS: When available, an actual copyright character
+#. (cirle-c) should be used in preference to "(C)".
+#: src/main.c:677
+#, fuzzy
+msgid "Copyright (C) 2008 Free Software Foundation, Inc.\n"
 msgstr "版權所有 (C) 2005 自由軟體基金會\n"
 
-# (Abel) 參考 slat.org
-#: src/main.c:660
+#: src/main.c:679
 msgid ""
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
+"License GPLv3+: GNU GPL version 3 or later\n"
+"<http://www.gnu.org/licenses/gpl.html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
-"本程式係基於使用目的而加以散布,然而不負任何擔保責任;\n"
-"亦無對適售性或特定目的適用性所為的默示性擔保。\n"
-"詳情請參照 GNU 通用公共授權。\n"
 
-#: src/main.c:665
+#. TRANSLATORS: When available, please use the proper diacritics for
+#. names such as this one. See en_US.po for reference.
+#: src/main.c:686
 msgid ""
 "\n"
 "Originally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"
@@ -1344,196 +1432,223 @@ msgstr ""
 "\n"
 "最初由 Hrvoje Niksic <hniksic@xemacs.org> 編寫。\n"
 
-#. #### Something nicer should be printed here -- similar to the
-#. pre-1.5 `--help' page.
-#: src/main.c:711 src/main.c:780 src/main.c:859
+#: src/main.c:688
+msgid "Currently maintained by Micah Cowan <micah@cowan.name>.\n"
+msgstr ""
+
+#: src/main.c:735 src/main.c:804 src/main.c:904
 #, c-format
 msgid "Try `%s --help' for more options.\n"
 msgstr "請嘗試執行‘%s --help’查看更多選項。\n"
 
-#: src/main.c:777
+#: src/main.c:801
 #, c-format
 msgid "%s: illegal option -- `-n%c'\n"
 msgstr "%s: 選項不合法 -- ‘-n%c’\n"
 
-#: src/main.c:830
+#: src/main.c:859
 #, c-format
 msgid "Can't be verbose and quiet at the same time.\n"
 msgstr "無法同時使用詳細輸出模式及安靜模式。\n"
 
-#: src/main.c:836
+#: src/main.c:865
 #, c-format
 msgid "Can't timestamp and not clobber old files at the same time.\n"
 msgstr "無法同時使用時間標記而不更改本機檔案。\n"
 
-#: src/main.c:844
+#: src/main.c:873
 #, c-format
 msgid "Cannot specify both --inet4-only and --inet6-only.\n"
 msgstr "不可以同時使用 --inet4-only 和 --inet6-only 選項。\n"
 
-#. No URL specified.
-#: src/main.c:854
+#: src/main.c:883
+#, c-format
+msgid "Cannot specify -r, -p or -N if -O is given.\n"
+msgstr ""
+
+#: src/main.c:891
+#, fuzzy, c-format
+msgid "Cannot specify both -k and -O if multiple URLs are given.\n"
+msgstr "不可以同時使用 --inet4-only 和 --inet6-only 選項。\n"
+
+#: src/main.c:899
 #, c-format
 msgid "%s: missing URL\n"
 msgstr "%s: 未指定 URL\n"
 
-#: src/main.c:963
+#: src/main.c:1025
 #, c-format
 msgid "No URLs found in %s.\n"
 msgstr "在 %s 中找不到 URL。\n"
 
-#: src/main.c:972
-#, c-format
+#: src/main.c:1043
+#, fuzzy, c-format
 msgid ""
-"\n"
 "FINISHED --%s--\n"
-"Downloaded: %s bytes in %d files\n"
+"Downloaded: %d files, %s in %s (%s)\n"
 msgstr ""
 "\n"
 "完成 --%s--\n"
 "下載了: %s 位元組,共 %d 個檔案\n"
 
-#: src/main.c:979
-#, c-format
-msgid "Download quota (%s bytes) EXCEEDED!\n"
+#: src/main.c:1052
+#, fuzzy, c-format
+msgid "Download quota of %s EXCEEDED!\n"
 msgstr "超過下載限額 (%s 位元組)!\n"
 
-#: src/mswindows.c:235
+#: src/mswindows.c:99
 #, c-format
 msgid "Continuing in background.\n"
 msgstr "繼續在背景中執行。\n"
 
-#: src/mswindows.c:427
+#: src/mswindows.c:292
 #, c-format
 msgid "Continuing in background, pid %lu.\n"
 msgstr "繼續在背景中執行,pid 為 %lu。\n"
 
-#: src/mswindows.c:429 src/utils.c:351
+#: src/mswindows.c:294 src/utils.c:330
 #, c-format
 msgid "Output will be written to `%s'.\n"
 msgstr "將輸出資料寫入 ‘%s’。\n"
 
-#: src/mswindows.c:597 src/mswindows.c:604
+#: src/mswindows.c:462 src/mswindows.c:469
 #, c-format
 msgid "%s: Couldn't find usable socket driver.\n"
 msgstr "%s: 找不到可用的 socket 驅動程式。\n"
 
-#: src/netrc.c:385
+#: src/netrc.c:373
 #, c-format
 msgid "%s: %s:%d: warning: \"%s\" token appears before any machine name\n"
 msgstr "%s: %s:%d: 警告: 「%s」出現在主機名稱之前\n"
 
-#: src/netrc.c:416
+#: src/netrc.c:404
 #, c-format
 msgid "%s: %s:%d: unknown token \"%s\"\n"
 msgstr "%s: %s:%d: 不明的標記「%s」\n"
 
-#: src/netrc.c:480
+#: src/netrc.c:468
 #, c-format
 msgid "Usage: %s NETRC [HOSTNAME]\n"
 msgstr "用法: %s NETRC [主機名稱]\n"
 
-#: src/netrc.c:490
+#: src/netrc.c:478
 #, c-format
 msgid "%s: cannot stat %s: %s\n"
 msgstr "%s:無法 stat() %s:%s\n"
 
-#. Still not random enough, presumably because neither /dev/random
-#. nor EGD were available.  Try to seed OpenSSL's PRNG with libc
-#. PRNG.  This is cryptographically weak and defeats the purpose
-#. of using OpenSSL, which is why it is highly discouraged.
-#: src/openssl.c:121
+#: src/openssl.c:113
 msgid "WARNING: using a weak random seed.\n"
 msgstr "警告:隨機數品質不夠。\n"
 
-#: src/openssl.c:181
+#: src/openssl.c:173
 msgid "Could not seed PRNG; consider using --random-file.\n"
-msgstr "無法產生 OpenSSL 隨機數產生程序 (PRNG) 使用的種子;請考慮使用 --random-file 選項。\n"
+msgstr ""
+"無法產生 OpenSSL 隨機數產生程序 (PRNG) 使用的種子;請考慮使用 --random-file "
+"選項。\n"
 
-#. If the user has specified --no-check-cert, we still want to warn
-#. him about problems with the server's certificate.
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "ERROR"
 msgstr "錯誤"
 
-#: src/openssl.c:419
+#: src/openssl.c:488
 msgid "WARNING"
 msgstr "警告"
 
-#: src/openssl.c:427
+#: src/openssl.c:497
 #, c-format
 msgid "%s: No certificate presented by %s.\n"
 msgstr "%s:%s 沒有提供憑證。\n"
 
-#: src/openssl.c:458
-#, c-format
-msgid "%s: Certificate verification error for %s: %s\n"
-msgstr "%s:檢驗 %s 的憑證時發生錯誤:%s\n"
+#: src/openssl.c:518
+#, fuzzy, c-format
+msgid "%s: cannot verify %s's certificate, issued by `%s':\n"
+msgstr "%s:%s 沒有提供憑證。\n"
 
-#: src/openssl.c:485
+#: src/openssl.c:526
+msgid "  Unable to locally verify the issuer's authority.\n"
+msgstr ""
+
+#: src/openssl.c:530
+msgid "  Self-signed certificate encountered.\n"
+msgstr ""
+
+#: src/openssl.c:533
+msgid "  Issued certificate not yet valid.\n"
+msgstr ""
+
+#: src/openssl.c:536
+msgid "  Issued certificate has expired.\n"
+msgstr ""
+
+#: src/openssl.c:568
 #, c-format
-msgid "%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
+msgid ""
+"%s: certificate common name `%s' doesn't match requested host name `%s'.\n"
 msgstr "%s:憑證的 common name ‘%s’ 和主機名稱 ‘%s’ 不符。\n"
 
-#: src/openssl.c:498
+#: src/openssl.c:581
 #, c-format
 msgid "To connect to %s insecurely, use `--no-check-certificate'.\n"
 msgstr "如果不想用安全模式連接 %s,請使用 ‘--no-check-certificate’ 選項\n"
 
-#. Align the [ skipping ... ] line with the dots.  To do
-#. that, insert the number of spaces equal to the number of
-#. digits in the skipped amount in K.
-#: src/progress.c:243
-#, c-format
+#: src/progress.c:242
+#, fuzzy, c-format
 msgid ""
 "\n"
-"%*s[ skipping %dK ]"
+"%*s[ skipping %sK ]"
 msgstr ""
 "\n"
 "%*s[ 略過 %dK ]"
 
-#: src/progress.c:410
+#: src/progress.c:456
 #, c-format
 msgid "Invalid dot style specification `%s'; leaving unchanged.\n"
 msgstr "進度指示方式 ‘%s’ 無效;不會改變原來方式。\n"
 
-#. If no clock was found, it means that clock_getres failed for
-#. the realtime clock.
-#: src/ptimer.c:176
+#: src/progress.c:802
+#, c-format
+msgid "  eta %s"
+msgstr ""
+
+#: src/progress.c:1041
+msgid "   in "
+msgstr ""
+
+#: src/ptimer.c:160
 #, c-format
 msgid "Cannot get REALTIME clock frequency: %s\n"
 msgstr "無法讀取實時時鐘的頻率:%s\n"
 
-#: src/recur.c:377
+#: src/recur.c:379
 #, c-format
 msgid "Removing %s since it should be rejected.\n"
 msgstr "刪除 %s,因為它應該被指定了拒絕下載。\n"
 
-#: src/res.c:394
+#: src/res.c:390
 #, c-format
 msgid "Cannot open %s: %s"
 msgstr "無法開啟 %s: %s"
 
-#: src/res.c:544
+#: src/res.c:542
 msgid "Loading robots.txt; please ignore errors.\n"
 msgstr "正在載入 robots.txt;請忽略錯誤訊息。\n"
 
-#: src/retr.c:645
+#: src/retr.c:652
 #, c-format
 msgid "Error parsing proxy URL %s: %s.\n"
 msgstr "分析代理伺服器 URL %s 時發生錯誤: %s。\n"
 
-#: src/retr.c:653
+#: src/retr.c:660
 #, c-format
 msgid "Error in proxy URL %s: Must be HTTP.\n"
 msgstr "代理伺服器 URL %s 錯誤: 必須是 HTTP。\n"
 
-#: src/retr.c:740
+#: src/retr.c:746
 #, c-format
 msgid "%d redirections exceeded.\n"
 msgstr "已超過 %d 次重新導向。\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Giving up.\n"
 "\n"
@@ -1541,7 +1656,7 @@ msgstr ""
 "放棄。\n"
 "\n"
 
-#: src/retr.c:865
+#: src/retr.c:881
 msgid ""
 "Retrying.\n"
 "\n"
@@ -1549,54 +1664,105 @@ msgstr ""
 "準備重試。\n"
 "\n"
 
-#: src/url.c:626
+#: src/spider.c:74
+msgid ""
+"Found no broken links.\n"
+"\n"
+msgstr ""
+
+#: src/spider.c:81
+#, c-format
+msgid ""
+"Found %d broken link.\n"
+"\n"
+msgid_plural ""
+"Found %d broken links.\n"
+"\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/spider.c:91
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/url.c:620
 msgid "No error"
 msgstr "沒有錯誤"
 
-#: src/url.c:628
+#: src/url.c:622
 msgid "Unsupported scheme"
 msgstr "不支援這種 URL 格式"
 
-#: src/url.c:630
+#: src/url.c:624
 msgid "Invalid host name"
 msgstr "主機名稱無效"
 
-#: src/url.c:632
+#: src/url.c:626
 msgid "Bad port number"
 msgstr "通訊埠號錯誤"
 
-#: src/url.c:634
+#: src/url.c:628
 msgid "Invalid user name"
 msgstr "用戶名稱無效"
 
-#: src/url.c:636
+#: src/url.c:630
 msgid "Unterminated IPv6 numeric address"
 msgstr "未完成的 IPv6 位址"
 
-#: src/url.c:638
+#: src/url.c:632
 msgid "IPv6 addresses not supported"
 msgstr "不支援 IPv6 位址"
 
-#: src/url.c:640
+#: src/url.c:634
 msgid "Invalid IPv6 numeric address"
 msgstr "IPv6 位址無效"
 
-#. parent, no error
-#: src/utils.c:349
+#: src/utils.c:328
 #, c-format
 msgid "Continuing in background, pid %d.\n"
 msgstr "繼續在背景中執行,pid 為 %d。\n"
 
-#: src/utils.c:397
+#: src/utils.c:376
 #, c-format
 msgid "Failed to unlink symlink `%s': %s\n"
 msgstr "無法刪除符號鏈結 '%s': %s\n"
 
-#: src/xmalloc.c:72
+#: src/xmalloc.c:63
 #, c-format
 msgid "%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"
 msgstr "%s:%s:無法分配 %ld 位元組,記憶體已耗盡。\n"
 
+#~ msgid "Error in Set-Cookie, field `%s'"
+#~ msgstr "Set-Cookie 的欄位‘%s’出現錯誤"
+
+#~ msgid "%s (%s) - Connection closed at byte %s/%s. "
+#~ msgstr "%s (%s) - 在 %s/%s 位元組後連線突然中斷。 "
+
+#~ msgid ""
+#~ "%s: %s: Invalid extended boolean `%s';\n"
+#~ "use one of `on', `off', `always', or `never'.\n"
+#~ msgstr ""
+#~ "%s: %s: 邏輯值 ‘%s’ 無效,\n"
+#~ "請使用 ‘always’, ‘on’, ‘off’ 或 ‘never’。\n"
+
+#~ msgid "  -Y,  --proxy                   explicitly turn on proxy.\n"
+#~ msgstr "  -Y,  --proxy                   必定使用代理伺服器\n"
+
+# (Abel) 參考 slat.org
+#~ msgid ""
+#~ "This program is distributed in the hope that it will be useful,\n"
+#~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+#~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+#~ "GNU General Public License for more details.\n"
+#~ msgstr ""
+#~ "本程式係基於使用目的而加以散布,然而不負任何擔保責任;\n"
+#~ "亦無對適售性或特定目的適用性所為的默示性擔保。\n"
+#~ "詳情請參照 GNU 通用公共授權。\n"
+
+#~ msgid "%s: Certificate verification error for %s: %s\n"
+#~ msgstr "%s:檢驗 %s 的憑證時發生錯誤:%s\n"
+
 #~ msgid "Failed writing to proxy: %s.\n"
 #~ msgstr "無法寫入代理伺服器: %s。\n"
 
index d4fc68fd622698e805878ef510c8df68f4d769d6..871a82e79f6c68b27092360bcf9ef5c48d43e8ef 100644 (file)
@@ -1,3 +1,516 @@
+2008-04-12  Rabin Vincent  <rabin@rab.in>
+
+       * mswindows.c (fake_fork_child): Don't create a logfile for
+       --background when --quiet is used, but not --server-response.
+       Fixes bug #20917.
+
+       * utils.c (fork_to_background): Likewise.
+
+2008-04-12  Micah Cowan  <micah@cowan.name>
+
+       * utils.c (aprintf): Minor formatting changes to Alex's code (80-
+       column limit, concatenated string literals, avoiding nesting
+       levels), and removed invocation of free (since we're aborting
+       anyway).
+
+2008-04-11  Alexander Dergachev  <cy6erbr4in@gmail.com>
+
+       * utils.c (aprintf): Now we are setting limits (1 Mb) for text
+       buffer when we use non-C99 vsnprintf.
+       
+2008-04-11  Micah Cowan  <micah@cowan.name>
+
+       * ftp.c (getftp, ftp_loop_internal): Don't append to an existing
+       .listing when --continue is used.  Fixes bug #22825. Thanks to
+       Rabin Vincent <rabin@rab.in> for pointing the way with a
+       suggested fix!
+
+2008-04-10  Alexander Dergachev  <cy6erbr4in@gmail.com>
+
+       * xmalloc.c, xmalloc.h (memfatal): Now exported; accepts an
+       "unknown" value for the attempted allocation size.
+       * utils.c (aprintf): Now calls memfatal, instead of aborting.
+
+2008-03-19  Micah Cowan  <micah@cowan.name>
+
+       * utils.c (test_dir_matches_p): More tests related for
+       dir_matches_p.
+
+2008-03-17  Micah Cowan  <micah@cowan.name>
+
+       * connect.c: Include sys/time.h to support use of the select
+       function on older systems.
+
+2008-02-11  Benno Schulenberg  <bensberg@justemail.net>
+
+       * http.c: More accurate and descriptive messages for when a file
+       won't be retrieved during spider-mode.
+
+2008-02-10  Micah Cowan  <micah@cowan.name>
+
+       * http.c: Added existence_checked member to the http_stat
+       struct.
+       (gethttp): Mark hs->existence_checked when we've checked whether
+       a file-to-download exists; so we don't check it again if the
+       connection gets lost (and potentially pick a new "unique" name).
+       This fixes bug 22251.
+       * progress.c (create_image): Add space for an extra column in
+       the "eta" portion of the progress bar image; to deal with
+       too-long Czech translation.
+       * main.c, http.c, init.c: Added --auth-no-challenge option, to
+       bring back 1.10.2 unsafe auth behavior when needed. This fixes
+       bug #22242.
+
+2008-02-07  Micah Cowan  <micah@cowan.name>
+
+       * progress.c (create_image): Remove assertion on exceeding
+       screen width, which given the less-than-robust code there, can
+       be broken by a number of factors (such as large file downloads).
+
+2008-02-06  Micah Cowan  <micah@cowan.name>
+
+       * progress.c (countcols): Use strlen() when mbtowc or wcwidth
+       not available (or not using NLS).
+       * utils.c: Ensure we use single-byte separators when not doing
+       NLS progress-bars.
+       * wget.h: Determine whether to use NLS for progress-bars, based
+       on whether wcwidth and mbtowc are available.
+
+2008-02-03  Micah Cowan  <micah@cowan.name>
+
+       * progress.c (create_image): Use number of characters/columns
+       consumed, rather than number of bytes, to determine how much of
+       a line we've used. Fixes assertion errors and field alignment
+       bugs (#22161, #20481)
+       (get_eta, count_cols): Added to support the changes for
+       create_image.
+       * http.c (http_loop): Put no-clobber logic back into http_loop,
+       before starting to fetch, for when we're not doing
+       content-disposition.
+
+2008-01-31  Micah Cowan  <micah@cowan.name>
+
+       * http.c (gethttp): Don't derive hs->contlen from possibly
+       invalid/missing Content-Length; instead, get the appropriate
+       value from the Content-Range header values.
+       (parse_content_range): Handle '*' instance-length field.
+
+2008-01-25  Micah Cowan  <micah@cowan.name>
+
+       * main.c: Added notes to translators regarding (C), diacritics
+       in names.
+       * Makefile.am, cmpt.c, connect.c, connect.h, convert.c,
+       cookies.c, cookies.h, ftp-basic.c, ftp-ls.c, ftp-opie.c, ftp.c,
+       ftp.h, gen-md5.c, gen-md5.h, gnutls.c, hash.c, hash.h, host.c,
+       host.h, html-parse.c, html-parse.h, html-url.c, http-ntlm.c,
+       http-ntlm.h, http.c, http.h, init.c, init.h, log.c, log.h,
+       main.c, mswindows.c, mswindows.h, netrc.c, netrc.h, openssl.c,
+       options.h, progress.c, progress.h, ptimer.c, ptimer.h, recur.c,
+       recur.h, res.c, res.h, retr.c, retr.h, spider.c, spider.h,
+       ssl.h, sysdep.h, test.c, test.h, url.c, url.h, utils.c,
+       utils.h, wget.h, xmalloc.c, xmalloc.h: Updated copyright year.
+
+2007-12-10  Micah Cowan  <micah@cowan.name>
+
+       * main.c: The option is --content-disposition, not
+       --no-content-disposition (at the moment).
+
+2007-12-08  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * ftp.c (ftp_retrieve_glob): Print both arguments of fnmatch in
+       fnmatch error message.
+       (ftp_retrieve_glob): Don't match with fnmatch if we're only
+       supposed to get one file.
+
+2007-12-07  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am: Plug in vars to include stuff from
+       $(top_srcdir)/md5 when appropriate.
+
+2007-12-05  Micah Cowan  <micah@cowan.name>
+
+       * utils.c (subdir_p): Handle the case where d1 is "".
+       * convert.c (convert_all_links): Don't return without
+       deallocating timer.
+
+2007-11-28  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am, cmpt.c, connect.c, connect.h, convert.c,
+       convert.h, cookies.c, cookies.h, ftp-basic.c, ftp-ls.c,
+       ftp-opie.c, ftp.c, ftp.h, gen-md5.c, gen-md5.h, gnutls.c,
+       hash.c, hash.h, host.c, host.h, html-parse.c, html-parse.h,
+       html-url.c, http-ntlm.c, http-ntlm.h, http.c, http.h, init.c,
+       init.h, log.c, log.h, main.c, mswindows.c, mswindows.h,
+       netrc.c, netrc.h, openssl.c, options.h, progress.c, progress.h,
+       ptimer.c, ptimer.h, recur.c, recur.h, res.c, res.h, retr.c,
+       retr.h, safe-ctype.c, safe-ctype.h, spider.c, spider.h, ssl.h,
+       sysdep.h, test.c, test.h, url.c, url.h, utils.c, utils.h,
+       wget.h, xmalloc.c, xmalloc.h: Updated license exception for
+       OpenSSL, per the SFLC.
+
+2007-10-30  Micah Cowan  <micah@cowan.name>
+
+       * main.c (main): Declare argv parameter as char **argv, rather
+       than char *const *argv. This fixes usage of getopt_long,
+       regardless of whether getopt_long has a constified argv or not.
+
+2007-10-22  Gisle Vanem  <gvanem@broadpark.no>
+
+       * mswindows.c: Move INHIBIT_WRAP macro definition up with wget.h
+       inclusion.
+
+2007-10-18  Steven Schweda  <sms@antinode.org>
+
+       * sysdep.h: #include <stdint.h> as well as <inttypes.h>, to work
+       around a glitch on Tru64 systems.
+
+2007-10-18  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am: version.c should not be distributed. Removed
+       config-post.h. Add version.c dependency and gnulib include path
+       for libunittest.a.
+       * sysdep.h: Got contents of config-post.h
+       * config-post.h: Removed.
+       * wget.h: #include "config.h".
+       * alloca.c, cmpt.c, connect.c, convert.c, cookies.c,
+       ftp-basic.c, ftp-ls.c, ftp-opie.c, ftp.c, gen-md5.c, gnutls.c,
+       hash.c, host.c, html-parse.c, html-url.c, http-ntlm.c, http.c,
+       init.c, log.c, main.c, mswindows.c, netrc.c, openssl.c,
+       progress.c, ptimer.c, recur.c, res.c, retr.c, spider.c, url.c,
+       utils.c, xmalloc.c: Use wget.h at very top, and instead of
+       config.h.
+
+2007-10-15  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am: Remove intermediary hg-id file generation, make
+       version.c-generation more portable.
+
+2007-10-14  Micah Cowan  <micah@cowan.name>
+
+       * cmpt.c, cookies.c, ftp-basic.c, ftp-ls.c, ftp.c, hash.c,
+       host.c, html-parse.c, html-url.c, http-ntlm.c, http.c, init.c,
+       log.c, main.c, netrc.c, openssl.c, res.c, url.c, utils.c,
+       wget.h: Replace uses of ISSPACE, etc with c_isspace, etc.
+       * gnu-md5.c, gnu-md5.h: Removed, in deference to gnulib.
+       * Makefile.am: Removed gnu-md5.h from wget_SOURCES.
+       * gen-md5.c: Changed #inclusion of gnu-md5.h to md5.h (gnulib's).
+       * recur.c (download_child_p): Print error if unlink of
+       robots.txt fails.
+       * main.c (main): --spider or --delete-after now implies
+       --no-directories (thanks, Josh Williams).
+
+2007-10-14  Joshua David Williams  <yurimxpxman@gmail.com>
+
+       * recur.c (download_child_p): Remove robots.txt if
+       --delete-after or --spider is on.
+
+2007-10-13  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am: Make version.c depend on Wget dependencies (source
+       files, plus such things as LIBOBJS so we get things like
+       http-ntlm.c). Removed getopt.[ch], as we're now using gnulib for
+       these.
+
+2007-10-10  Micah Cowan  <micah@cowan.name>
+
+       * http-ntlm.c: Include openssl/opensslv.h explicitly, instead of
+       hoping it'll be included by accident in openssl/des.h.
+
+2007-10-09  Gisle Vanem  <gvanem@broadpark.no>
+
+       * mswindows.c: 'argc' and 'argv' in 'windows_main()' are no longer
+       needed.  Hence simply the prototype. Free 'exec_name' at exit.
+
+2007-10-09  Micah Cowan  <micah@cowan.name>
+
+       * gettext.h: Imported from /usr/share/gettext, fuller handling
+       of --disable-nls.
+       * wget.h: Remove logic for handling lack of NLS (now in
+       gettext.h).
+       * main.c: Use gettext's ENABLE_NLS rather than HAVE_NLS.
+       * Makefile.am: added @LIBINTL@ to LIBS (though it probably
+       belongs in LDADD, along with everything else currently assigned
+       to LIBS).
+
+2007-10-08  Micah Cowan  <micah@cowan.name>
+
+       * http.c (http_loop): Add send_head_first conditional back
+       around code that needs it, but not around the last-modified
+       header-parsing stuff this time. Removed no-longer-useful (was it
+       ever?) restart_loop boolean, continuing unconditionally at end
+       of send_head_first conditional block (if we haven't jumped out).
+
+2007-10-04  Micah Cowan  <micah@cowan.name>
+
+       * http.c (http_loop): We've got_name if content_disposition
+       support isn't on; make sure we continue properly in that case,
+       even though we're not sending HEAD.
+       * Makefile.in: Removed, replaced by Makefile.am.
+       * Makefile.am: Converted from Makefile.in.
+
+2007-10-02  Gisle Vanem  <gvanem@broadpark.no>
+       
+       * ftp.c: Use "_listing" for MSDOS (".listing" is illegal).
+
+       * url.c: Update comment for 'filechr_not_windows'.
+
+       * utils.c: Include <process.h> for 'getpid()' on Watcom.
+
+2007-10-02  Micah Cowan  <micah@cowan.name>
+
+       * ftp.c (getftp, ftp_loop_internal), http.c (http_loop), main
+       (main): Use datetime_str instead of time_str, for those who have
+       potentially long-running sessions. Based on suggestions by Saso
+       Tomat <miskox@hotmail.com> and Steven M. Schweda
+       <sms@antinode.org>.
+       * http.c (gethttp): Warn about host lookup failures. Adjusted
+       from Stephen Gildea's patch.
+
+2007-10-02  Stephen Gildea  <stepheng+wget@gildea.com>
+
+       * connect.c (connect_to_host): Warn about host lookup failures.
+
+2007-09-25  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.in: Use EXEEXT instead of exeext.
+
+2007-09-24  Gisle Vanem  <giva@bgnett.no>
+
+       * connect.c, init.c, main.c, openssl.c, options.h, sysdep.h,
+       url.c, utils.c: Added support for building on MS-DOS.
+
+2007-09-24  Jochen Roderburg  <roderburg@uni-koeln.de>
+
+       * http.c (http_zero): Remove no-longer-used local_size variable.
+       Fixes bug #21057.
+
+2007-09-12  Micah Cowan  <micah@cowan.name>
+
+       * http.c (http_loop): Remove send_head_first from condition for
+       parsing timestamp.
+
+2007-08-29  Micah Cowan  <micah@cowan.name>
+
+       * openssl.c (ssl_init): Re un-const-ified the meth local
+       variable, to match current versions of openssl.
+       * spider.c: Removed visited_url function, as it may be very
+       inefficient.
+       (print_broken_links): Removed traversal of referrers, until such
+       time as a more efficient implementation can be written.
+       * spider.h: Replaced declaration of visited_url with an
+       empty-bodied, function-like macro.
+
+2007-08-27  Gisle Vanem         <giva@bgnett.no>
+
+       * mswindows.c (run_with_timeout): Ensure that the correct
+       conversion specification is used for the return result of
+       the GetLastError function.
+       * getopt.c: Fix missing (but, accidentally, legal) comment
+       delimiter after licensing text.
+       * recur.c (retrieve_tree): Inserted missing cast for strip_auth.
+       Includes adjustment by Ralf Wildenhues.
+       * openssl.c (ssl_init): const-ified the meth local variable.
+       * main.c: Include all the static function definitions in the
+       "#ifndef TESTING" clause, leaving just the definitions for
+       exec_name (not set), and opt.
+       * utils.c (run_with_timeout): Now returns bool, to align with
+       declaration in utils.h.
+
+2007-08-27  Micah Cowan  <micah@cowan.name>
+
+       * wget.h: Added macro replacement for ngettext, for environs
+       that lack NLS.
+
+2007-08-26  Micah Cowan  <micah@cowan.name>
+
+       * spider.c (print_broken_links): Fixed incorrect plurals msgid
+       usage, switched to use ngettext function.
+
+2007-08-24  Micah Cowan  <micah@cowan.name>
+
+       * http.c (http_loop): Introduced time_came_from_head boolean
+       flag, to help avoid parsing the same Last-Modified header twice.
+       Replaced spidering returns of RETRUNNEEDED for some situations,
+       to RETROK, as otherwise it will be interpreted as an error.
+       RETRUNNEEDED appears never to be referenced outside of
+       http.c (and wget.h), and, when returned by gethttp, is
+       translated by http_loop to RETROK.
+       * url.c (are_urls_equal): Don't call getchar_from_escaped_string
+       if u2 is shorter than u1.
+       (getchar_from_escaped_string): Don't decode reserved characters.
+       Handle illegally appearing '%'s as literal '%'s. Ensure hex
+       digits before attempting to decode.
+       (test_are_urls_equal): Added tests to handle u2 shorter than u1,
+       and %2f not treated the same as /.
+       * spider.c (in_url_list_p): Don't call are_urls_equal if one of
+       them is NULL.
+
+2007-08-23  Joshua David Williams  <yurimxpxman@gmail.com>
+
+       * spider.c (in_url_list_p): Removed the bool verbose argument
+
+2007-08-22  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * http.c (http_loop): Fall back to GET if HEAD fails with a 500 or 501
+       error code.
+
+2007-08-21  Mauro Tortonesi  <mauro@ferrara.linux.it>
+       
+       * http.c (http_loop): Send preliminary HEAD request if -N is given and
+       the destination file exists already.
+
+2007-08-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * http.c (http_loop): Fixed HTTP HEAD requests logic when --spider is
+       given.
+
+2007-08-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * url.c (append_uri_pathel): Do not assume dest string to be
+       zero-terminated.
+       (test_append_uri_pathel): Terminate string to fix test failure.
+
+2007-08-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * url.c (url_string): Use comparison, not assignment, in
+       check for auth_mode == URL_AUTH_HIDE_PASSWD.
+
+2007-08-09  Micah Cowan  <micah@cowan.name>
+
+       * http.c (http_loop): If we got a HEAD and then a GET, and the
+       GET had a timestamp, use that one, not any we may have gotten
+       from the HEAD.
+
+2007-08-08  Micah Cowan  <micah@cowan.name>
+
+       * init.c (defaults): Content disposition will not be default,
+       since it currently results in extra round-trips.
+
+2007-07-31  Micah Cowan  <micah@cowan.name>
+
+       * http.c (gethttp): Set contlen = -1 when we encounter a
+       negative-valued Content-Length header, so we don't consider it
+       an internal error later on and call abort().
+
+2007-07-29  Micah Cowan  <micah@cowan.name>
+
+       * url.h, url.c (url_string): Replaced bool arg of the url_string
+       function with enum url_auth_mode, with added option to
+       completely remove user/pass auth information.
+       * http.c, ftp.c, url.c, recur.c: Adapted call to url_string
+       function to fit new usage.
+       * recur.c (retrieve_tree): Remove auth info from Referer header.
+
+2007-07-28  Micah Cowan  <micah@cowan.name>
+
+       * options.h, init.c, retr.c, main.c: renamed opt maxredirect
+       field to max_redirect, for improved consistency.
+       * init.c: changed max_redirect parser from cmd_number_inf to
+       cmd_number, as infinite redirects may not be appropriate.
+       Alternatively, if cmd_number_inf should be used, then
+       opt.max_redirect's value should be checked a bit differently in
+       retr.c, to allow for the "infinite" meaning of zero.
+
+2007-07-25  Micah Cowan  <micah@cowan.name>
+
+       * http.c (create_authorization_line)
+       (basic_authentication_encode, known_authentication_scheme_p)
+       (load_cookies): Moved declarations up.
+       (basic_authed_hosts): Added. Tracks what hosts have issued Basic
+       challenge and been given the global username, password.
+       (maybe_send_basic_creds): Added. Sends Basic creds for hosts that
+       have issued Basic challenges.
+       (register_basic_auth_host): Added. Instantiates
+       basic_authed_hosts if necessary, then registers the host that
+       has issued a challenge.
+       (gethttp) <auth>: Only send authentication credentials after
+       we've received a challenge from that host. This is a stop-gap
+       fix until a proper fix can be implemented; still isn't quite
+       right, as we should only be sending credentials automatically
+       for authenticated paths and below, and not for the entire host.
+
+2007-07-16  Joshua David Williams  <yurimxpxman@gmail.com>
+
+       * options.h: added maxredirect to options struct
+       * init.c: added maxredirect to list of variables
+       * retr.c (retrieve_url): replaced MAX_REDIRECTIONS with opt.maxredirect
+       * main.c: added option --max-redirect
+
+2007-07-16  Joshua David Williams  <yurimxpxman@gmail.com>
+
+       * test.h: tests made more verbose; now displays the name
+       of each test run.
+
+2007-07-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * http.c (http_loop): Fixed the HTTP requests logic. Now it skips the 
+       preliminary HEAD request if either -O or --no-content-disposition are 
+       given, and neither --spider and -N are given.
+
+2007-07-05  Micah Cowan  <micah@cowan.name>
+
+       * cmpt.c, connect.c, connect.h, convert.c, convert.h:
+       * cookies.c, cookies.h, ftp-basic.c, ftp.c, ftp.h, ftp-ls.c:
+       * ftp-opie.c, gen-md5.c, gen-md5.h, getopt.c, getopt.h, gnu-md5.c:
+       * gnu-md5.h, gnutls.c, hash.c, hash.h, host.c, host.h:
+       * html-parse.c, html-parse.h, html-url.c, http.c, http.h:
+       * http-ntlm.c, http-ntlm.h, init.c, init.h, log.c, log.h, main.c:
+       * Makefile.in, mswindows.c, mswindows.h, netrc.c, netrc.h:
+       * openssl.c, options.h, progress.c, progress.h, ptimer.c:
+       * ptimer.h, recur.c, recur.h, res.c, res.h, retr.c, retr.h:
+       * safe-ctype.c, safe-ctype.h, spider.c, spider.h, ssl.h, sysdep.h:
+       * test.c, test.h, url.c, url.h, utils.c, utils.h, wget.h:
+       * xmalloc.c, xmalloc.h:
+       Updated GPL reference to version 3 or later, removed FSF
+       address.
+
+2007-07-04  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * http.c (http_loop): Skip HEAD request and start immediately with GET
+       if -O is given.
+
+2007-02-02  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * http.c (print_server_response): Escape non-printable characters
+       in server respone.
+
+2007-02-02  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * netrc.c: Don't make netrc_list static, as it prevents
+       compilation with DEBUG_MALLOC.
+
+       * utils.c (aprintf): Don't use vasprintf when DEBUG_MALLOC is
+       requested because, in that case, we want the calls to malloc to be
+       coming from us.
+
+2007-01-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * cookies.c (parse_set_cookie): Would erroneously discard cookies
+       with unparsable expiry time.
+
+2007-01-23  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * progress.c (create_image): Check for ETA overflow.
+       (print_row_stats): Ditto.
+
+2007-01-09  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * init.c (cmd_spec_prefer_family): Small fix to get rid of a gcc
+       warning about strict-aliasing violation.
+
+2007-01-09  Steven M. Schweda  <sms@antinode.org>
+
+       * ftp-basic.c (ftp_syst): Fixed segfault if response text is missing.
+
+2006-12-29  Gisle Vanem  <giva@bgnett.no>
+
+       * mswindows.c: Avoid a warning if 'ws_hangup()' is unused.
+
+2006-12-27  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * http.c (parse_content_disposition): Consider directory prefix, if
+       specified.
+
 2006-11-21  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * retr.c (retrieve_from_file): Ditto.
        before statements.
 
 2003-10-02  Gisle Vanem  <giva@bgnett.no>
-        
-        * mswindows.c (run_with_timeout): For Windows: Run the 'fun' in a
+       
+       * mswindows.c (run_with_timeout): For Windows: Run the 'fun' in a
        thread via a helper function. Continually query the thread's
        exit-code until finished or timed out.
 
 2001-02-23  Dan Harkless  <wget@harkless.org>
 
        * main.c (print_help): --help documentation for -N said it would
-       re-download files if they had the _same_ timestamp on server.
+       re-download files if they had the _same_ timestamp on server.
        (print_help): -nr belongs in "FTP options" section of --help
        output, not "Recursive retrieval" section.  Alphabetized FTP
        options by long option name.
 2001-02-16  Dan Harkless  <wget@harkless.org>
 
        * init.c (commands): Hack Kampbjørn <hack@hackdata.com> discovered
-       that "httpsproxy" had been inserted into commands[] out of
-       alphabetical order, causing "BUG: unknown command `httpuser'".
+       that "httpsproxy" had been inserted into commands[] out of
+       alphabetical order, causing "BUG: unknown command `httpuser'".
 
 2001-02-13  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
 
 
 2001-02-08  Christian Fraenkel <christian.fraenkel@gmx.net>
 
-        * gen_sslfunc.c: verify_callback is now static
+       * gen_sslfunc.c: verify_callback is now static
 
-        * gen_sslfunc.c (init_ssl): load certificate if specified
+       * gen_sslfunc.c (init_ssl): load certificate if specified
 
-        * gen_sslfunc.c (ssl_printerr): new function
+       * gen_sslfunc.c (ssl_printerr): new function
 
-        * init.c: added new --sslcertfile and --sslcertkey switches
+       * init.c: added new --sslcertfile and --sslcertkey switches
 
-        * main.c: ditto
+       * main.c: ditto
 
-        * options.h: ditto
+       * options.h: ditto
 
-        * http.c (gethttp): abort when init_ssl fails
+       * http.c (gethttp): abort when init_ssl fails
 
 2001-01-23  Herold Heiko  <Heiko.Herold@previnet.it>
 
 2001-01-09  Dan Harkless  <wget@harkless.org>
 
        * html-url.c: A bunch of fixup of `--page-requisites'-related
-       comments to reflect Hrvoje's changes to my code when transplanting
-       it into this new file, to fix spelling mistakes, to clarify, etc.
+       comments to reflect Hrvoje's changes to my code when transplanting
+       it into this new file, to fix spelling mistakes, to clarify, etc.
 
        * url.c (write_backup_file): Clarified a comment.
        (str_url): Henrik van Ginhoven pointed out on the list that we
        replacing each character with a 'x'.  Use "<password>" instead.
 
        * ftp.c (ftp_retrieve_dirs): The bug where recursion into FTP
-       directories didn't work if logging in put you in a directory other
-       than "/" is fixed now.  Removed the comment here warning of the bug.
+       directories didn't work if logging in put you in a directory other
+       than "/" is fixed now.  Removed the comment here warning of the bug.
 
        * main.c (print_help): --continue's description was misleading.
-       We don't "restart", we "resume".  Also, better to say
-       "partially-downloaded file" rather than just "existing file".
+       We don't "restart", we "resume".  Also, better to say
+       "partially-downloaded file" rather than just "existing file".
 
 2001-01-06  Dan Harkless  <wget@harkless.org>
 
 
 2000-11-30  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
 
-        * ftp-ls.c (ftp_parse_unix_ls): Added second parameter
-        "ignore_perms" to ignore file and directory permissions for
-        Windows NT FTP server listings.
-        (ftp_parse_winnt_ls): New function.
-        (ftp_parse_ls): Parses UNIX and Windows NT listings
-        separately. Simple heuristics for distinguishing between UNIX
-        and MS-DOS-like FTP listing provided by Windows NT FTP service.
+       * ftp-ls.c (ftp_parse_unix_ls): Added second parameter
+       "ignore_perms" to ignore file and directory permissions for
+       Windows NT FTP server listings.
+       (ftp_parse_winnt_ls): New function.
+       (ftp_parse_ls): Parses UNIX and Windows NT listings
+       separately. Simple heuristics for distinguishing between UNIX
+       and MS-DOS-like FTP listing provided by Windows NT FTP service.
 
 2000-11-29  John Summerfield  <summer@OS2.ami.com.au>
 
 2000-10-27  Dan Harkless  <wget@harkless.org>
 
        * retr.c (retrieve_url): Manually applied T. Bharath
-       <TBharath@responsenetworks.com>'s patch to get wget to grok
-       illegal relative URL redirects.  Reformatted and re-commented it.
+       <TBharath@responsenetworks.com>'s patch to get wget to grok
+       illegal relative URL redirects.  Reformatted and re-commented it.
 
 2000-10-23  Dan Harkless  <wget@harkless.org>
 
        * connect.c (make_connection and bindport): Manually applied Rob
-       Mayoff <mayoff@dqd.com>'s 1.5.3 patch to add --bind-address,
-       changing coding style to GNU's.
+       Mayoff <mayoff@dqd.com>'s 1.5.3 patch to add --bind-address,
+       changing coding style to GNU's.
 
        * ftp.c (ftp_loop_internal): --delete-after wasn't implemented for
-       files downloaded via FTP.  Per a comment, .listing files were not
+       files downloaded via FTP.  Per a comment, .listing files were not
        counted towards number of bytes and files downloaded because they're 
        deleted anyway.  Well, they aren't under -nr, so count them then.
 
        * init.c: Manually applied Rob Mayoff's 1.5.3 patch to add
-       --bind-address, alphabetizing, changing coding style to GNU's,
-       commenting, and renaming cmd_ip_address() to cmd_address() to
-       imply hostnames also okay.
+       --bind-address, alphabetizing, changing coding style to GNU's,
+       commenting, and renaming cmd_ip_address() to cmd_address() to
+       imply hostnames also okay.
                
        * main.c (main): --delete-after didn't delete the root of the
-       tree.  Ignore --convert-links if --delete-after was specified.
-       Manually applied Rob Mayoff's 1.5.3 patch to add --bind-address,
-       fixing duplicate use of added-since-1.5.3 case value.
+       tree.  Ignore --convert-links if --delete-after was specified.
+       Manually applied Rob Mayoff's 1.5.3 patch to add --bind-address,
+       fixing duplicate use of added-since-1.5.3 case value.
        (print_help): Clarified that --delete-after deletes local files.
        Rob forgot to add a line for his new --bind-address option.
                
        * ftp.c (ftp_retrieve_list): Use new INFINITE_RECURSION #define.
        
        * html.c: htmlfindurl() now takes final `dash_p_leaf_HTML' parameter.
-       Wrapped some > 80-column lines.  When -p is specified and we're at a 
+       Wrapped some > 80-column lines.  When -p is specified and we're at a 
        leaf node, do not traverse <A>, <AREA>, or <LINK> tags other than 
        <LINK REL="stylesheet">.
        
        * options.h (struct options): Added new page_requisites field.
 
        * recur.c: Changed "URL-s" to "URLs" and "HTML-s" to "HTMLs".
-       Calculate and pass down new `dash_p_leaf_HTML' parameter to
-       get_urls_html().  Use new INFINITE_RECURSION #define.
+       Calculate and pass down new `dash_p_leaf_HTML' parameter to
+       get_urls_html().  Use new INFINITE_RECURSION #define.
 
        * retr.c: Changed "URL-s" to "URLs".  get_urls_html() now takes
        final `dash_p_leaf_HTML' parameter.
 2000-05-22  Dan Harkless  <wget@harkless.org>
 
        * main.c (print_help): Added --help line for Damir Dzeko
-       <ddzeko@zesoi.fer.hr>'s until-now-undocumented --referer option.
-       Removed comments that --referer and --waitretry were undocumented.
-       Changed "`.wgetrc' command" to "`.wgetrc'-style command" on --help
-       line for --execute.
+       <ddzeko@zesoi.fer.hr>'s until-now-undocumented --referer option.
+       Removed comments that --referer and --waitretry were undocumented.
+       Changed "`.wgetrc' command" to "`.wgetrc'-style command" on --help
+       line for --execute.
 
 2000-05-18  Hrvoje Niksic  <hniksic@iskon.hr>
 
        braces to avoid ambiguous `else'" warnings.  Eliminated them.
        
        * http.c (gethttp): Dan Berger's query string patch is totally
-       bogus.  If you have two different URLs, gen_page.cgi?page1 and
-       get_page.cgi?page2, they'll both be saved as get_page.cgi and the
-       second will overwrite the first.  Also, parameters to implicit
-       CGIs, like "http://www.host.com/db/?2000-03-02" cause the URLs to
-       be printed with trailing garbage characters, and could seg fault.
-       Backing out the patch, which Dan B. informed me by email was just
-       a kludge to download StarOffice from Sun made necessary due to
-       wget's unconditional escaping of certain characters (room for an
-       option there?).
+       bogus.  If you have two different URLs, gen_page.cgi?page1 and
+       get_page.cgi?page2, they'll both be saved as get_page.cgi and the
+       second will overwrite the first.  Also, parameters to implicit
+       CGIs, like "http://www.host.com/db/?2000-03-02" cause the URLs to
+       be printed with trailing garbage characters, and could seg fault.
+       Backing out the patch, which Dan B. informed me by email was just
+       a kludge to download StarOffice from Sun made necessary due to
+       wget's unconditional escaping of certain characters (room for an
+       option there?).
        (http_loop): Heiko introduced "suggest explicit braces to avoid
-       ambiguous `else'" warnings.  Eliminated them.
+       ambiguous `else'" warnings.  Eliminated them.
        
        * main.c: Heiko's --wait / --waitretry backwards compatibility
        code looks to have been totally untested -- automatic variable
        
        * http.c (http_loop): Fixed a typo and clarified a comment.
        (http_loop): When -K and -N are specified together, compare size
-       and timestamp of server file X against local file X.orig (if
-       extant) rather than converted local file X.
+       and timestamp of server file X against local file X.orig (if
+       extant) rather than converted local file X.
        (http_loop): "Local file '%s' is more recent," is sometimes a lie
-       -- reworded as "Server file no newer than local file '%s' --".
+       -- reworded as "Server file no newer than local file '%s' --".
        (http_loop): Call new downloaded_file() function to prevent
        wrongful overwriting of .orig file when -N is specified.
        
        * url.c (convert_links): When -K specified, only rename X to
-       X.orig if downloaded_file() returns TRUE.  Otherwise when we skip
-       file X due to -N, we clobber an X.orig from a previous invocation.
+       X.orig if downloaded_file() returns TRUE.  Otherwise when we skip
+       file X due to -N, we clobber an X.orig from a previous invocation.
        (convert_links): Call the failsafe xstrdup(), not the real strdup().
        (convert_links): Added a note asking anyone who understands how
        multiple URLs can correspond to a single file to comment it.
 1998-09-10  Howard Gayle  <howard@fjst.com>
 
        * url.c (get_urls_html): Would drop the last character of the
-       link.
+       link.
 
 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
 
 1998-06-16  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (get_urls_html): Use malloc() instead of alloca in the
-       loop.
+       loop.
 
 1998-06-13  Hrvoje Niksic  <hniksic@srce.hr>
 
 1998-05-27  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (getftp): Added `break'; suggested by Lin Zhe Min
-       <ljm@ljm.wownet.net>.
+       <ljm@ljm.wownet.net>.
 
 1998-05-24  Hrvoje Niksic  <hniksic@srce.hr>
 
 1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>
 
        * http.c (parse_http_status_line): Avoid `minor' and `major'
-       names.
+       names.
 
 1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>
 
        (numdigit): Use `while' loop.
 
        * http.c (create_authorization_line): Detect authentication
-       schemes case-insensitively.
+       schemes case-insensitively.
 
        * http.c (extract_header_attr): Use strdupdelim().
        (digest_authentication_encode): Move declaration of local
-       variables to smaller scope.
+       variables to smaller scope.
        (digest_authentication_encode): Reset REALM, OPAQUE and NONCE.
        (create_authorization_line): Detect authentication schemes
        case-insensitively.
        * headers.c (header_get): New argument FLAGS.
 
        * http.c (gethttp): If request is malformed, bail out of the
-       header loop.
+       header loop.
        (gethttp): Check for empty header *after* the status line checks.
        (gethttp): Disallow continuations for status line.
 
        * utils.c (mkdirhier): Use 0777 instead of opt.dirmode.
 
        * init.c (cmd_spec_dotstyle): Use 48 dots per line for binary
-       style.
+       style.
        (cmd_permissions): Removed.
 
        * config.h.in: Add template for WORDS_BIGENDIAN.
 1998-03-17  Hrvoje Niksic  <hniksic@srce.hr>
 
        * utils.c (memfatal): Set save_log_p to 0 to avoid potential
-       infloop.
+       infloop.
 
        * log.c: do_logging -> save_log_p.
 
 1998-03-07  Tim Adam  <tma@osa.com.au>
 
        * recur.c (parse_robots): Correctly reset `entries' on empty
-       disallow.
+       disallow.
 
 1998-03-07  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (add_url): Add to the head of the list.
 
        * ftp.c (ftp_retrieve_list): Set the permissions to downloaded
-       file.
+       file.
        (getftp): Set the default permissions to 0600.
 
 1998-02-21  Hrvoje Niksic  <hniksic@srce.hr>
        * wget.h (FREE_MAYBE): New macro.
 
        * http.c (create_authorization_line): Don't use ANSI C string
-       concatenation feature.
+       concatenation feature.
        (basic_authentication_encode): Use alloca() for temporary
-       variables.
+       variables.
 
        * recur.h: Ditto.
 
        (calculate_skey_response): Use alloca().
 
        * http.c (create_authorization_line): Work with FSF's version of
-       md5.c.
+       md5.c.
 
        * md5.c: New file, from GNU libc.
 
        * ftp.c (ftp_loop): Determine `filename' more precisely.
 
        * init.c (setval): Don't set `opt.quiet' if output-document is
-       `-'.
+       `-'.
 
        * log.c (log_init): Print to STDERR instead of STDOUT.
        (vlogmsg): Use STDERR by default.
 
        * main.c (print_help): Rearranged.
        (main): New long options for -n* short options: --no-directories,
-       --no-host-directories, --non-verbose, --no-host-lookup and
-       --dont-remove-listing.
+       --no-host-directories, --non-verbose, --no-host-lookup and
+       --dont-remove-listing.
 
 1998-02-01  Hrvoje Niksic  <hniksic@srce.hr>
 
        * log.c: New variable LOGFP.
        (vlogmsg): Use it.
        (redirect_output): Don't open /dev/null; set LOGFP to stdin
-       instead.
+       instead.
        (log_close): New function.
 
        * options.h (struct options): Removed LFILE.
 
        * host.c (ftp_getaddress): Use STRDUP_ALLOCA.
        (ftp_getaddress): Add diagnostics when reverse-lookup yields only
-       hostname.
+       hostname.
 
 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
 
        * utils.c (proclist): Pass FNM_PATHNAME to fnmatch().
 
        * ftp-basic.c (ftp_pasv): Avoid unnecessary casting to unsigned
-       char.
+       char.
 
        * log.c: Don't attempt to hide arguments from ansi2knr.
 
        * http.c (gethttp): Use it.
 
        * retr.c (get_contents): New argument EXPECTED; pass it to
-       show_progress().
+       show_progress().
        (show_progress): New argument EXPECTED; use it to display
-       percentages.
+       percentages.
 
        * init.c (setval): Ditto.
 
        * all: Use them.
 
        * sysdep.h: Add wrappers to ctype macros to make them
-       eight-bit-clean:
+       eight-bit-clean:
 
 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
 
 1997-02-27  Fila Kolodny <fila@ibi.com>
 
        * ftp.c (ftp_retrieve_list): If retrieving symlink and the proper
-       one already exists, just skip it.
+       one already exists, just skip it.
 
 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
 
        (haccepts_none): Ditto.
 
        * main.c (main): Updated `--version' and `--help' output, as per
-       Francois Pinard's suggestions.
+       Francois Pinard's suggestions.
 
        * main.c: Include locale.h; call setlocale(), bindtextdomain() and 
        textdomain().
        * mswindows.c (ws_hangup): Use redirect_output().
 
        * main.c (redirect_output_signal): New function; use
-       redirect_output().
+       redirect_output().
 
        * log.c (redirect_output): New function, based on hangup(), which
        is deleted.
 1998-01-24  Karl Heuer  <kwzh@gnu.org>
 
        * netrc.c (search_netrc): Initialize `l' only after processing
-       netrc.
+       netrc.
 
        * main.c (main): Don't trap SIGHUP if it's being ignored.
 
        (buf_fd): Ditto.
 
        * http.c (fetch_next_header): Use the BUF_READCHAR macro for
-       efficiency.
+       efficiency.
        (gethttp): Use alloca() where appropriate.
 
        * retr.c (buf_readchar): Use it.
 1997-12-18  Hrvoje Niksic  <hniksic@srce.hr>
 
        * all: Renamed nmalloc(), nrealloc() and nstrdup() to xmalloc(),
-       xrealloc() and xstrdup().  Use the new functions.
+       xrealloc() and xstrdup().  Use the new functions.
 
        * url.c (decode_string): Made static.
        (has_proto): Ditto.
 1997-06-12  Hrvoje Niksic  <hniksic@srce.hr>
 
        * cmpt.c (strptime_internal): Handle years more correctly for
-       `%y'.
+       `%y'.
 
 1997-06-09  Mike Thomas <mthomas@reality.ctron.com>
 
 
        * http.c (check_end): New function.
        (http_atotm): Use it.
+
 1997-02-13  gilles Cedoc  <gilles@cedocar.fr>
 
        * http.c (gethttp): Use them.
 1997-02-10  Hrvoje Niksic  <hniksic@srce.hr>
 
        * recur.c (recursive_retrieve): Lowercase the host name, if the
-       URL is not "optimized".
+       URL is not "optimized".
 
        * host.c (realhost): Return l->hostname, even if it matches with
-       host.
+       host.
 
 1997-02-10  Marin Purgar  <pmc@asgard.hr>
 
        (skip_proto): Skip `//' correctly for FTP and HTTP.
 
        * url.c (get_urls_html): Handle bogus `http:' things a little
-       different.
+       different.
 
        * main.c (main): Removed `follow-ftp' from `f'.
        (main): Dumped the `prefix-files' and `file-prefix' options and
-       features; old and bogus.
+       features; old and bogus.
        (main): Exit on failed setval() in `-e'.
 
        * http.c (fetch_next_header): Use it to detect header continuation
-       correctly.
+       correctly.
 
        * retr.c (buf_peek): New function.
 
        * url.c (parseurl): New argument STRICT.
 
        * http.c (hparsestatline): Be a little-bit less strict about
-       status line format.
+       status line format.
 
 1997-01-21  Hrvoje Niksic  <hniksic@srce.hr>
 
        * version.c: "Released" 1.4.3-pre2.
 
        * recur.c (recursive_retrieve): Bypass host checking only if URL
-       is ftp AND parent URL is not ftp.
+       is ftp AND parent URL is not ftp.
 
        * ftp-basic.c (ftp_request): Print out Turtle Power.
 
        * ftp.c (ftp_loop): Call ftp_retrieve_glob with 0 if there's no
-       wildcard.
+       wildcard.
        (ftp_retrieve_glob): Call ftp_loop_internal even on empty list, if
-       not glob.
+       not glob.
 
        * http.c (gethttp): Be a little bit smarter about status codes.
 
        * recur.c (recursive_retrieve): Always reset opt.recursive when
-       dealing with FTP.
+       dealing with FTP.
 
 1997-01-18  Hrvoje Niksic  <hniksic@srce.hr>
 
        * retr.c (retrieve_url): New variable location_changed; use it for
-       tests instead of mynewloc.
+       tests instead of mynewloc.
        (retrieve_url): Allow heuristic adding of html.
 
        * url.c (url_filename): Don't use the `%' in Windows file names.
        * utils.c (my_touch): New function.
 
        * ftp.c (ftp_retrieve_list): Use #ifdef HAVE_STRUCT_UTIMBUF
-       instead of #ifndef NeXT.
+       instead of #ifndef NeXT.
 
        * utils.c (strptime): New version, by Ulrich Drepper.
 
 1997-01-15  Hrvoje Niksic  <hniksic@srce.hr>
 
        * html.c (ftp_index): Don't print minutes and seconds if we don't
-       know them; beautify the output.
+       know them; beautify the output.
 
        * ftp.c (getftp): Don't close the socket on FTPNSFOD.
 
        (ftp_parse_ls): Moved from ftp.c.
        (ftp_parse_unix_ls): Recognize seconds in time spec.
        (ftp_parse_unix_ls): Recognize year-less dates of the previous
-       year.
+       year.
 
 1997-01-08  Hrvoje Niksic  <hniksic@srce.hr>
 
 1996-12-23  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c: Recognize finger, rlogin, tn3270, mid and cid as valid
-       schemes.
+       schemes.
 
 1996-12-22  Hrvoje Niksic  <hniksic@srce.hr>
 
 1996-12-17  Hrvoje Niksic  <hniksic@srce.hr>
 
        * retr.c (retrieve_url): Reset opt.recursion before calling
-       ftp_loop if it is reached through newloc.
+       ftp_loop if it is reached through newloc.
 
        * init.c (run_wgetrc): Print the wgetrc path too, when reporting
-       error; don't use "Syntax error", since we don't know if it is
-       really a syntax error.
+       error; don't use "Syntax error", since we don't know if it is
+       really a syntax error.
 
 1996-12-16  Hrvoje Niksic  <hniksic@srce.hr>
 
        * utils.c (acceptable): Extract the filename part of the path.
 
        * recur.c (recursive_retrieve): Call acceptable() with the right
-       argument; would bug out on wildcards.
+       argument; would bug out on wildcards.
 
        * init.c (parse_line): Likewise.
 
        * url.c (parseurl): Debug output.
 
        * utils.c (path_simplify): New one, adapted from bash's
-       canonicalize_pathname().
+       canonicalize_pathname().
 
 1996-12-14  Hrvoje Niksic  <hniksic@srce.hr>
 
 1996-12-13  Hrvoje Niksic  <hniksic@srce.hr>
 
        * init.c: Make excludes and includes under CVECDIR instead of
-       CVEC.
+       CVEC.
 
 1996-12-13  Shawn McHorse  <riffraff@txdirect.net>
 
 1996-12-12  Shawn McHorse  <riffraff@txdirect.net>
 
        * recur.c (retrieve_robots): Print the warning message only if
-       verbose.
+       verbose.
 
 1996-12-12  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
 
 1996-12-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * (configure.in, config.h.in, src/Makefile.in, src/*.[ch]): Add
-       ansi2knr support for compilers which don't support ANSI style
-       function prototypes and signatures.
+       ansi2knr support for compilers which don't support ANSI style
+       function prototypes and signatures.
 
        * (aclocal.m4, src/ansi2knr.c, src/ansi2knr.1): New files.
 
 1996-11-26  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c: Use it; Recognize paths ending with "." and ".." as
-       directories.
+       directories.
        (url_filename): Append .n whenever file exists and could be a
-       directory.
+       directory.
 
        * url.h (ISDDOT): New macro.
 
        * init.c (parse_line): Use unsigned char.
 
        * url.c (get_urls_html): Cast to unsigned char * when calling
-       htmlfindurl.
+       htmlfindurl.
 
        * html.c (htmlfindurl): Use unsigned char.
 
        * ftp.c (getftp): Simplified assertion.
        (ftp_loop_internal): Remove symlink before downloading.
        (ftp_retrieve_list): Unlink the symlink name before attempting to
-       create a symlink!
+       create a symlink!
 
        * options.h (struct options): Renamed print_server_response to
-       server_response.
+       server_response.
 
        * ftp.c (rel_constr): Removed.
        (ftp_retrieve_list): Don't use it.
 1996-11-24  Hrvoje Niksic  <hniksic@srce.hr>
 
        * http.c (http_loop): Reset newloc in the beginning of function;
-       would cause FMR in retrieve_url.
+       would cause FMR in retrieve_url.
 
 1996-11-23  Hrvoje Niksic  <hniksic@srce.hr>
 
        * recur.c (convert_all_links): Find the URL of each HTML document,
-       and feed it to get_urls_html; would bug out.
+       and feed it to get_urls_html; would bug out.
        (convert_all_links): Check for l2 instead of dl; removed dl.
 
        * url.c (convert_links): Don't refer to freed newname.
        * Makefile.in (wget): Make `wget' the default target.
 
        * ftp.c (ftp_loop_internal): Move noclobber checking out of the
-       loop.
+       loop.
        (ftp_retrieve_list): Warn about non-matching sizes.
 
        * http.c (http_loop): Made -nc non-dependent on opt.recursive.
 1996-11-21  Shawn McHorse  <riffraff@txdirect.net>
 
        * html.c (htmlfindurl): Reset s->in_quote after getting out of
-       quotes.
+       quotes.
 
 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
 
        * init.c: New command htmlify.
 
        * ftp.c (getftp): Nicer error messages, with `'-encapsulated
-       strings.
+       strings.
        (ftp_loop): Print size of index.html.
 
        * init.c (setval): Implement "styles".
 
 1996-11-19  Hrvoje Niksic  <hniksic@srce.hr>
 
-        * ftp.c (getftp): Close the master socket in case of errors, after
-        bindport().
+       * ftp.c (getftp): Close the master socket in case of errors, after
+       bindport().
 
-        * connect.c (bindport): Initialize msock to -1.
+       * connect.c (bindport): Initialize msock to -1.
 
-        * ftp.c (getftp): Initialize dtsock to -1.
+       * ftp.c (getftp): Initialize dtsock to -1.
 
-        * connect.c (closeport): Don't close sock if sock == -1.
+       * connect.c (closeport): Don't close sock if sock == -1.
 
 1996-11-18  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (getftp): Initialize con->dltime.
 
        * recur.c (recursive_retrieve): Use same_host instead of
-       try_robots; simply load robots_txt whenever the host is changed.
+       try_robots; simply load robots_txt whenever the host is changed.
        (recursive_retrieve): Free forbidden before calling parse_robots.
 
 1996-11-16  Hrvoje Niksic  <hniksic@srce.hr>
        * retr.c (show_progress): Use them.
 
        * options.h (struct options): New options dot_bytes, dots_on_line
-       and dot_spacing.
+       and dot_spacing.
 
 1996-11-16  Mark Boyns  <boyns@sdsu.edu>
 
        * recur.c (recursive_retrieve): Retrieve directories regardless of
-       acc/rej rules; check for empty u->file.
+       acc/rej rules; check for empty u->file.
 
 1996-11-14  Hrvoje Niksic  <hniksic@srce.hr>
 
        * utils.c (merge_vecs): New function.
 
        * init.c (setval): Reset the list-type functions when encountering
-       "".
+       "".
 
 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
 
        * recur.c (recursive_retrieve): Use base_url instead of this_url
-       for no_parent.
+       for no_parent.
 
 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
 
        * utils.c (sepstring): Rewrote; don't use strtok.
 
        * recur.c (recursive_retrieve): Enter assorted this_url to slist
-       when running the first time.
+       when running the first time.
        (retrieve_robots): Warn to ignore errors when robots are loaded.
 
        * utils.c (load_file): Moved from url.c.
        * ftp.c (ftp_retrieve_dirs): Implemented opt.includes.
 
        * init.c (setval): Free the existing opt.excludes and
-       opt.includes, if available.
+       opt.includes, if available.
 
        * main.c (main): New option -I.
 
        * http.c (gethttp): Free all_headers -- would leak.
 
        * recur.c (recursive_retrieve): Initialize depth to 1 instead of
-       0 -- this fixes a long-standing bug in -rl.
+       0 -- this fixes a long-standing bug in -rl.
 
 1996-11-09  Hrvoje Niksic  <hniksic@srce.hr>
 
 1996-11-08  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (url_filename): Do not create numbered suffixes if
-       opt.noclobber -- would bug out on -nc.
+       opt.noclobber -- would bug out on -nc.
 
 1996-11-07  Hrvoje Niksic  <hniksic@srce.hr>
 
        * recur.c (parse_robots): Don't chuck out the commands without
-       arguments (`Disallow:<empty>' didn't work).
+       arguments (`Disallow:<empty>' didn't work).
        (parse_robots): Compare versions lowercase.
        (parse_robots): Match on base_version, not version_string!
        (parse_robots): Handle comments properly.
        * init.c (run_wgetrc): Close fp.
 
        * ftp.c (ftp_retrieve_dirs): Allocate the correct length for
-       u->dir.
+       u->dir.
 
 1996-11-06  Hrvoje Niksic  <hniksic@srce.hr>
 
        (ftp_retrieve_glob): Return QUOTEXC on quota exceeded.
 
        * main.c (main): Check for quota by comparison with downloaded
-       stuff, not from status.
+       stuff, not from status.
 
        * connect.c (select_fd): Should compile on HPUX without warnings now.
 
        * ftp.c (ftp_get_listing): Check whether ftp_loop_internal
-       returned RETROK.
+       returned RETROK.
 
 1996-11-04  Hrvoje Niksic  <hniksic@srce.hr>
 
 1996-11-02  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (ftp_loop): Check for opt.ftp_glob too before calling
-       ftp_retrieve_glob.
+       ftp_retrieve_glob.
 
        * version.c: Changed version to 1.4.0-test2.
 
        * version.c: Released 1.4.0-test1.
 
        * url.c (str_url): Don't use sprintf when creating %2F-prefixed
-       directory.
+       directory.
        (convert_links): Removed definition of make_backup.
 
        * http.h: Removed definition of MAX_ERROR_LENGTH.
        * http.c (gethttp): Use ou->referer instead of u->referer.
 
        * retr.c (retrieve_url): Reset u to avoid freeing pointers twice;
-       this was known to cause coredumps on Linux.
+       this was known to cause coredumps on Linux.
 
        * html.c (ftp_index): Cast the argument to local_time to time_t *.
 
        * connect.c (select_fd): Use exceptfds -- once and for all.
 
        * retr.c (retrieve_from_file): Free filename after
-       recursive_retrieve.
+       recursive_retrieve.
        (retrieve_from_file): Send RFIRST_TIME to recursive_retrieve on
-       first-time retrieval.
+       first-time retrieval.
        (retrieve_from_file): Return uerr_t; new argument, count.
        (retrieve_from_file): Break on QUOTEXC.
 
        * init.c (setquota): Fixed a bug that caused rejection of
-       non-postfixed values..
+       non-postfixed values..
 
 1996-10-30  Hrvoje Niksic  <hniksic@srce.hr>
 
 
        * connect.c (iread): Smarter use of select.
        (select_fd): Set errno on timeout.  If not timeout, return 1
-       instead of 0.
+       instead of 0.
 
 1996-10-29  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (ftp_loop_internal): Don't use con->cmd before
-       establishing it.
+       establishing it.
 
 1996-10-26  Hrvoje Niksic  <hniksic@srce.hr>
 
        * http.c (gethttp): Send correct referer when using proxy.
        (gethttp): Use struct urlinfo ou to access the relevant data; send
-       correct authorization in all cases.
+       correct authorization in all cases.
 
        * host.c (same_host): Use skip_uname to skip username and
-       password.
+       password.
 
        * url.c (skip_uname): New function.
        (parseurl): Use it.
 
        * host.c (same_host): Do not assume HTTP -- same_host should now
-       be totally foolproof.
+       be totally foolproof.
 
        * url.c (skip_proto): New function.
        (parse_uname): Use it.
 
        * http.c (gethttp): Create local user and passwd from what is
-       given.
+       given.
 
        * url.c (parseurl): Check for HTTP username and password too.
 
        * options.h (struct options): New variable no_parent.
 
        * recur.c (recursive_retrieve): Only files are checked for
-       opt.accepts and opt.rejects.
+       opt.accepts and opt.rejects.
        (recursive_retrieve): Check directories for opt.excludes.
        (recursive_retrieve): Make the dir absolute when checking
-       opt.excludes.
+       opt.excludes.
 
        * html.c (htmlfindurl): Recognize <applet code=...> and <script
-       src=...>
+       src=...>
 
 1996-10-18  Hrvoje Niksic  <hniksic@srce.hr>
 
        * version.c: "Released" 1.4b28.
 
        * ftp.c (ftp_loop_internal): Check whether f->size == len and
-       don't continue the loop if it is.
+       don't continue the loop if it is.
        (ftp_get_listing): Remove list_filename on unsuccesful loop.
 
 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
        (getftp): Do not use multiline assert.
 
        * http.c (hparsestatline): Use mjr and mnr instead of major and
-       minor, which don't compile on Ultrix.
+       minor, which don't compile on Ultrix.
        (http_loop): Use strcpy() to initialize tmp.
 
        * all: Geturl -> Fetch
 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
 
        * recur.c (parse_robots): Fixed an off-by-one bug when looking for
-       ':'.
+       ':'.
 
        * html.c (htmlfindurl): Fixed several possible off-by-one bugs by
-       moving `bufsize &&' to the beginning of each check in for-loops.
+       moving `bufsize &&' to the beginning of each check in for-loops.
 
        * recur.c (parse_robots): Close fp on exit.
 
 
        * ftp.c (ftp_loop): Change FTPOK to RETROK before exiting.
        (delelement): Use next instead of f->next and prev instead of
-       f->prev.
+       f->prev.
        (delelement): Free the members of the deleted element.
 
        * http.c (http_loop): Do not return RETROK on code != 20x.
        * http.c (hparsestatline): Docfix.
 
        * main.c (main): Return with error status on unsuccesful
-       retrieval.
+       retrieval.
 
        * init.c (setval): Do not remove listing when mirroring.
 
        * url.c (url_filename): Use opt.fileprefix.
 
        * ftp.c (ftp_get_listing): Use url_filename to get filename for
-       .listing.
+       .listing.
 
        * main.c (main): New option: -rn.
 
        * version.c: "Released" 1.4b26.
 
        * retr.c (retrieve_from_file): If call get_urls_html with
-       opt.spider to make it silent in spider mode.
+       opt.spider to make it silent in spider mode.
 
        * url.c (str_url): Use CLEANDUP instead of URL_CLEANSE.
 
        * url.h (CLEANDUP): New macro.
 
        * http.c (gethttp): Fixed a bug that freed location only when it
-       was NULL.
+       was NULL.
 
        * retr.c (retrieve_url): Free url if it will not be stored,
-       i.e. newloc is NULL.
+       i.e. newloc is NULL.
 
        * html.c (htmlfindurl): Handle exiting from quotes correctly; the
-       old version would bug out on <a href="x#a"href="y">.
+       old version would bug out on <a href="x#a"href="y">.
 
        * html.h (state_t): New member in_quote.
 
        * html.c (htmlfindurl): Free s->attr at the beginning of
-       attr-loop.
+       attr-loop.
 
        * recur.c (recursive_retrieve): Recognize RCLEANUP.
        (tried_robots): Make hosts a global variable.
        * utils.c (free_slist): New function.
 
        * recur.c (recursive_retrieve): Use flags to add cleanup
-       possibility.
+       possibility.
 
        * main.c (main): Free filename after recursive_retrieve.
 
 1996-10-12  Hrvoje Niksic  <hniksic@srce.hr>
 
        * all: Constified the whole source.  This required some minor
-       changes in many functions in url.c, possibly introducing bugs -- I
-       hope not.
+       changes in many functions in url.c, possibly introducing bugs -- I
+       hope not.
 
        * ftp-basic.c: Removed last_respline.
 
        * main.c (main): Sorted the options.
 
        * connect.c (iread): Set errno to ETIMEDOUT only if it was left
-       uninitialized by select().
+       uninitialized by select().
 
        * http.c (http_loop): Print the time when the connection is
-       closed.
+       closed.
        (gethttp): Debug-print the HTTP request.
 
 1996-10-11  Hrvoje Niksic  <hniksic@srce.hr>
        * version.c: "Released" 1.4b25.
 
        * ftp-unix.c (ftp_parse_unix_ls): Ignore lines without file name
-       or link name.
+       or link name.
 
        * http.c (gethttp): Add errcode to struct hstat.
        (http_loop): Use it.
        (elapsed_time): New function.
 
        * retr.c (show_progress): Make bytes_in_line and offs long; should
-       work on 16-bit machines.
+       work on 16-bit machines.
 
 1996-10-08  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (in_acclist): New argument backward.
 
        * ftp.c (ftp_retrieve_glob): Use acceptable() to determine whether
-       a file should be retrieved according to suffix.
+       a file should be retrieved according to suffix.
        (ftp_get_listing): Check the return value of unlink; Do not call
-       ftp_retrieve_dirs if depth reached maxreclevel.
+       ftp_retrieve_dirs if depth reached maxreclevel.
        (ftp_retrieve_dirs): Check whether the directory is in
-       exclude-list.
+       exclude-list.
 
        * main.c (main): Print the version number at the beginning of
-       DEBUG output.
+       DEBUG output.
        (main): Use strrchr when creating exec_name.
 
        * ftp.c (ftp_retrieve_glob): Do not close control connection.
        * retr.c (time_str): Check for failed time().
 
        * html.c (htmlfindurl): Recognize <fig src> and <overlay src> from
-       HTML3.0.
+       HTML3.0.
 
        * retr.c (time_str): Return time_t *.
 
        * geturl.texi: New file.
 
        * main.c (main): Do not print the warnings and download summary if
-       opt.quiet is set.
+       opt.quiet is set.
 
        * version.c: Changed version to 1.4b23.
 
        * "Released" 1.4b22.
 
        * atotm.c (atotm): Use True and False instead of TRUE and FALSE,
-       to avoid redefinition warnings.
+       to avoid redefinition warnings.
 
        * host.c (store_hostaddress): Use memcpy() to copy the address
-       returned by inet_addr.
+       returned by inet_addr.
 
        * version.c: Changed version to 1.4b22.
 
        * ftp-unix.c (ftp_parse_ls): Recognize time in h:mm format.
 
        * ftp.c (ftp_retrieve_dirs): Fixed a bug that caused incorrect
-       CWDs to be sent with recursive FTP retrievals.
+       CWDs to be sent with recursive FTP retrievals.
 
 1996-10-03  Hrvoje Niksic  <hniksic@srce.hr>
 
        * recur.c (parse_robots): Made it more compliant with "official"
-       specifications.
+       specifications.
 
        * http.c: New function.
 
        * ftp-unix.c (ftp_parse_ls): Added better debug output.
 
        * ftp.c (getftp): Print out the LIST in case of
-       opt.print_server_response.
+       opt.print_server_response.
 
        * version.c: Changed version to 1.4b21.
 
        * README: Update.
 
        * http.c (gethttp): Preset lengths of various headers instead of
-       calculating them dynamically.
+       calculating them dynamically.
        (gethttp): Check for 206 partial contents.
 
 1996-09-30  Hrvoje Niksic  <hniksic@srce.hr>
        * http.c (gethttp): Send host: header.
        (gethttp): Add the possibility of user-defined headers.
        (gethttp): Move decision about pragma: no-cache to http_loop,
-       where it belongs.
+       where it belongs.
        (gethttp): Pass a struct instead of enormous argument list.
        (http_loop): Use a new, fancier display format.
        (ftp_loop): Likewise.
        * http.c (http_loop): Add restart capabilities.
 
        * ftp.c (ftp_retrieve_glob): Fixed a bug that could cause matchres
-       being used uninitialized.
+       being used uninitialized.
        (ftp_retrieve_list): Similar fix.
 
        * host.c (add_hlist): Fixed a bug that could cause cmp being used
-       uninitialized.
+       uninitialized.
 
        * url.c (construct_relative): New function.
 
        * init.c (setval): New option: SAVEHEADERS
 
        * ftp.c (ftp_loop_internal): Do not set restval if listing is to
-       be retrieved. Lack of this test caused bugs when the connection
-       was lost during listing.
+       be retrieved. Lack of this test caused bugs when the connection
+       was lost during listing.
 
        * retr.c (retrieve_url): Fixed a bug that caused
-       coredumps. *newloc is now reset by default.
+       coredumps. *newloc is now reset by default.
        (retrieve_url): Lift the twenty-tries limit on proxies.
 
        * version.c: Changed version to 1.4b20.
 1996-09-17  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (ftp_retrieve_list): Fixed a bug that caused setting
-       incorrect values to files pointed to by symbolic links.
+       incorrect values to files pointed to by symbolic links.
        (ftp_1fl_loop): Do not count listings among the downloaded URL-s.
 
 1996-09-16  Hrvoje Niksic  <hniksic@srce.hr>
        * main.c (main): Rename "server-headers" to "server-response".
 
        * ftp-unix.c (ftp_parse_ls): Check for asterisks at the end of
-       executables in 'ls -F' listings.
+       executables in 'ls -F' listings.
 
 1996-09-15  Hrvoje Niksic  <hniksic@srce.hr>
 
        (str_url): Get rid of sprintf().
 
        * recur.c (recursive_retrieve): Enable FTP recursion through proxy
-       servers.
+       servers.
 
        * url.h (URL_CLEANSE): Made it else-resistant.
        (USE_PROXY): New macro.
 1996-09-14  Drazen Kacar  <dave@fly.cc.fer.hr>
 
        * html.c (htmlfindurl): Added <frame src> and <iframe src> among
-       the list of stuff to fetch.
+       the list of stuff to fetch.
 
 1996-09-13  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (get_urls_html): Fixed a bug that caused SIGSEGV's with
-       -Fi.
+       -Fi.
 
        * html.c (htmlfindurl): Rewrite.
 
        * main.c (main): Added --cache option.
 
        * ftp.c (ftp_response): Print server response if opt.print_server
-       response is set.
+       response is set.
        (getftp): Print newlines after each request if the server response
-       is to be printed.
+       is to be printed.
        (ftp_response): Copy the last response line to last_respline.
 
        * http.c (gethttp): Add Pragma: nocache for retried
-       proxy-retrievals.
+       proxy-retrievals.
 
        * ftp.c (getftp): Use it.
 
 
        * ftp.c (ftp_response): Use buf_readchar().
        (getftp): Flush the control connection buffer before calling
-       get_contents().
+       get_contents().
 
        * retr.c (buf_readchar): New function.
        (buf_flush): New function.
        * ftp.c: Incorporate changes to ftp_response.
 
        * ftp.c (ftp_response): Allocate the server response dynamically,
-       as in read_whole_line and fetch_next_header.
+       as in read_whole_line and fetch_next_header.
 
        * utils.c (read_whole_line): Fixed a bug that prevented reading
-       the last line if it is not \n-terminated. Also fixed a possible
-       memory overflow.
+       the last line if it is not \n-terminated. Also fixed a possible
+       memory overflow.
 
        * http.c (fetch_next_header): Return malloc-ed string as large as
-       needed.
+       needed.
        (gethttp): Use new fetch_next_header.
 
 1996-09-12  Hrvoje Niksic  <hniksic@srce.hr>
        * version.c: "Released" 1.4b17.
 
        * ftp-unix.c (ftp_parse_ls): If unable to open file, return NULL
-       instead of failed assertion.
+       instead of failed assertion.
 
 1996-09-09  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (ftp_get_listing): Add a numbered suffix to LIST_FILENAME
-       if a file of that name already exists.
+       if a file of that name already exists.
 
 1996-09-05  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (ftp_1fl_loop): Handler FTPPORTERR and FOPENERR correctly.
 
        * config.h.in: Define gethostbyname as Rgethostbyname when using
-       Socks.
+       Socks.
 
        * configure.in: Check for -lresolv if using Socks.
 
        * version.c: "Released" 1.4b16.
 
        * http.c (gethttp): More intelligent check for first line of HTTP
-       response.
+       response.
        (gethttp): Would bug out on time-stamping.
 
        * version.c: Changed version to 1.4b16.
        * url.h (ISDOT): New macro.
 
        * recur.c (recursive_retrieve): Change only opt.recursive for
-       following FTP.
+       following FTP.
 
 1996-07-11  Antonio Rosella <antonio.rosella@agip.it>
 
 1996-07-11  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (url_filename): Check for opt.dirstruct instead for
-       opt.recursive && opt.dirstruct.
+       opt.recursive && opt.dirstruct.
 
        * init.c (defaults): Ditto.
        (defaults): Reset dirstruct by default.
        * socks/geturl.cgi: Changed /pub/bin/perl to /usr/bin/perl.
 
        * socks/download.html: Created from download-netscape.html, made
-       HTML-2.0 compliant.
+       HTML-2.0 compliant.
 
        * recur.c (recursive_retrieve): Set opt.force_dir_hier when
-       following FTP links from recursions.
+       following FTP links from recursions.
 
 1996-07-09  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (mymkdir): Fixed a bug that prevented mymkdir() to create
-       absolute directories correctly.
+       absolute directories correctly.
 
        * version.c: Changed version to 1.4b14.
 
        * url.c (make_backup): New function.
 
        * http.c (http_loop): Make a backup copy of the local file (using
-       rename(2)) before opening it.
+       rename(2)) before opening it.
 
        * main.c (main): Added --backups.
 
        (ftp_getaddress): Check for empty, null or (null) domain.
 
        * url.c (get_urls_html): If this_url is NULL, the base must have a
-       protocol.
+       protocol.
        (parseurl): Use has_proto.
 
        * retr.c (retrieve_url): Warn when proxy is used with more than 20
-       retries.
+       retries.
 
        * url.c (mkstruct): Create the directory (calling mymkdir()) only
-       if it is not already there.
+       if it is not already there.
        (has_proto): New function.
        (get_urls_html): Eliminate the remaining call to findurl -- use
-       has_proto.
+       has_proto.
 
        * geturl.1: Ditto.
 
        * main.c: Change -X to -x.
 
        * url.c (url_filename): Simplify creation of filename if
-       prefix_files is set.
+       prefix_files is set.
        (url_filename): Simplify everything. And I do mean *everything*.
        (mkstruct): Add dir_prefix before hostname.
        (path_simplify): Fixed a bug that caused writing outside the path
-       string in case of "." and ".." path strings.
+       string in case of "." and ".." path strings.
 
 1996-07-06  Hrvoje Niksic  <hniksic@srce.hr>
 
        * http.c (gethttp): Use referer if present.
 
        * recur.c (recursive_retrieve): Set u->referer before calling
-       retrieve_url.
+       retrieve_url.
 
        * url.c (newurl): Use memset to nullify the struct members.
        (freeurl): Free the referer field too.
        * configure.in: Add the support for socks.
 
        * url.c (url_filename): If the dir_prefix is ".", work with just
-       the file name.
+       the file name.
        (url_filename): Do not look for .n extensions if timestamping if
-       turned on.
+       turned on.
 
        * retr.c (show_progress): Skip the over-abundant restval data, and
-       print the rest of it with ',' instead of '.'.
+       print the rest of it with ',' instead of '.'.
 
 1996-07-05  Hrvoje Niksic  <hniksic@srce.hr>
 
        * retr.c (show_progress): Changed second arg. to long (as it
-       should be).
+       should be).
        (show_progress): Moved to retr.c.
        (get_contents): Moved to retr.c.
 
        (get_urls_html): Use new parameters for htmlfindurl.
 
        * html.c: Removed memorizing "parser states", since the new
-       organization does not require them.
+       organization does not require them.
 
        * init.c (run_geturlrc): Use read_whole_line.
 
        * recur.c (tried_robots): Use add_slist/in_slist, *much* cleaner.
 
        * host.c (ngethostbyname): Call inet_addr just once. Yet to be
-       tested on OSF and Ultrix.
+       tested on OSF and Ultrix.
        (add_hlist): New function.
        (free_hlist): New function.
        (search_host): New function.
        (search_address): New function.
        (realhost): Use search_host, search_address and add_hlist.
        (same_host): Replaced realloc() with strdupdelim(), made
-       case-insensitive, fixed a memory leak.
+       case-insensitive, fixed a memory leak.
 
        * html.c (ftp_index): Fixed tm_min and tm_sec to be tm_hour and
-       tm_min, like intended.
+       tm_min, like intended.
 
        * version.c: Change user agent information to
-       Geturl/version.
+       Geturl/version.
 
 1996-07-03  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (acceptable): Always accept directories.
 
        * ftp-unix.c (ftp_parse_ls): Support brain-damaged "ls -F"-loving
-       servers by stripping trailing @ from symlinks and trailing / from
-       directories.
+       servers by stripping trailing @ from symlinks and trailing / from
+       directories.
 
        * ftp.c (ftp_loop): Debugged the "enhanced" heuristics. :-)
 
 
        * url.c (match_backwards_or_pattern): Fixed i == -1 to j == -1.
        (match_backwards): New function, instead of
-       match_backwards_or_pattern.
+       match_backwards_or_pattern.
 
        * recur.c (recursive_retrieve): Increased performance by
-       introducing inl, which reduces number of calls to in_slist to only
-       one.
+       introducing inl, which reduces number of calls to in_slist to only
+       one.
 
        * ftp.c (ftp_loop): Enhanced the heuristics that decides which
-       routine to use.
+       routine to use.
 
        * main.c (printhelp): Removed the warranty stuff.
 
 1996-06-30  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (ftp_loop): Call ftp_index on empty file names, if not
-       recursive.
+       recursive.
 
        * html.c (ftp_index): Fixed to work. Beautified the output.
 
        * ftp.c (ftp_retrieve_glob): Another argument to control whether
-       globbing is to be used.
+       globbing is to be used.
        (ftp_retrieve_list): Compare the time-stamps of local and remote
-       files to determine whether to download.
+       files to determine whether to download.
 
 1996-06-29  Hrvoje Niksic  <hniksic@srce.hr>
 
        * ftp.c (rel_constr): New function.
 
        * retr.c (retrieve_from_file): Check for text/html before
-       retrieving recursively.
+       retrieving recursively.
 
        * main.c (main): Check whether the file is HTML before going into
-       recursive HTML retrieving.
+       recursive HTML retrieving.
 
        * ftp.c (ftp_retrieve_list): Manage directories.
        (ftp_retrieve_glob): Pass all the file-types to ftp_retrieve_list.
        (ftp_1fl_loop): Fixed a bug that caused con->com to be incorrectly
-       initialized, causing bugchecks in getftp to fail.
+       initialized, causing bugchecks in getftp to fail.
 
        * configure.in: Check for symlink.
 
        * version.c: 1.4b9 "released".
 
        * recur.c (recursive_retrieve): Used linked list (ulist) for
-       faster storing of URLs.
+       faster storing of URLs.
 
        * url.c (get_urls_html): Removed the old kludge with comparing the
-       outputs of htmlfindurl and findurl.
+       outputs of htmlfindurl and findurl.
        (get_urls_html): Added better protocol support here.
        (create_hash): Removed, as well as add_hash and in_hash.
        (addslist): New function.
        * version.c: New version.
 
        * main.c (hangup): New function, that handles hangup. Hangup
-        signal now causes geturl to stop writing on stdout, and to write
-        to a log file.
+       signal now causes geturl to stop writing on stdout, and to write
+       to a log file.
 
        * ftp.c (getftp): "Released" 1.4b7.
 
        * retr.c (retrieve_from_file): New function.
 
        * url.c (parseurl): Modified to return URLOK if all OK. Protocol
-        can be found in u->proto.
+       can be found in u->proto.
 
        * ftp.c (ftp_response): Fixed to accept multi-line responses as
-        per RFC 959.
+       per RFC 959.
 
        * recr.c (recursive_retrieve): Take newloc from retrieve_url.
 
        * url.c (mymkdir): Removed the file of the same name, if one
-        exists.
+       exists.
        (isfile): New function.
        (mkstruct): Fixed the '/' glitches.
        (path_simplify): Hacked to treat something/.. correctly.
        (http_loop): HEOF no longer a fatal header.
 
        * loop.c (retrieve_url): When dt is NULL, do not modify it. This
-        simplifies the syntax of calling retrieve_url.
+       simplifies the syntax of calling retrieve_url.
 
        * recr.c (recursive_retrieve): Modified to use get_urls_html.
 
        (get_urls_html): New function.
 
        * recr.c (recursive_retrieve): Patched up to conform to the
-        standards.
+       standards.
 
        * http.c (gethttp): Synched with the rest...
        (gethttp): Treat only CONREFUSED specially, with connection
        * loop.c: Removed *lots* of stuff from retrieve_url.
 
        * url.c (parseurl): Changed to work with urlinfo. Integrated
-        username finding and path parsing.
+       username finding and path parsing.
        (newurl): New function.
        (freeurl): New function.
        (mkstruct): Removed the old bogosities, made it urlinfo-compliant.
 1996-06-19  Hrvoje Niksic  <hniksic@srce.hr>
 
        * url.c (hide_url): Thrown out the protocol assertion. Do not
-        change the URL if the protocol if not recognized.
+       change the URL if the protocol if not recognized.
        (findurl): Put continue instead of break.
 
 1996-06-18  Hrvoje Niksic  <hniksic@srce.hr>
 
        * sample.geturlrc: Changed the defaults to be commented out and
-        harmless (previous defaults caused pains if copied to
-        ~/.geturlrc).
+       harmless (previous defaults caused pains if copied to
+       ~/.geturlrc).
 
        * http.c (gethttp): Print the HTTP request in debug mode.
 
        * connect.c (iread): Added EINTR check loop to select-ing
-        too. EINTR is now correctly handled with select().
+       too. EINTR is now correctly handled with select().
 
        * TODO: new file
 
 1996-05-07  Hrvoje Niksic  <hniksic@srce.hr>
 
        * host.c (same_host): Made the function a little bit more
-        intelligent regarding diversified URL syntaxes.
+       intelligent regarding diversified URL syntaxes.
 
        * url.c (skip_url): Spaces are now skipped after URL:
 
        * Released 1.3.1 with the patch to prevent crashing when sending
-        NULL to robot* functions and the patch to compile "out of the box"
-        on AIX.
+       NULL to robot* functions and the patch to compile "out of the box"
+       on AIX.
 
        * recr.c (recursive_retrieve): Added checking whether this_url is
        NULL when calling the robot functions.
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644 (file)
index 0000000..2403f67
--- /dev/null
@@ -0,0 +1,66 @@
+# Makefile for `wget' utility
+# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+# 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+# This program 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 3 of the License, 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
+
+#
+# Version: @VERSION@
+#
+
+# The following line is losing on some versions of make!
+DEFS     = @DEFS@ -DSYSTEM_WGETRC=\"$(sysconfdir)/wgetrc\" -DLOCALEDIR=\"$(localedir)\"
+LIBS     = @LIBS@ @LIBSSL@ @LIBGNUTLS@ @LIBINTL@
+
+bin_PROGRAMS = wget
+wget_SOURCES = cmpt.c connect.c convert.c cookies.c \
+              css.lex css-url.c \
+              ftp.c ftp-basic.c \
+              ftp-ls.c hash.c host.c html-parse.c html-url.c http.c    \
+              init.c log.c main.c netrc.c progress.c ptimer.c recur.c  \
+              res.c retr.c snprintf.c spider.c url.c   \
+              utils.c xmalloc.c                                \
+              css-url.h connect.h convert.h cookies.h \
+              ftp.h gen-md5.h hash.h host.h html-parse.h html-url.h \
+              http.h http-ntlm.h init.h log.h mswindows.h netrc.h \
+              options.h progress.h ptimer.h recur.h res.h retr.h \
+              spider.h ssl.h sysdep.h url.h utils.h wget.h xmalloc.h
+nodist_wget_SOURCES = version.c
+EXTRA_wget_SOURCES = mswindows.c
+LDADD = $(ALLOCA) $(LIBOBJS) ../lib/libgnu.a @MD5_LDADD@
+AM_CPPFLAGS = -I $(top_srcdir)/lib @MD5_CPPFLAGS@
+
+version.c:  $(wget_SOURCES) $(LDADD) $(srcdir)/Makefile.am
+       echo 'const char *version_string = "@VERSION@"' > $@
+       -hg log -r . --template='" ({node|short})"\n' 2>/dev/null >> $@
+       echo ';' >> $@
+
+check_LIBRARIES = libunittest.a
+libunittest_a_SOURCES = $(wget_SOURCES) test.c test.h
+nodist_libunittest_a_SOURCES = version.c
+libunittest_a_CPPFLAGS = -DTESTING -I$(top_srcdir)/lib
+libunittest_a_LIBADD = $(ALLOCA) $(LIBOBJS)
+
+CLEANFILES = *~ *.bak core core.[0-9]* version.c
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644 (file)
index 75fe22c..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-# Makefile for `wget' utility
-# Copyright (C) 1995-2006 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with Wget; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
-#
-# Version: @VERSION@
-#
-
-SHELL = /bin/sh
-
-top_builddir = ..
-
-top_srcdir = @top_srcdir@
-srcdir     = @srcdir@
-VPATH      = @srcdir@
-
-prefix       = @prefix@
-exec_prefix  = @exec_prefix@
-bindir       = @bindir@
-sysconfdir   = @sysconfdir@
-datadir      = @datadir@
-localedir    = $(datadir)/locale
-
-DESTDIR      =
-
-CC       = @CC@
-CPPFLAGS = @CPPFLAGS@
-# The following line is losing on some versions of make!
-DEFS     = @DEFS@ -DSYSTEM_WGETRC=\"$(sysconfdir)/wgetrc\" -DLOCALEDIR=\"$(localedir)\"
-CFLAGS   = @CFLAGS@
-LDFLAGS  = @LDFLAGS@ 
-LIBS     = @LIBS@ @LIBSSL@ @LIBGNUTLS@
-exeext   = @exeext@
-LEX      = @LEX@
-
-INCLUDES = -I. -I$(srcdir)
-
-COMPILE = $(CC) $(INCLUDES) $(CPPFLAGS)  $(DEFS) $(CFLAGS)
-LINK    = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-RM = rm -f
-ETAGS = etags
-
-# Conditional compiles
-ALLOCA     = @ALLOCA@
-MD5_OBJ    = @MD5_OBJ@
-OPIE_OBJ   = @OPIE_OBJ@
-NTLM_OBJ   = @NTLM_OBJ@
-SSL_OBJ    = @SSL_OBJ@
-GETOPT_OBJ = @GETOPT_OBJ@
-
-OBJ = $(ALLOCA) cmpt.o connect.o convert.o cookies.o css-url.o     \
-      ftp.o ftp-basic.o ftp-ls.o $(OPIE_OBJ) $(GETOPT_OBJ) hash.o  \
-      host.o html-parse.o html-url.o http.o $(NTLM_OBJ) init.o     \
-      lex.yy.o log.o main.o $(MD5_OBJ) netrc.o progress.o ptimer.o \
-      recur.o res.o retr.o safe-ctype.o snprintf.o spider.o        \
-      $(SSL_OBJ) url.o utils.o version.o xmalloc.o
-
-.SUFFIXES:
-.SUFFIXES: .c .o
-
-.c.o:
-       $(COMPILE) -c $<
-
-# Dependencies for building
-
-wget$(exeext): $(OBJ)
-       $(LINK) $(OBJ) $(LIBS)
-
-lex.yy.c: css.lex
-       $(LEX) $<
-
-# We make object files depend on every header.  Rather than attempt to
-# track dependencies, everything gets recompiled when a header
-# changes.  With a program of Wget's size this doesn't waste much
-# time, and it's a lot safer than attempting to get all the
-# dependencies right.
-
-$(OBJ): config-post.h config.h connect.h convert.h cookies.h css-url.h \
-        ftp.h gen-md5.h getopt.h gnu-md5.h hash.h host.h html-parse.h  \
-        http-ntlm.h init.h log.h mswindows.h netrc.h options.h         \
-        progress.h ptimer.h recur.h res.h retr.h safe-ctype.h          \
-        spider.h ssl.h sysdep.h url.h utils.h wget.h xmalloc.h
-
-#
-# Dependencies for installing
-#
-
-install: install.bin
-
-uninstall: uninstall.bin
-
-install.bin: wget$(exeext)
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
-       $(INSTALL_PROGRAM) wget$(exeext) $(DESTDIR)$(bindir)/wget$(exeext)
-
-uninstall.bin:
-       $(RM) $(DESTDIR)$(bindir)/wget$(exeext)
-
-#
-# Dependencies for cleanup
-#
-
-clean:
-       $(RM) *.o wget$(exeext) *~ *.bak core core.[0-9]* lex.yy.c
-
-distclean: clean
-       $(RM) Makefile config.h
-
-realclean: distclean
-       $(RM) TAGS config.h.in
-
-#
-# Dependencies for maintenance
-#
-
-subdir = src
-
-Makefile: Makefile.in ../config.status
-       cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
-
-TAGS: *.c *.h
-       -$(ETAGS) *.c *.h
index 0626e35edd4b3ebd5c95f354f23a1955621d1e4d..fd08295c78f5a593a73df327f6fce36547a06bd7 100644 (file)
@@ -21,6 +21,8 @@
    allocating any.  It is a good idea to use alloca(0) in
    your main control loop, etc. to force garbage collection.  */
 
+#include "wget.h"
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -74,7 +76,7 @@ typedef char *pointer;
 #endif
 
 #ifndef NULL
-#define        NULL    0
+#define NULL    0
 #endif
 
 /* Different portions of Emacs need to call different versions of
@@ -88,7 +90,6 @@ typedef char *pointer;
    Callers below should use malloc.  */
 
 #ifndef emacs
-#include "wget.h"
 #define malloc xmalloc
 #define free xfree
 #endif
@@ -103,37 +104,37 @@ extern pointer malloc ();
    STACK_DIRECTION = 0 => direction of growth unknown  */
 
 #ifndef STACK_DIRECTION
-#define        STACK_DIRECTION 0       /* Direction unknown.  */
+#define STACK_DIRECTION 0       /* Direction unknown.  */
 #endif
 
 #if STACK_DIRECTION != 0
 
-#define        STACK_DIR       STACK_DIRECTION /* Known at compile-time.  */
+#define STACK_DIR       STACK_DIRECTION /* Known at compile-time.  */
 
 #else /* STACK_DIRECTION == 0; need run-time code.  */
 
-static int stack_dir;          /* 1 or -1 once known.  */
-#define        STACK_DIR       stack_dir
+static int stack_dir;           /* 1 or -1 once known.  */
+#define STACK_DIR       stack_dir
 
 static void
 find_stack_direction ()
 {
-  static char *addr = NULL;    /* Address of first `dummy', once known.  */
-  auto char dummy;             /* To get stack address.  */
+  static char *addr = NULL;     /* Address of first `dummy', once known.  */
+  auto char dummy;              /* To get stack address.  */
 
   if (addr == NULL)
-    {                          /* Initial entry.  */
+    {                           /* Initial entry.  */
       addr = ADDRESS_FUNCTION (dummy);
 
-      find_stack_direction (); /* Recurse once.  */
+      find_stack_direction ();  /* Recurse once.  */
     }
   else
     {
       /* Second entry.  */
       if (ADDRESS_FUNCTION (dummy) > addr)
-       stack_dir = 1;          /* Stack grew upward.  */
+        stack_dir = 1;          /* Stack grew upward.  */
       else
-       stack_dir = -1;         /* Stack grew downward.  */
+        stack_dir = -1;         /* Stack grew downward.  */
     }
 }
 
@@ -146,21 +147,21 @@ find_stack_direction ()
    It is very important that sizeof(header) agree with malloc
    alignment chunk size.  The following default should work okay.  */
 
-#ifndef        ALIGN_SIZE
-#define        ALIGN_SIZE      sizeof(double)
+#ifndef ALIGN_SIZE
+#define ALIGN_SIZE      sizeof(double)
 #endif
 
 typedef union hdr
 {
-  char align[ALIGN_SIZE];      /* To force sizeof(header).  */
+  char align[ALIGN_SIZE];       /* To force sizeof(header).  */
   struct
     {
-      union hdr *next;         /* For chaining headers.  */
-      char *deep;              /* For stack depth measure.  */
+      union hdr *next;          /* For chaining headers.  */
+      char *deep;               /* For stack depth measure.  */
     } h;
 } header;
 
-static header *last_alloca_header = NULL;      /* -> last alloca header.  */
+static header *last_alloca_header = NULL;       /* -> last alloca header.  */
 
 /* Return a pointer to at least SIZE bytes of storage,
    which will be automatically reclaimed upon exit from
@@ -173,11 +174,11 @@ pointer
 alloca (size)
      unsigned size;
 {
-  auto char probe;             /* Probes stack depth: */
+  auto char probe;              /* Probes stack depth: */
   register char *depth = ADDRESS_FUNCTION (probe);
 
 #if STACK_DIRECTION == 0
-  if (STACK_DIR == 0)          /* Unknown growth direction.  */
+  if (STACK_DIR == 0)           /* Unknown growth direction.  */
     find_stack_direction ();
 #endif
 
@@ -185,7 +186,7 @@ alloca (size)
      was allocated from deeper in the stack than currently.  */
 
   {
-    register header *hp;       /* Traverses linked list.  */
+    register header *hp;        /* Traverses linked list.  */
 
 #ifdef emacs
     BLOCK_INPUT;
@@ -193,18 +194,18 @@ alloca (size)
 
     for (hp = last_alloca_header; hp != NULL;)
       if ((STACK_DIR > 0 && hp->h.deep > depth)
-         || (STACK_DIR < 0 && hp->h.deep < depth))
-       {
-         register header *np = hp->h.next;
+          || (STACK_DIR < 0 && hp->h.deep < depth))
+        {
+          register header *np = hp->h.next;
 
-         free ((pointer) hp);  /* Collect garbage.  */
+          free ((pointer) hp);  /* Collect garbage.  */
 
-         hp = np;              /* -> next header.  */
-       }
+          hp = np;              /* -> next header.  */
+        }
       else
-       break;                  /* Rest are not deeper.  */
+        break;                  /* Rest are not deeper.  */
 
-    last_alloca_header = hp;   /* -> last valid storage.  */
+    last_alloca_header = hp;    /* -> last valid storage.  */
 
 #ifdef emacs
     UNBLOCK_INPUT;
@@ -212,7 +213,7 @@ alloca (size)
   }
 
   if (size == 0)
-    return NULL;               /* No allocation required.  */
+    return NULL;                /* No allocation required.  */
 
   /* Allocate combined header + user data storage.  */
 
@@ -246,10 +247,10 @@ alloca (size)
 /* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
 struct stack_control_header
   {
-    long shgrow:32;            /* Number of times stack has grown.  */
-    long shaseg:32;            /* Size of increments to stack.  */
-    long shhwm:32;             /* High water mark of stack.  */
-    long shsize:32;            /* Current size of stack (all segments).  */
+    long shgrow:32;             /* Number of times stack has grown.  */
+    long shaseg:32;             /* Size of increments to stack.  */
+    long shhwm:32;              /* High water mark of stack.  */
+    long shsize:32;             /* Current size of stack (all segments).  */
   };
 
 /* The stack segment linkage control information occurs at
@@ -261,21 +262,21 @@ struct stack_control_header
 
 struct stack_segment_linkage
   {
-    long ss[0200];             /* 0200 overflow words.  */
-    long sssize:32;            /* Number of words in this segment.  */
-    long ssbase:32;            /* Offset to stack base.  */
+    long ss[0200];              /* 0200 overflow words.  */
+    long sssize:32;             /* Number of words in this segment.  */
+    long ssbase:32;             /* Offset to stack base.  */
     long:32;
-    long sspseg:32;            /* Offset to linkage control of previous
-                                  segment of stack.  */
+    long sspseg:32;             /* Offset to linkage control of previous
+                                   segment of stack.  */
     long:32;
-    long sstcpt:32;            /* Pointer to task common address block.  */
-    long sscsnm;               /* Private control structure number for
-                                  microtasking.  */
-    long ssusr1;               /* Reserved for user.  */
-    long ssusr2;               /* Reserved for user.  */
-    long sstpid;               /* Process ID for pid based multi-tasking.  */
-    long ssgvup;               /* Pointer to multitasking thread giveup.  */
-    long sscray[7];            /* Reserved for Cray Research.  */
+    long sstcpt:32;             /* Pointer to task common address block.  */
+    long sscsnm;                /* Private control structure number for
+                                   microtasking.  */
+    long ssusr1;                /* Reserved for user.  */
+    long ssusr2;                /* Reserved for user.  */
+    long sstpid;                /* Process ID for pid based multi-tasking.  */
+    long ssgvup;                /* Pointer to multitasking thread giveup.  */
+    long sscray[7];             /* Reserved for Cray Research.  */
     long ssa0;
     long ssa1;
     long ssa2;
@@ -299,27 +300,27 @@ struct stack_segment_linkage
    returned by the STKSTAT library routine.  */
 struct stk_stat
   {
-    long now;                  /* Current total stack size.  */
-    long maxc;                 /* Amount of contiguous space which would
-                                  be required to satisfy the maximum
-                                  stack demand to date.  */
-    long high_water;           /* Stack high-water mark.  */
-    long overflows;            /* Number of stack overflow ($STKOFEN) calls.  */
-    long hits;                 /* Number of internal buffer hits.  */
-    long extends;              /* Number of block extensions.  */
-    long stko_mallocs;         /* Block allocations by $STKOFEN.  */
-    long underflows;           /* Number of stack underflow calls ($STKRETN).  */
-    long stko_free;            /* Number of deallocations by $STKRETN.  */
-    long stkm_free;            /* Number of deallocations by $STKMRET.  */
-    long segments;             /* Current number of stack segments.  */
-    long maxs;                 /* Maximum number of stack segments so far.  */
-    long pad_size;             /* Stack pad size.  */
-    long current_address;      /* Current stack segment address.  */
-    long current_size;         /* Current stack segment size.  This
-                                  number is actually corrupted by STKSTAT to
-                                  include the fifteen word trailer area.  */
-    long initial_address;      /* Address of initial segment.  */
-    long initial_size;         /* Size of initial segment.  */
+    long now;                   /* Current total stack size.  */
+    long maxc;                  /* Amount of contiguous space which would
+                                   be required to satisfy the maximum
+                                   stack demand to date.  */
+    long high_water;            /* Stack high-water mark.  */
+    long overflows;             /* Number of stack overflow ($STKOFEN) calls.  */
+    long hits;                  /* Number of internal buffer hits.  */
+    long extends;               /* Number of block extensions.  */
+    long stko_mallocs;          /* Block allocations by $STKOFEN.  */
+    long underflows;            /* Number of stack underflow calls ($STKRETN).  */
+    long stko_free;             /* Number of deallocations by $STKRETN.  */
+    long stkm_free;             /* Number of deallocations by $STKMRET.  */
+    long segments;              /* Current number of stack segments.  */
+    long maxs;                  /* Maximum number of stack segments so far.  */
+    long pad_size;              /* Stack pad size.  */
+    long current_address;       /* Current stack segment address.  */
+    long current_size;          /* Current stack segment size.  This
+                                   number is actually corrupted by STKSTAT to
+                                   include the fifteen word trailer area.  */
+    long initial_address;       /* Address of initial segment.  */
+    long initial_size;          /* Size of initial segment.  */
   };
 
 /* The following structure describes the data structure which trails
@@ -328,13 +329,13 @@ struct stk_stat
 
 struct stk_trailer
   {
-    long this_address;         /* Address of this block.  */
-    long this_size;            /* Size of this block (does not include
-                                  this trailer).  */
+    long this_address;          /* Address of this block.  */
+    long this_size;             /* Size of this block (does not include
+                                   this trailer).  */
     long unknown2;
     long unknown3;
-    long link;                 /* Address of trailer block of previous
-                                  segment.  */
+    long link;                  /* Address of trailer block of previous
+                                   segment.  */
     long unknown5;
     long unknown6;
     long unknown7;
@@ -372,8 +373,8 @@ i00afunc (long *address)
   /* Set up the iteration.  */
 
   trailer = (struct stk_trailer *) (status.current_address
-                                   + status.current_size
-                                   - 15);
+                                    + status.current_size
+                                    - 15);
 
   /* There must be at least one stack segment.  Therefore it is
      a fatal error if "trailer" is null.  */
@@ -388,10 +389,10 @@ i00afunc (long *address)
       block = (long *) trailer->this_address;
       size = trailer->this_size;
       if (block == 0 || size == 0)
-       abort ();
+        abort ();
       trailer = (struct stk_trailer *) trailer->link;
       if ((block <= address) && (address < (block + size)))
-       break;
+        break;
     }
 
   /* Set the result to the offset in this segment and add the sizes
@@ -407,7 +408,7 @@ i00afunc (long *address)
   do
     {
       if (trailer->this_size <= 0)
-       abort ();
+        abort ();
       result += trailer->this_size;
       trailer = (struct stk_trailer *) trailer->link;
     }
@@ -470,7 +471,7 @@ i00afunc (long address)
       fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
 #endif
       if (pseg == 0)
-       break;
+        break;
       stkl = stkl - pseg;
       ssptr = (struct stack_segment_linkage *) stkl;
       size = ssptr->sssize;
index 0a0a8f7e87c2094c8f30203a7091d03352b2a6fa..499a0fe3644a7b942631c47739b50433c562c5f7 100644 (file)
@@ -1,11 +1,12 @@
 /* Replacements for routines missing on some systems.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -40,8 +41,6 @@ so, delete this exception statement from your version.  */
 
 #include <errno.h>
 
-#include "wget.h"
-
 /* Some systems lack certain functions normally taken for granted.
    For example, Windows doesn't have strptime, and some systems don't
    have a usable fnmatch.  This file should contain fallback
@@ -73,10 +72,10 @@ strcasecmp (const char *s1, const char *s2)
 
   do
     {
-      c1 = TOLOWER (*p1++);
-      c2 = TOLOWER (*p2++);
+      c1 = c_tolower (*p1++);
+      c2 = c_tolower (*p2++);
       if (c1 == '\0')
-       break;
+        break;
     }
   while (c1 == c2);
 
@@ -102,10 +101,10 @@ strncasecmp (const char *s1, const char *s2, size_t n)
 
   do
     {
-      c1 = TOLOWER (*p1++);
-      c2 = TOLOWER (*p2++);
+      c1 = c_tolower (*p1++);
+      c2 = c_tolower (*p2++);
       if (c1 == '\0' || c1 != c2)
-       return c1 - c2;
+        return c1 - c2;
     } while (--n > 0);
 
   return c1 - c2;
@@ -177,9 +176,9 @@ localtime_r (t, tp)
 #define match_char(ch1, ch2) if (ch1 != ch2) return NULL
 #if defined __GNUC__ && __GNUC__ >= 2
 # define match_string(cs1, s2) \
-  ({ size_t len = strlen (cs1);                                                      \
-     int result = strncasecmp ((cs1), (s2), len) == 0;                       \
-     if (result) (s2) += len;                                                \
+  ({ size_t len = strlen (cs1);                                               \
+     int result = strncasecmp ((cs1), (s2), len) == 0;                        \
+     if (result) (s2) += len;                                                 \
      result; })
 #else
 /* Oh come on.  Get a reasonable compiler.  */
@@ -189,120 +188,120 @@ localtime_r (t, tp)
 /* We intentionally do not use isdigit() for testing because this will
    lead to problems with the wide character version.  */
 #define get_number(from, to, n) \
-  do {                                                                       \
-    int __n = n;                                                             \
-    val = 0;                                                                 \
-    while (*rp == ' ')                                                       \
-      ++rp;                                                                  \
-    if (*rp < '0' || *rp > '9')                                                      \
-      return NULL;                                                           \
-    do {                                                                     \
-      val *= 10;                                                             \
-      val += *rp++ - '0';                                                    \
-    } while (--__n > 0 && val * 10 <= to && *rp >= '0' && *rp <= '9');       \
-    if (val < from || val > to)                                                      \
-      return NULL;                                                           \
+  do {                                                                        \
+    int __n = n;                                                              \
+    val = 0;                                                                  \
+    while (*rp == ' ')                                                        \
+      ++rp;                                                                   \
+    if (*rp < '0' || *rp > '9')                                               \
+      return NULL;                                                            \
+    do {                                                                      \
+      val *= 10;                                                              \
+      val += *rp++ - '0';                                                     \
+    } while (--__n > 0 && val * 10 <= to && *rp >= '0' && *rp <= '9');        \
+    if (val < from || val > to)                                               \
+      return NULL;                                                            \
   } while (0)
 #ifdef _NL_CURRENT
 /* Added check for __GNUC__ extensions here for Wget. --abbotti */
 # if defined __GNUC__ && __GNUC__ >= 2
 #  define get_alt_number(from, to, n) \
-  ({                                                                         \
-    __label__ do_normal;                                                     \
-    if (*decided != raw)                                                     \
-      {                                                                              \
-       const char *alts = _NL_CURRENT (LC_TIME, ALT_DIGITS);                 \
-       int __n = n;                                                          \
-       int any = 0;                                                          \
-       while (*rp == ' ')                                                    \
-         ++rp;                                                               \
-       val = 0;                                                              \
-       do {                                                                  \
-         val *= 10;                                                          \
-         while (*alts != '\0')                                               \
-           {                                                                 \
-             size_t len = strlen (alts);                                     \
-             if (strncasecmp (alts, rp, len) == 0)                           \
-               break;                                                        \
-             alts += len + 1;                                                \
-             ++val;                                                          \
-           }                                                                 \
-         if (*alts == '\0')                                                  \
-           {                                                                 \
-             if (*decided == not && ! any)                                   \
-               goto do_normal;                                               \
-             /* If we haven't read anything it's an error.  */               \
-             if (! any)                                                      \
-               return NULL;                                                  \
-             /* Correct the premature multiplication.  */                    \
-             val /= 10;                                                      \
-             break;                                                          \
-           }                                                                 \
-         else                                                                \
-           *decided = loc;                                                   \
-       } while (--__n > 0 && val * 10 <= to);                                \
-       if (val < from || val > to)                                           \
-         return NULL;                                                        \
-      }                                                                              \
-    else                                                                     \
-      {                                                                              \
-       do_normal:                                                            \
-        get_number (from, to, n);                                            \
-      }                                                                              \
-    0;                                                                       \
+  ({                                                                          \
+    __label__ do_normal;                                                      \
+    if (*decided != raw)                                                      \
+      {                                                                       \
+        const char *alts = _NL_CURRENT (LC_TIME, ALT_DIGITS);                 \
+        int __n = n;                                                          \
+        int any = 0;                                                          \
+        while (*rp == ' ')                                                    \
+          ++rp;                                                               \
+        val = 0;                                                              \
+        do {                                                                  \
+          val *= 10;                                                          \
+          while (*alts != '\0')                                               \
+            {                                                                 \
+              size_t len = strlen (alts);                                     \
+              if (strncasecmp (alts, rp, len) == 0)                           \
+                break;                                                        \
+              alts += len + 1;                                                \
+              ++val;                                                          \
+            }                                                                 \
+          if (*alts == '\0')                                                  \
+            {                                                                 \
+              if (*decided == not && ! any)                                   \
+                goto do_normal;                                               \
+              /* If we haven't read anything it's an error.  */               \
+              if (! any)                                                      \
+                return NULL;                                                  \
+              /* Correct the premature multiplication.  */                    \
+              val /= 10;                                                      \
+              break;                                                          \
+            }                                                                 \
+          else                                                                \
+            *decided = loc;                                                   \
+        } while (--__n > 0 && val * 10 <= to);                                \
+        if (val < from || val > to)                                           \
+          return NULL;                                                        \
+      }                                                                       \
+    else                                                                      \
+      {                                                                       \
+       do_normal:                                                             \
+        get_number (from, to, n);                                             \
+      }                                                                       \
+    0;                                                                        \
   })
 # else
 #  define get_alt_number(from, to, n) \
   do {
-    if (*decided != raw)                                                     \
-      {                                                                              \
-       const char *alts = _NL_CURRENT (LC_TIME, ALT_DIGITS);                 \
-       int __n = n;                                                          \
-       int any = 0;                                                          \
-       while (*rp == ' ')                                                    \
-         ++rp;                                                               \
-       val = 0;                                                              \
-       do {                                                                  \
-         val *= 10;                                                          \
-         while (*alts != '\0')                                               \
-           {                                                                 \
-             size_t len = strlen (alts);                                     \
-             if (strncasecmp (alts, rp, len) == 0)                           \
-               break;                                                        \
-             alts += len + 1;                                                \
-             ++val;                                                          \
-           }                                                                 \
-         if (*alts == '\0')                                                  \
-           {                                                                 \
-             if (*decided == not && ! any)                                   \
-               goto do_normal;                                               \
-             /* If we haven't read anything it's an error.  */               \
-             if (! any)                                                      \
-               return NULL;                                                  \
-             /* Correct the premature multiplication.  */                    \
-             val /= 10;                                                      \
-             break;                                                          \
-           }                                                                 \
-         else                                                                \
-           *decided = loc;                                                   \
-       } while (--__n > 0 && val * 10 <= to);                                \
-       if (val < from || val > to)                                           \
-         return NULL;                                                        \
-      }                                                                              \
-    else                                                                     \
-      {                                                                              \
-       do_normal:                                                            \
-        get_number (from, to, n);                                            \
-      }                                                                              \
+    if (*decided != raw)                                                      \
+      {                                                                       \
+        const char *alts = _NL_CURRENT (LC_TIME, ALT_DIGITS);                 \
+        int __n = n;                                                          \
+        int any = 0;                                                          \
+        while (*rp == ' ')                                                    \
+          ++rp;                                                               \
+        val = 0;                                                              \
+        do {                                                                  \
+          val *= 10;                                                          \
+          while (*alts != '\0')                                               \
+            {                                                                 \
+              size_t len = strlen (alts);                                     \
+              if (strncasecmp (alts, rp, len) == 0)                           \
+                break;                                                        \
+              alts += len + 1;                                                \
+              ++val;                                                          \
+            }                                                                 \
+          if (*alts == '\0')                                                  \
+            {                                                                 \
+              if (*decided == not && ! any)                                   \
+                goto do_normal;                                               \
+              /* If we haven't read anything it's an error.  */               \
+              if (! any)                                                      \
+                return NULL;                                                  \
+              /* Correct the premature multiplication.  */                    \
+              val /= 10;                                                      \
+              break;                                                          \
+            }                                                                 \
+          else                                                                \
+            *decided = loc;                                                   \
+        } while (--__n > 0 && val * 10 <= to);                                \
+        if (val < from || val > to)                                           \
+          return NULL;                                                        \
+      }                                                                       \
+    else                                                                      \
+      {                                                                       \
+       do_normal:                                                             \
+        get_number (from, to, n);                                             \
+      }                                                                       \
   } while (0)
 # endif /* defined __GNUC__ && __GNUC__ >= 2 */
 #else
 # define get_alt_number(from, to, n) \
-  /* We don't have the alternate representation.  */                         \
+  /* We don't have the alternate representation.  */                          \
   get_number(from, to, n)
 #endif
 #define recursive(new_fmt) \
-  (*(new_fmt) != '\0'                                                        \
+  (*(new_fmt) != '\0'                                                         \
    && (rp = strptime_internal (rp, (new_fmt), tm, decided)) != NULL)
 
 
@@ -365,7 +364,7 @@ enum locale_status { not, loc, raw };
 #ifndef __isleap
 /* Nonzero if YEAR is a leap year (every 4 years,
    except every 100th isn't, and every 400th is).  */
-# define __isleap(year)        \
+# define __isleap(year) \
   ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
 #endif
 
@@ -378,12 +377,12 @@ day_of_the_week (struct tm *tm)
      the weekday.  */
   int corr_year = 1900 + tm->tm_year - (tm->tm_mon < 2);
   int wday = (-473
-             + (365 * (tm->tm_year - 70))
-             + (corr_year / 4)
-             - ((corr_year / 4) / 25) + ((corr_year / 4) % 25 < 0)
-             + (((corr_year / 4) / 25) / 4)
-             + __mon_yday[0][tm->tm_mon]
-             + tm->tm_mday - 1);
+              + (365 * (tm->tm_year - 70))
+              + (corr_year / 4)
+              - ((corr_year / 4) / 25) + ((corr_year / 4) % 25 < 0)
+              + (((corr_year / 4) / 25) / 4)
+              + __mon_yday[0][tm->tm_mon]
+              + tm->tm_mday - 1);
   tm->tm_wday = ((wday % 7) + 7) % 7;
 }
 
@@ -392,7 +391,7 @@ static void
 day_of_the_year (struct tm *tm)
 {
   tm->tm_yday = (__mon_yday[__isleap (1900 + tm->tm_year)][tm->tm_mon]
-                + (tm->tm_mday - 1));
+                 + (tm->tm_mday - 1));
 }
 
 static char *
@@ -400,7 +399,7 @@ static char *
 internal_function
 #endif
 strptime_internal __P ((const char *buf, const char *format, struct tm *tm,
-                       enum locale_status *decided));
+                        enum locale_status *decided));
 
 static char *
 #ifdef _LIBC
@@ -431,22 +430,22 @@ strptime_internal (rp, fmt, tm, decided)
   while (*fmt != '\0')
     {
       /* A white space in the format string matches 0 more or white
-        space in the input string.  */
-      if (ISSPACE (*fmt))
-       {
-         while (ISSPACE (*rp))
-           ++rp;
-         ++fmt;
-         continue;
-       }
+         space in the input string.  */
+      if (c_isspace (*fmt))
+        {
+          while (c_isspace (*rp))
+            ++rp;
+          ++fmt;
+          continue;
+        }
 
       /* Any character but `%' must be matched by the same character
-        in the iput string.  */
+         in the iput string.  */
       if (*fmt != '%')
-       {
-         match_char (*fmt++, *rp++);
-         continue;
-       }
+        {
+          match_char (*fmt++, *rp++);
+          continue;
+        }
 
       ++fmt;
 #ifndef _NL_CURRENT
@@ -460,541 +459,541 @@ strptime_internal (rp, fmt, tm, decided)
 #endif
 
       switch (*fmt++)
-       {
-       case '%':
-         /* Match the `%' character itself.  */
-         match_char ('%', *rp++);
-         break;
-       case 'a':
-       case 'A':
-         /* Match day of week.  */
-         for (cnt = 0; cnt < 7; ++cnt)
-           {
+        {
+        case '%':
+          /* Match the `%' character itself.  */
+          match_char ('%', *rp++);
+          break;
+        case 'a':
+        case 'A':
+          /* Match day of week.  */
+          for (cnt = 0; cnt < 7; ++cnt)
+            {
 #ifdef _NL_CURRENT
-             if (*decided !=raw)
-               {
-                 if (match_string (_NL_CURRENT (LC_TIME, DAY_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, DAY_1 + cnt),
-                                    weekday_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-                 if (match_string (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt),
-                                    ab_weekday_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-               }
+              if (*decided !=raw)
+                {
+                  if (match_string (_NL_CURRENT (LC_TIME, DAY_1 + cnt), rp))
+                    {
+                      if (*decided == not
+                          && strcmp (_NL_CURRENT (LC_TIME, DAY_1 + cnt),
+                                     weekday_name[cnt]))
+                        *decided = loc;
+                      break;
+                    }
+                  if (match_string (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt), rp))
+                    {
+                      if (*decided == not
+                          && strcmp (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt),
+                                     ab_weekday_name[cnt]))
+                        *decided = loc;
+                      break;
+                    }
+                }
 #endif
-             if (*decided != loc
-                 && (match_string (weekday_name[cnt], rp)
-                     || match_string (ab_weekday_name[cnt], rp)))
-               {
-                 *decided = raw;
-                 break;
-               }
-           }
-         if (cnt == 7)
-           /* Does not match a weekday name.  */
-           return NULL;
-         tm->tm_wday = cnt;
-         have_wday = 1;
-         break;
-       case 'b':
-       case 'B':
-       case 'h':
-         /* Match month name.  */
-         for (cnt = 0; cnt < 12; ++cnt)
-           {
+              if (*decided != loc
+                  && (match_string (weekday_name[cnt], rp)
+                      || match_string (ab_weekday_name[cnt], rp)))
+                {
+                  *decided = raw;
+                  break;
+                }
+            }
+          if (cnt == 7)
+            /* Does not match a weekday name.  */
+            return NULL;
+          tm->tm_wday = cnt;
+          have_wday = 1;
+          break;
+        case 'b':
+        case 'B':
+        case 'h':
+          /* Match month name.  */
+          for (cnt = 0; cnt < 12; ++cnt)
+            {
 #ifdef _NL_CURRENT
-             if (*decided !=raw)
-               {
-                 if (match_string (_NL_CURRENT (LC_TIME, MON_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, MON_1 + cnt),
-                                    month_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-                 if (match_string (_NL_CURRENT (LC_TIME, ABMON_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, ABMON_1 + cnt),
-                                    ab_month_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-               }
+              if (*decided !=raw)
+                {
+                  if (match_string (_NL_CURRENT (LC_TIME, MON_1 + cnt), rp))
+                    {
+                      if (*decided == not
+                          && strcmp (_NL_CURRENT (LC_TIME, MON_1 + cnt),
+                                     month_name[cnt]))
+                        *decided = loc;
+                      break;
+                    }
+                  if (match_string (_NL_CURRENT (LC_TIME, ABMON_1 + cnt), rp))
+                    {
+                      if (*decided == not
+                          && strcmp (_NL_CURRENT (LC_TIME, ABMON_1 + cnt),
+                                     ab_month_name[cnt]))
+                        *decided = loc;
+                      break;
+                    }
+                }
 #endif
-             if (match_string (month_name[cnt], rp)
-                 || match_string (ab_month_name[cnt], rp))
-               {
-                 *decided = raw;
-                 break;
-               }
-           }
-         if (cnt == 12)
-           /* Does not match a month name.  */
-           return NULL;
-         tm->tm_mon = cnt;
-         want_xday = 1;
-         break;
-       case 'c':
-         /* Match locale's date and time format.  */
+              if (match_string (month_name[cnt], rp)
+                  || match_string (ab_month_name[cnt], rp))
+                {
+                  *decided = raw;
+                  break;
+                }
+            }
+          if (cnt == 12)
+            /* Does not match a month name.  */
+            return NULL;
+          tm->tm_mon = cnt;
+          want_xday = 1;
+          break;
+        case 'c':
+          /* Match locale's date and time format.  */
 #ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, D_T_FMT)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (*decided == not &&
-                     strcmp (_NL_CURRENT (LC_TIME, D_T_FMT), HERE_D_T_FMT))
-                   *decided = loc;
-                 want_xday = 1;
-                 break;
-               }
-             *decided = raw;
-           }
+          if (*decided != raw)
+            {
+              if (!recursive (_NL_CURRENT (LC_TIME, D_T_FMT)))
+                {
+                  if (*decided == loc)
+                    return NULL;
+                  else
+                    rp = rp_backup;
+                }
+              else
+                {
+                  if (*decided == not &&
+                      strcmp (_NL_CURRENT (LC_TIME, D_T_FMT), HERE_D_T_FMT))
+                    *decided = loc;
+                  want_xday = 1;
+                  break;
+                }
+              *decided = raw;
+            }
 #endif
-         if (!recursive (HERE_D_T_FMT))
-           return NULL;
-         want_xday = 1;
-         break;
-       case 'C':
-         /* Match century number.  */
-         get_number (0, 99, 2);
-         century = val;
-         want_xday = 1;
-         break;
-       case 'd':
-       case 'e':
-         /* Match day of month.  */
-         get_number (1, 31, 2);
-         tm->tm_mday = val;
-         have_mday = 1;
-         want_xday = 1;
-         break;
-       case 'F':
-         if (!recursive ("%Y-%m-%d"))
-           return NULL;
-         want_xday = 1;
-         break;
-       case 'x':
+          if (!recursive (HERE_D_T_FMT))
+            return NULL;
+          want_xday = 1;
+          break;
+        case 'C':
+          /* Match century number.  */
+          get_number (0, 99, 2);
+          century = val;
+          want_xday = 1;
+          break;
+        case 'd':
+        case 'e':
+          /* Match day of month.  */
+          get_number (1, 31, 2);
+          tm->tm_mday = val;
+          have_mday = 1;
+          want_xday = 1;
+          break;
+        case 'F':
+          if (!recursive ("%Y-%m-%d"))
+            return NULL;
+          want_xday = 1;
+          break;
+        case 'x':
 #ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, D_FMT)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (*decided == not
-                     && strcmp (_NL_CURRENT (LC_TIME, D_FMT), HERE_D_FMT))
-                   *decided = loc;
-                 want_xday = 1;
-                 break;
-               }
-             *decided = raw;
-           }
+          if (*decided != raw)
+            {
+              if (!recursive (_NL_CURRENT (LC_TIME, D_FMT)))
+                {
+                  if (*decided == loc)
+                    return NULL;
+                  else
+                    rp = rp_backup;
+                }
+              else
+                {
+                  if (*decided == not
+                      && strcmp (_NL_CURRENT (LC_TIME, D_FMT), HERE_D_FMT))
+                    *decided = loc;
+                  want_xday = 1;
+                  break;
+                }
+              *decided = raw;
+            }
 #endif
-         /* Fall through.  */
-       case 'D':
-         /* Match standard day format.  */
-         if (!recursive (HERE_D_FMT))
-           return NULL;
-         want_xday = 1;
-         break;
-       case 'k':
-       case 'H':
-         /* Match hour in 24-hour clock.  */
-         get_number (0, 23, 2);
-         tm->tm_hour = val;
-         have_I = 0;
-         break;
-       case 'I':
-         /* Match hour in 12-hour clock.  */
-         get_number (1, 12, 2);
-         tm->tm_hour = val % 12;
-         have_I = 1;
-         break;
-       case 'j':
-         /* Match day number of year.  */
-         get_number (1, 366, 3);
-         tm->tm_yday = val - 1;
-         have_yday = 1;
-         break;
-       case 'm':
-         /* Match number of month.  */
-         get_number (1, 12, 2);
-         tm->tm_mon = val - 1;
-         have_mon = 1;
-         want_xday = 1;
-         break;
-       case 'M':
-         /* Match minute.  */
-         get_number (0, 59, 2);
-         tm->tm_min = val;
-         break;
-       case 'n':
-       case 't':
-         /* Match any white space.  */
-         while (ISSPACE (*rp))
-           ++rp;
-         break;
-       case 'p':
-         /* Match locale's equivalent of AM/PM.  */
+          /* Fall through.  */
+        case 'D':
+          /* Match standard day format.  */
+          if (!recursive (HERE_D_FMT))
+            return NULL;
+          want_xday = 1;
+          break;
+        case 'k':
+        case 'H':
+          /* Match hour in 24-hour clock.  */
+          get_number (0, 23, 2);
+          tm->tm_hour = val;
+          have_I = 0;
+          break;
+        case 'I':
+          /* Match hour in 12-hour clock.  */
+          get_number (1, 12, 2);
+          tm->tm_hour = val % 12;
+          have_I = 1;
+          break;
+        case 'j':
+          /* Match day number of year.  */
+          get_number (1, 366, 3);
+          tm->tm_yday = val - 1;
+          have_yday = 1;
+          break;
+        case 'm':
+          /* Match number of month.  */
+          get_number (1, 12, 2);
+          tm->tm_mon = val - 1;
+          have_mon = 1;
+          want_xday = 1;
+          break;
+        case 'M':
+          /* Match minute.  */
+          get_number (0, 59, 2);
+          tm->tm_min = val;
+          break;
+        case 'n':
+        case 't':
+          /* Match any white space.  */
+          while (c_isspace (*rp))
+            ++rp;
+          break;
+        case 'p':
+          /* Match locale's equivalent of AM/PM.  */
 #ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (match_string (_NL_CURRENT (LC_TIME, AM_STR), rp))
-               {
-                 if (strcmp (_NL_CURRENT (LC_TIME, AM_STR), HERE_AM_STR))
-                   *decided = loc;
-                 break;
-               }
-             if (match_string (_NL_CURRENT (LC_TIME, PM_STR), rp))
-               {
-                 if (strcmp (_NL_CURRENT (LC_TIME, PM_STR), HERE_PM_STR))
-                   *decided = loc;
-                 is_pm = 1;
-                 break;
-               }
-             *decided = raw;
-           }
+          if (*decided != raw)
+            {
+              if (match_string (_NL_CURRENT (LC_TIME, AM_STR), rp))
+                {
+                  if (strcmp (_NL_CURRENT (LC_TIME, AM_STR), HERE_AM_STR))
+                    *decided = loc;
+                  break;
+                }
+              if (match_string (_NL_CURRENT (LC_TIME, PM_STR), rp))
+                {
+                  if (strcmp (_NL_CURRENT (LC_TIME, PM_STR), HERE_PM_STR))
+                    *decided = loc;
+                  is_pm = 1;
+                  break;
+                }
+              *decided = raw;
+            }
 #endif
-         if (!match_string (HERE_AM_STR, rp))
-           {
-             if (match_string (HERE_PM_STR, rp))
-               is_pm = 1;
-             else
-               return NULL;
-           }
-         break;
-       case 'r':
+          if (!match_string (HERE_AM_STR, rp))
+            {
+              if (match_string (HERE_PM_STR, rp))
+                is_pm = 1;
+              else
+                return NULL;
+            }
+          break;
+        case 'r':
 #ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, T_FMT_AMPM)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (*decided == not &&
-                     strcmp (_NL_CURRENT (LC_TIME, T_FMT_AMPM),
-                             HERE_T_FMT_AMPM))
-                   *decided = loc;
-                 break;
-               }
-             *decided = raw;
-           }
+          if (*decided != raw)
+            {
+              if (!recursive (_NL_CURRENT (LC_TIME, T_FMT_AMPM)))
+                {
+                  if (*decided == loc)
+                    return NULL;
+                  else
+                    rp = rp_backup;
+                }
+              else
+                {
+                  if (*decided == not &&
+                      strcmp (_NL_CURRENT (LC_TIME, T_FMT_AMPM),
+                              HERE_T_FMT_AMPM))
+                    *decided = loc;
+                  break;
+                }
+              *decided = raw;
+            }
 #endif
-         if (!recursive (HERE_T_FMT_AMPM))
-           return NULL;
-         break;
-       case 'R':
-         if (!recursive ("%H:%M"))
-           return NULL;
-         break;
-       case 's':
-         {
-           /* The number of seconds may be very high so we cannot use
-              the `get_number' macro.  Instead read the number
-              character for character and construct the result while
-              doing this.  */
-           time_t secs = 0;
-           if (*rp < '0' || *rp > '9')
-             /* We need at least one digit.  */
-             return NULL;
-
-           do
-             {
-               secs *= 10;
-               secs += *rp++ - '0';
-             }
-           while (*rp >= '0' && *rp <= '9');
-
-           if (localtime_r (&secs, tm) == NULL)
-             /* Error in function.  */
-             return NULL;
-         }
-         break;
-       case 'S':
-         get_number (0, 61, 2);
-         tm->tm_sec = val;
-         break;
-       case 'X':
+          if (!recursive (HERE_T_FMT_AMPM))
+            return NULL;
+          break;
+        case 'R':
+          if (!recursive ("%H:%M"))
+            return NULL;
+          break;
+        case 's':
+          {
+            /* The number of seconds may be very high so we cannot use
+               the `get_number' macro.  Instead read the number
+               character for character and construct the result while
+               doing this.  */
+            time_t secs = 0;
+            if (*rp < '0' || *rp > '9')
+              /* We need at least one digit.  */
+              return NULL;
+
+            do
+              {
+                secs *= 10;
+                secs += *rp++ - '0';
+              }
+            while (*rp >= '0' && *rp <= '9');
+
+            if (localtime_r (&secs, tm) == NULL)
+              /* Error in function.  */
+              return NULL;
+          }
+          break;
+        case 'S':
+          get_number (0, 61, 2);
+          tm->tm_sec = val;
+          break;
+        case 'X':
 #ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, T_FMT)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (strcmp (_NL_CURRENT (LC_TIME, T_FMT), HERE_T_FMT))
-                   *decided = loc;
-                 break;
-               }
-             *decided = raw;
-           }
+          if (*decided != raw)
+            {
+              if (!recursive (_NL_CURRENT (LC_TIME, T_FMT)))
+                {
+                  if (*decided == loc)
+                    return NULL;
+                  else
+                    rp = rp_backup;
+                }
+              else
+                {
+                  if (strcmp (_NL_CURRENT (LC_TIME, T_FMT), HERE_T_FMT))
+                    *decided = loc;
+                  break;
+                }
+              *decided = raw;
+            }
 #endif
-         /* Fall through.  */
-       case 'T':
-         if (!recursive (HERE_T_FMT))
-           return NULL;
-         break;
-       case 'u':
-         get_number (1, 7, 1);
-         tm->tm_wday = val % 7;
-         have_wday = 1;
-         break;
-       case 'g':
-         get_number (0, 99, 2);
-         /* XXX This cannot determine any field in TM.  */
-         break;
-       case 'G':
-         if (*rp < '0' || *rp > '9')
-           return NULL;
-         /* XXX Ignore the number since we would need some more
-            information to compute a real date.  */
-         do
-           ++rp;
-         while (*rp >= '0' && *rp <= '9');
-         break;
-       case 'U':
-       case 'V':
-       case 'W':
-         get_number (0, 53, 2);
-         /* XXX This cannot determine any field in TM without some
-            information.  */
-         break;
-       case 'w':
-         /* Match number of weekday.  */
-         get_number (0, 6, 1);
-         tm->tm_wday = val;
-         have_wday = 1;
-         break;
-       case 'y':
-         /* Match year within century.  */
-         get_number (0, 99, 2);
-         /* The "Year 2000: The Millennium Rollover" paper suggests that
-            values in the range 69-99 refer to the twentieth century.  */
-         tm->tm_year = val >= 69 ? val : val + 100;
-         /* Indicate that we want to use the century, if specified.  */
-         want_century = 1;
-         want_xday = 1;
-         break;
-       case 'Y':
-         /* Match year including century number.  */
-         get_number (0, 9999, 4);
-         tm->tm_year = val - 1900;
-         want_century = 0;
-         want_xday = 1;
-         break;
-       case 'Z':
-         /* XXX How to handle this?  */
-         break;
-       case 'E':
+          /* Fall through.  */
+        case 'T':
+          if (!recursive (HERE_T_FMT))
+            return NULL;
+          break;
+        case 'u':
+          get_number (1, 7, 1);
+          tm->tm_wday = val % 7;
+          have_wday = 1;
+          break;
+        case 'g':
+          get_number (0, 99, 2);
+          /* XXX This cannot determine any field in TM.  */
+          break;
+        case 'G':
+          if (*rp < '0' || *rp > '9')
+            return NULL;
+          /* XXX Ignore the number since we would need some more
+             information to compute a real date.  */
+          do
+            ++rp;
+          while (*rp >= '0' && *rp <= '9');
+          break;
+        case 'U':
+        case 'V':
+        case 'W':
+          get_number (0, 53, 2);
+          /* XXX This cannot determine any field in TM without some
+             information.  */
+          break;
+        case 'w':
+          /* Match number of weekday.  */
+          get_number (0, 6, 1);
+          tm->tm_wday = val;
+          have_wday = 1;
+          break;
+        case 'y':
+          /* Match year within century.  */
+          get_number (0, 99, 2);
+          /* The "Year 2000: The Millennium Rollover" paper suggests that
+             values in the range 69-99 refer to the twentieth century.  */
+          tm->tm_year = val >= 69 ? val : val + 100;
+          /* Indicate that we want to use the century, if specified.  */
+          want_century = 1;
+          want_xday = 1;
+          break;
+        case 'Y':
+          /* Match year including century number.  */
+          get_number (0, 9999, 4);
+          tm->tm_year = val - 1900;
+          want_century = 0;
+          want_xday = 1;
+          break;
+        case 'Z':
+          /* XXX How to handle this?  */
+          break;
+        case 'E':
 #ifdef _NL_CURRENT
-         switch (*fmt++)
-           {
-           case 'c':
-             /* Match locale's alternate date and time format.  */
-             if (*decided != raw)
-               {
-                 const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_T_FMT);
-
-                 if (*fmt == '\0')
-                   fmt = _NL_CURRENT (LC_TIME, D_T_FMT);
-
-                 if (!recursive (fmt))
-                   {
-                     if (*decided == loc)
-                       return NULL;
-                     else
-                       rp = rp_backup;
-                   }
-                 else
-                   {
-                     if (strcmp (fmt, HERE_D_T_FMT))
-                       *decided = loc;
-                     want_xday = 1;
-                     break;
-                   }
-                 *decided = raw;
-               }
-             /* The C locale has no era information, so use the
-                normal representation.  */
-             if (!recursive (HERE_D_T_FMT))
-               return NULL;
-             want_xday = 1;
-             break;
-           case 'C':
-           case 'y':
-           case 'Y':
-             /* Match name of base year in locale's alternate
-                representation.  */
-             /* XXX This is currently not implemented.  It should
-                use the value _NL_CURRENT (LC_TIME, ERA).  */
-             break;
-           case 'x':
-             if (*decided != raw)
-               {
-                 const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_FMT);
-
-                 if (*fmt == '\0')
-                   fmt = _NL_CURRENT (LC_TIME, D_FMT);
-
-                 if (!recursive (fmt))
-                   {
-                     if (*decided == loc)
-                       return NULL;
-                     else
-                       rp = rp_backup;
-                   }
-                 else
-                   {
-                     if (strcmp (fmt, HERE_D_FMT))
-                       *decided = loc;
-                     break;
-                   }
-                 *decided = raw;
-               }
-             if (!recursive (HERE_D_FMT))
-               return NULL;
-             break;
-           case 'X':
-             if (*decided != raw)
-               {
-                 const char *fmt = _NL_CURRENT (LC_TIME, ERA_T_FMT);
-
-                 if (*fmt == '\0')
-                   fmt = _NL_CURRENT (LC_TIME, T_FMT);
-
-                 if (!recursive (fmt))
-                   {
-                     if (*decided == loc)
-                       return NULL;
-                     else
-                       rp = rp_backup;
-                   }
-                 else
-                   {
-                     if (strcmp (fmt, HERE_T_FMT))
-                       *decided = loc;
-                     break;
-                   }
-                 *decided = raw;
-               }
-             if (!recursive (HERE_T_FMT))
-               return NULL;
-             break;
-           default:
-             return NULL;
-           }
-         break;
+          switch (*fmt++)
+            {
+            case 'c':
+              /* Match locale's alternate date and time format.  */
+              if (*decided != raw)
+                {
+                  const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_T_FMT);
+
+                  if (*fmt == '\0')
+                    fmt = _NL_CURRENT (LC_TIME, D_T_FMT);
+
+                  if (!recursive (fmt))
+                    {
+                      if (*decided == loc)
+                        return NULL;
+                      else
+                        rp = rp_backup;
+                    }
+                  else
+                    {
+                      if (strcmp (fmt, HERE_D_T_FMT))
+                        *decided = loc;
+                      want_xday = 1;
+                      break;
+                    }
+                  *decided = raw;
+                }
+              /* The C locale has no era information, so use the
+                 normal representation.  */
+              if (!recursive (HERE_D_T_FMT))
+                return NULL;
+              want_xday = 1;
+              break;
+            case 'C':
+            case 'y':
+            case 'Y':
+              /* Match name of base year in locale's alternate
+                 representation.  */
+              /* XXX This is currently not implemented.  It should
+                 use the value _NL_CURRENT (LC_TIME, ERA).  */
+              break;
+            case 'x':
+              if (*decided != raw)
+                {
+                  const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_FMT);
+
+                  if (*fmt == '\0')
+                    fmt = _NL_CURRENT (LC_TIME, D_FMT);
+
+                  if (!recursive (fmt))
+                    {
+                      if (*decided == loc)
+                        return NULL;
+                      else
+                        rp = rp_backup;
+                    }
+                  else
+                    {
+                      if (strcmp (fmt, HERE_D_FMT))
+                        *decided = loc;
+                      break;
+                    }
+                  *decided = raw;
+                }
+              if (!recursive (HERE_D_FMT))
+                return NULL;
+              break;
+            case 'X':
+              if (*decided != raw)
+                {
+                  const char *fmt = _NL_CURRENT (LC_TIME, ERA_T_FMT);
+
+                  if (*fmt == '\0')
+                    fmt = _NL_CURRENT (LC_TIME, T_FMT);
+
+                  if (!recursive (fmt))
+                    {
+                      if (*decided == loc)
+                        return NULL;
+                      else
+                        rp = rp_backup;
+                    }
+                  else
+                    {
+                      if (strcmp (fmt, HERE_T_FMT))
+                        *decided = loc;
+                      break;
+                    }
+                  *decided = raw;
+                }
+              if (!recursive (HERE_T_FMT))
+                return NULL;
+              break;
+            default:
+              return NULL;
+            }
+          break;
 #else
-         /* We have no information about the era format.  Just use
-            the normal format.  */
-         if (*fmt != 'c' && *fmt != 'C' && *fmt != 'y' && *fmt != 'Y'
-             && *fmt != 'x' && *fmt != 'X')
-           /* This is an illegal format.  */
-           return NULL;
-
-         goto start_over;
+          /* We have no information about the era format.  Just use
+             the normal format.  */
+          if (*fmt != 'c' && *fmt != 'C' && *fmt != 'y' && *fmt != 'Y'
+              && *fmt != 'x' && *fmt != 'X')
+            /* This is an illegal format.  */
+            return NULL;
+
+          goto start_over;
 #endif
-       case 'O':
-         switch (*fmt++)
-           {
-           case 'd':
-           case 'e':
-             /* Match day of month using alternate numeric symbols.  */
-             get_alt_number (1, 31, 2);
-             tm->tm_mday = val;
-             have_mday = 1;
-             want_xday = 1;
-             break;
-           case 'H':
-             /* Match hour in 24-hour clock using alternate numeric
-                symbols.  */
-             get_alt_number (0, 23, 2);
-             tm->tm_hour = val;
-             have_I = 0;
-             break;
-           case 'I':
-             /* Match hour in 12-hour clock using alternate numeric
-                symbols.  */
-             get_alt_number (1, 12, 2);
-             tm->tm_hour = val - 1;
-             have_I = 1;
-             break;
-           case 'm':
-             /* Match month using alternate numeric symbols.  */
-             get_alt_number (1, 12, 2);
-             tm->tm_mon = val - 1;
-             have_mon = 1;
-             want_xday = 1;
-             break;
-           case 'M':
-             /* Match minutes using alternate numeric symbols.  */
-             get_alt_number (0, 59, 2);
-             tm->tm_min = val;
-             break;
-           case 'S':
-             /* Match seconds using alternate numeric symbols.  */
-             get_alt_number (0, 61, 2);
-             tm->tm_sec = val;
-             break;
-           case 'U':
-           case 'V':
-           case 'W':
-             get_alt_number (0, 53, 2);
-             /* XXX This cannot determine any field in TM without
-                further information.  */
-             break;
-           case 'w':
-             /* Match number of weekday using alternate numeric symbols.  */
-             get_alt_number (0, 6, 1);
-             tm->tm_wday = val;
-             have_wday = 1;
-             break;
-           case 'y':
-             /* Match year within century using alternate numeric symbols.  */
-             get_alt_number (0, 99, 2);
-             tm->tm_year = val >= 69 ? val : val + 100;
-             want_xday = 1;
-             break;
-           default:
-             return NULL;
-           }
-         break;
-       default:
-         return NULL;
-       }
+        case 'O':
+          switch (*fmt++)
+            {
+            case 'd':
+            case 'e':
+              /* Match day of month using alternate numeric symbols.  */
+              get_alt_number (1, 31, 2);
+              tm->tm_mday = val;
+              have_mday = 1;
+              want_xday = 1;
+              break;
+            case 'H':
+              /* Match hour in 24-hour clock using alternate numeric
+                 symbols.  */
+              get_alt_number (0, 23, 2);
+              tm->tm_hour = val;
+              have_I = 0;
+              break;
+            case 'I':
+              /* Match hour in 12-hour clock using alternate numeric
+                 symbols.  */
+              get_alt_number (1, 12, 2);
+              tm->tm_hour = val - 1;
+              have_I = 1;
+              break;
+            case 'm':
+              /* Match month using alternate numeric symbols.  */
+              get_alt_number (1, 12, 2);
+              tm->tm_mon = val - 1;
+              have_mon = 1;
+              want_xday = 1;
+              break;
+            case 'M':
+              /* Match minutes using alternate numeric symbols.  */
+              get_alt_number (0, 59, 2);
+              tm->tm_min = val;
+              break;
+            case 'S':
+              /* Match seconds using alternate numeric symbols.  */
+              get_alt_number (0, 61, 2);
+              tm->tm_sec = val;
+              break;
+            case 'U':
+            case 'V':
+            case 'W':
+              get_alt_number (0, 53, 2);
+              /* XXX This cannot determine any field in TM without
+                 further information.  */
+              break;
+            case 'w':
+              /* Match number of weekday using alternate numeric symbols.  */
+              get_alt_number (0, 6, 1);
+              tm->tm_wday = val;
+              have_wday = 1;
+              break;
+            case 'y':
+              /* Match year within century using alternate numeric symbols.  */
+              get_alt_number (0, 99, 2);
+              tm->tm_year = val >= 69 ? val : val + 100;
+              want_xday = 1;
+              break;
+            default:
+              return NULL;
+            }
+          break;
+        default:
+          return NULL;
+        }
     }
 
   if (have_I && is_pm)
@@ -1003,22 +1002,22 @@ strptime_internal (rp, fmt, tm, decided)
   if (century != -1)
     {
       if (want_century)
-       tm->tm_year = tm->tm_year % 100 + (century - 19) * 100;
+        tm->tm_year = tm->tm_year % 100 + (century - 19) * 100;
       else
-       /* Only the century, but not the year.  Strange, but so be it.  */
-       tm->tm_year = (century - 19) * 100;
+        /* Only the century, but not the year.  Strange, but so be it.  */
+        tm->tm_year = (century - 19) * 100;
     }
 
   if (want_xday && !have_wday) {
       if ( !(have_mon && have_mday) && have_yday)  {
-         /* we don't have tm_mon and/or tm_mday, compute them */
-         int t_mon = 0;
-         while (__mon_yday[__isleap(1900 + tm->tm_year)][t_mon] <= tm->tm_yday)
-             t_mon++;
-         if (!have_mon)
-             tm->tm_mon = t_mon - 1;
-         if (!have_mday)
-             tm->tm_mday = tm->tm_yday - __mon_yday[__isleap(1900 + tm->tm_year)][t_mon - 1] + 1;
+          /* we don't have tm_mon and/or tm_mday, compute them */
+          int t_mon = 0;
+          while (__mon_yday[__isleap(1900 + tm->tm_year)][t_mon] <= tm->tm_yday)
+              t_mon++;
+          if (!have_mon)
+              tm->tm_mon = t_mon - 1;
+          if (!have_mday)
+              tm->tm_mday = tm->tm_yday - __mon_yday[__isleap(1900 + tm->tm_year)][t_mon - 1] + 1;
       }
       day_of_the_week (tm);
   }
@@ -1071,7 +1070,7 @@ const unsigned short int __mon_yday[2][13] =
 
 #ifndef SYSTEM_FNMATCH
 
-#define        __FNM_FLAGS     (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD)
+#define __FNM_FLAGS     (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD)
 
 /* Match STRING against the filename pattern PATTERN, returning zero
    if it matches, FNM_NOMATCH if not.  This implementation comes from
@@ -1094,141 +1093,141 @@ fnmatch (const char *pattern, const char *string, int flags)
   while ((c = *p++) != '\0')
     {
       switch (c)
-       {
-       case '?':
-         if (*n == '\0')
-           return (FNM_NOMATCH);
-         else if ((flags & FNM_PATHNAME) && *n == '/')
-           return (FNM_NOMATCH);
-         else if ((flags & FNM_PERIOD) && *n == '.' &&
-                  (n == string || ((flags & FNM_PATHNAME) && n[-1] == '/')))
-           return (FNM_NOMATCH);
-         break;
-
-       case '\\':
-         if (!(flags & FNM_NOESCAPE))
-           c = *p++;
-         if (*n != c)
-           return (FNM_NOMATCH);
-         break;
-
-       case '*':
-         if ((flags & FNM_PERIOD) && *n == '.' &&
-             (n == string || ((flags & FNM_PATHNAME) && n[-1] == '/')))
-           return (FNM_NOMATCH);
-
-         for (c = *p++; c == '?' || c == '*'; c = *p++, ++n)
-           if (((flags & FNM_PATHNAME) && *n == '/') ||
-               (c == '?' && *n == '\0'))
-             return (FNM_NOMATCH);
-
-         if (c == '\0')
-           return (0);
-
-         {
-           char c1 = (!(flags & FNM_NOESCAPE) && c == '\\') ? *p : c;
-           for (--p; *n != '\0'; ++n)
-             if ((c == '[' || *n == c1) &&
-                 fnmatch (p, n, flags & ~FNM_PERIOD) == 0)
-               return (0);
-           return (FNM_NOMATCH);
-         }
-
-       case '[':
-         {
-           /* Nonzero if the sense of the character class is
-              inverted.  */
-           register int not;
-
-           if (*n == '\0')
-             return (FNM_NOMATCH);
-
-           if ((flags & FNM_PERIOD) && *n == '.' &&
-               (n == string || ((flags & FNM_PATHNAME) && n[-1] == '/')))
-             return (FNM_NOMATCH);
-
-           /* Make sure there is a closing `]'.  If there isn't,
-              the `[' is just a character to be matched.  */
-           {
-             register const char *np;
-
-             for (np = p; np && *np && *np != ']'; np++)
-               ;
-
-             if (np && !*np)
-               {
-                 if (*n != '[')
-                   return (FNM_NOMATCH);
-                 goto next_char;
-               }
-           }
-
-           not = (*p == '!' || *p == '^');
-           if (not)
-             ++p;
-
-           c = *p++;
-           while (1)
-             {
-               register char cstart = c, cend = c;
-
-               if (!(flags & FNM_NOESCAPE) && c == '\\')
-                 cstart = cend = *p++;
-
-               if (c == '\0')
-                 /* [ (unterminated) loses.  */
-                 return (FNM_NOMATCH);
-
-               c = *p++;
-
-               if ((flags & FNM_PATHNAME) && c == '/')
-                 /* [/] can never match.  */
-                 return (FNM_NOMATCH);
-
-               if (c == '-' && *p != ']')
-                 {
-                   cend = *p++;
-                   if (!(flags & FNM_NOESCAPE) && cend == '\\')
-                     cend = *p++;
-                   if (cend == '\0')
-                     return (FNM_NOMATCH);
-                   c = *p++;
-                 }
-
-               if (*n >= cstart && *n <= cend)
-                 goto matched;
-
-               if (c == ']')
-                 break;
-             }
-           if (!not)
-             return (FNM_NOMATCH);
-
-         next_char:
-           break;
-
-         matched:
-           /* Skip the rest of the [...] that already matched.  */
-           while (c != ']')
-             {
-               if (c == '\0')
-                 /* [... (unterminated) loses.  */
-                 return (FNM_NOMATCH);
-
-               c = *p++;
-               if (!(flags & FNM_NOESCAPE) && c == '\\')
-                 /* 1003.2d11 is unclear if this is right.  %%% */
-                 ++p;
-             }
-           if (not)
-             return (FNM_NOMATCH);
-         }
-         break;
-
-       default:
-         if (c != *n)
-           return (FNM_NOMATCH);
-       }
+        {
+        case '?':
+          if (*n == '\0')
+            return (FNM_NOMATCH);
+          else if ((flags & FNM_PATHNAME) && *n == '/')
+            return (FNM_NOMATCH);
+          else if ((flags & FNM_PERIOD) && *n == '.' &&
+                   (n == string || ((flags & FNM_PATHNAME) && n[-1] == '/')))
+            return (FNM_NOMATCH);
+          break;
+
+        case '\\':
+          if (!(flags & FNM_NOESCAPE))
+            c = *p++;
+          if (*n != c)
+            return (FNM_NOMATCH);
+          break;
+
+        case '*':
+          if ((flags & FNM_PERIOD) && *n == '.' &&
+              (n == string || ((flags & FNM_PATHNAME) && n[-1] == '/')))
+            return (FNM_NOMATCH);
+
+          for (c = *p++; c == '?' || c == '*'; c = *p++, ++n)
+            if (((flags & FNM_PATHNAME) && *n == '/') ||
+                (c == '?' && *n == '\0'))
+              return (FNM_NOMATCH);
+
+          if (c == '\0')
+            return (0);
+
+          {
+            char c1 = (!(flags & FNM_NOESCAPE) && c == '\\') ? *p : c;
+            for (--p; *n != '\0'; ++n)
+              if ((c == '[' || *n == c1) &&
+                  fnmatch (p, n, flags & ~FNM_PERIOD) == 0)
+                return (0);
+            return (FNM_NOMATCH);
+          }
+
+        case '[':
+          {
+            /* Nonzero if the sense of the character class is
+               inverted.  */
+            register int not;
+
+            if (*n == '\0')
+              return (FNM_NOMATCH);
+
+            if ((flags & FNM_PERIOD) && *n == '.' &&
+                (n == string || ((flags & FNM_PATHNAME) && n[-1] == '/')))
+              return (FNM_NOMATCH);
+
+            /* Make sure there is a closing `]'.  If there isn't,
+               the `[' is just a character to be matched.  */
+            {
+              register const char *np;
+
+              for (np = p; np && *np && *np != ']'; np++)
+                ;
+
+              if (np && !*np)
+                {
+                  if (*n != '[')
+                    return (FNM_NOMATCH);
+                  goto next_char;
+                }
+            }
+
+            not = (*p == '!' || *p == '^');
+            if (not)
+              ++p;
+
+            c = *p++;
+            while (1)
+              {
+                register char cstart = c, cend = c;
+
+                if (!(flags & FNM_NOESCAPE) && c == '\\')
+                  cstart = cend = *p++;
+
+                if (c == '\0')
+                  /* [ (unterminated) loses.  */
+                  return (FNM_NOMATCH);
+
+                c = *p++;
+
+                if ((flags & FNM_PATHNAME) && c == '/')
+                  /* [/] can never match.  */
+                  return (FNM_NOMATCH);
+
+                if (c == '-' && *p != ']')
+                  {
+                    cend = *p++;
+                    if (!(flags & FNM_NOESCAPE) && cend == '\\')
+                      cend = *p++;
+                    if (cend == '\0')
+                      return (FNM_NOMATCH);
+                    c = *p++;
+                  }
+
+                if (*n >= cstart && *n <= cend)
+                  goto matched;
+
+                if (c == ']')
+                  break;
+              }
+            if (!not)
+              return (FNM_NOMATCH);
+
+          next_char:
+            break;
+
+          matched:
+            /* Skip the rest of the [...] that already matched.  */
+            while (c != ']')
+              {
+                if (c == '\0')
+                  /* [... (unterminated) loses.  */
+                  return (FNM_NOMATCH);
+
+                c = *p++;
+                if (!(flags & FNM_NOESCAPE) && c == '\\')
+                  /* 1003.2d11 is unclear if this is right.  %%% */
+                  ++p;
+              }
+            if (not)
+              return (FNM_NOMATCH);
+          }
+          break;
+
+        default:
+          if (c != *n)
+            return (FNM_NOMATCH);
+        }
 
       ++n;
     }
@@ -1246,11 +1245,11 @@ fnmatch (const char *pattern, const char *string, int flags)
    systems and possibly elsewhere. */
 
 /* True if YEAR is a leap year. */
-#define ISLEAP(year)                                           \
+#define ISLEAP(year)                                            \
   ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
 
 /* Number of leap years in the range [y1, y2). */
-#define LEAPYEARS(y1, y2)                                              \
+#define LEAPYEARS(y1, y2)                                               \
   ((y2-1)/4 - (y1-1)/4) - ((y2-1)/100 - (y1-1)/100) + ((y2-1)/400 - (y1-1)/400)
 
 /* Inverse of gmtime: converts struct tm to time_t, assuming the data
@@ -1360,21 +1359,21 @@ strtoll (const char *nptr, char **endptr, int base)
   if (*nptr == '0')
     {
       if ((base == 0 || base == 16)
-         &&
-         (*(nptr + 1) == 'x' || *(nptr + 1) == 'X'))
-       {
-         base = 16;
-         nptr += 2;
-         /* "0x" must be followed by at least one hex char.  If not,
-            return 0 and place ENDPTR on 'x'. */
-         if (!ISXDIGIT (*nptr))
-           {
-             --nptr;
-             goto out;
-           }
-       }
+          &&
+          (*(nptr + 1) == 'x' || *(nptr + 1) == 'X'))
+        {
+          base = 16;
+          nptr += 2;
+          /* "0x" must be followed by at least one hex char.  If not,
+             return 0 and place ENDPTR on 'x'. */
+          if (!c_isxdigit (*nptr))
+            {
+              --nptr;
+              goto out;
+            }
+        }
       else if (base == 0)
-       base = 8;
+        base = 8;
     }
   else if (base == 0)
     base = 10;
@@ -1384,20 +1383,20 @@ strtoll (const char *nptr, char **endptr, int base)
       /* Parse positive number, checking for overflow. */
       int digit;
       /* Overflow watermark.  If RESULT exceeds it, overflow occurs on
-        this digit.  If result==WATERMARK, current digit may not
-        exceed the last digit of maximum value. */
+         this digit.  If result==WATERMARK, current digit may not
+         exceed the last digit of maximum value. */
       const strtoll_type WATERMARK = STRTOLL_MAX / base;
       for (; (digit = char_value (*nptr, base)) != -1; ++nptr)
-       {
-         if (result > WATERMARK
-             || (result == WATERMARK && digit > STRTOLL_MAX % base))
-           {
-             result = STRTOLL_MAX;
-             errno = ERANGE;
-             break;
-           }
-         result = base * result + digit;
-       }
+        {
+          if (result > WATERMARK
+              || (result == WATERMARK && digit > STRTOLL_MAX % base))
+            {
+              result = STRTOLL_MAX;
+              errno = ERANGE;
+              break;
+            }
+          result = base * result + digit;
+        }
     }
   else
     {
@@ -1405,16 +1404,16 @@ strtoll (const char *nptr, char **endptr, int base)
       int digit;
       const strtoll_type WATERMARK = STRTOLL_MIN / base;
       for (; (digit = char_value (*nptr, base)) != -1; ++nptr)
-       {
-         if (result < WATERMARK
-             || (result == WATERMARK && digit > MOD (STRTOLL_MIN, base)))
-           {
-             result = STRTOLL_MIN;
-             errno = ERANGE;
-             break;
-           }
-         result = base * result - digit;
-       }
+        {
+          if (result < WATERMARK
+              || (result == WATERMARK && digit > MOD (STRTOLL_MIN, base)))
+            {
+              result = STRTOLL_MIN;
+              errno = ERANGE;
+              break;
+            }
+          result = base * result - digit;
+        }
     }
  out:
   if (endptr)
@@ -1426,4 +1425,4 @@ strtoll (const char *nptr, char **endptr, int base)
 #undef STRTOLL_MIN
 #undef ABS
 
-#endif /* NEED_STRTOLL */
+#endif  /* NEED_STRTOLL */
diff --git a/src/config-post.h b/src/config-post.h
deleted file mode 100644 (file)
index f3cbec3..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Some autoconf-unrelated preprocessor magic that needs to be done
-   *before* including the system includes and therefore cannot belong
-   in sysdep.h.
-
-   Everything else related to system tweaking belongs to sysdep.h.
-
-   This file is included at the bottom of config.h.  */
-
-/* Testing for __sun is not enough because it's also defined on SunOS.  */
-#ifdef __sun
-# ifdef __SVR4
-#  define solaris
-# endif
-#endif
-
-/* The "namespace tweaks" below attempt to set a friendly "compilation
-   environment" under popular operating systems.  Default compilation
-   environment often means that some functions that are "extensions"
-   are not declared -- `strptime' is one example.
-
-   But non-default environments can expose bugs in the system header
-   files, crippling compilation in _very_ non-obvious ways.  Because
-   of that, we define them only on well-tested architectures where we
-   know they will work.  */
-
-#undef NAMESPACE_TWEAKS
-
-#ifdef solaris
-# define NAMESPACE_TWEAKS
-#endif
-
-#ifdef __linux__
-# define NAMESPACE_TWEAKS
-#endif
-
-#ifdef NAMESPACE_TWEAKS
-
-/* Request the "Unix 98 compilation environment". */
-#define _XOPEN_SOURCE 500
-
-/* For Solaris: request everything else that is available and doesn't
-   conflict with the above.  */
-#define __EXTENSIONS__
-
-/* For Linux: request features of 4.3BSD and SVID (System V Interface
-   Definition). */
-#define _SVID_SOURCE
-#define _BSD_SOURCE
-
-/* Under glibc-based systems we want all GNU extensions as well.  This
-   declares some unnecessary cruft, but also useful functions such as
-   timegm, FNM_CASEFOLD extension to fnmatch, memrchr, etc.  */
-#define _GNU_SOURCE
-
-#endif /* NAMESPACE_TWEAKS */
-
-
-/* Alloca declaration, based on recommendation in the Autoconf manual.
-   These have to be after the above namespace tweaks, but before any
-   non-preprocessor code.  */
-
-#if HAVE_ALLOCA_H
-# include <alloca.h>
-#elif defined WINDOWS
-# include <malloc.h>
-# ifndef alloca
-#  define alloca _alloca
-# endif
-#elif defined __GNUC__
-# define alloca __builtin_alloca
-#elif defined _AIX
-# define alloca __alloca
-#else
-# include <stddef.h>
-# ifdef  __cplusplus
-extern "C"
-# endif
-void *alloca (size_t);
-#endif
index 332a18a593eb8b0314bac22bdaf41ab6c891eaed..2be764d41c2356f0302eafd41fadd8153c386ceb 100644 (file)
@@ -1,11 +1,12 @@
 /* Establishing and handling network connections.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -50,8 +51,9 @@ so, delete this exception statement from your version.  */
 #ifdef HAVE_SYS_SELECT_H
 # include <sys/select.h>
 #endif /* HAVE_SYS_SELECT_H */
-
-#include "wget.h"
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
 #include "utils.h"
 #include "host.h"
 #include "connect.h"
@@ -77,25 +79,25 @@ sockaddr_set_data (struct sockaddr *sa, const ip_address *ip, int port)
     {
     case AF_INET:
       {
-       struct sockaddr_in *sin = (struct sockaddr_in *)sa;
-       xzero (*sin);
-       sin->sin_family = AF_INET;
-       sin->sin_port = htons (port);
-       sin->sin_addr = ip->data.d4;
-       break;
+        struct sockaddr_in *sin = (struct sockaddr_in *)sa;
+        xzero (*sin);
+        sin->sin_family = AF_INET;
+        sin->sin_port = htons (port);
+        sin->sin_addr = ip->data.d4;
+        break;
       }
 #ifdef ENABLE_IPV6
     case AF_INET6:
       {
-       struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa;
-       xzero (*sin6);
-       sin6->sin6_family = AF_INET6;
-       sin6->sin6_port = htons (port);
-       sin6->sin6_addr = ip->data.d6;
+        struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa;
+        xzero (*sin6);
+        sin6->sin6_family = AF_INET6;
+        sin6->sin6_port = htons (port);
+        sin6->sin6_addr = ip->data.d6;
 #ifdef HAVE_SOCKADDR_IN6_SCOPE_ID
-       sin6->sin6_scope_id = ip->ipv6_scope;
+        sin6->sin6_scope_id = ip->ipv6_scope;
 #endif
-       break;
+        break;
       }
 #endif /* ENABLE_IPV6 */
     default:
@@ -114,31 +116,31 @@ sockaddr_get_data (const struct sockaddr *sa, ip_address *ip, int *port)
     {
     case AF_INET:
       {
-       struct sockaddr_in *sin = (struct sockaddr_in *)sa;
-       if (ip)
-         {
-           ip->family = AF_INET;
-           ip->data.d4 = sin->sin_addr;
-         }
-       if (port)
-         *port = ntohs (sin->sin_port);
-       break;
+        struct sockaddr_in *sin = (struct sockaddr_in *)sa;
+        if (ip)
+          {
+            ip->family = AF_INET;
+            ip->data.d4 = sin->sin_addr;
+          }
+        if (port)
+          *port = ntohs (sin->sin_port);
+        break;
       }
 #ifdef ENABLE_IPV6
     case AF_INET6:
       {
-       struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa;
-       if (ip)
-         {
-           ip->family = AF_INET6;
-           ip->data.d6 = sin6->sin6_addr;
+        struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa;
+        if (ip)
+          {
+            ip->family = AF_INET6;
+            ip->data.d6 = sin6->sin6_addr;
 #ifdef HAVE_SOCKADDR_IN6_SCOPE_ID
-           ip->ipv6_scope = sin6->sin6_scope_id;
+            ip->ipv6_scope = sin6->sin6_scope_id;
 #endif
-         }
-       if (port)
-         *port = ntohs (sin6->sin6_port);
-       break;
+          }
+        if (port)
+          *port = ntohs (sin6->sin6_port);
+        break;
       }
 #endif
     default:
@@ -183,7 +185,7 @@ resolve_bind_address (struct sockaddr *sa)
   if (called)
     {
       if (should_bind)
-       sockaddr_set_data (sa, &ip, 0);
+        sockaddr_set_data (sa, &ip, 0);
       return should_bind;
     }
   called = true;
@@ -193,8 +195,8 @@ resolve_bind_address (struct sockaddr *sa)
     {
       /* #### We should be able to print the error message here. */
       logprintf (LOG_NOTQUIET,
-                _("%s: unable to resolve bind address `%s'; disabling bind.\n"),
-                exec_name, opt.bind_address);
+                 _("%s: unable to resolve bind address `%s'; disabling bind.\n"),
+                 exec_name, opt.bind_address);
       should_bind = false;
       return false;
     }
@@ -230,7 +232,7 @@ connect_with_timeout_callback (void *arg)
 
 static int
 connect_with_timeout (int fd, const struct sockaddr *addr, socklen_t addrlen,
-                     double timeout)
+                      double timeout)
 {
   struct cwt_context ctx;
   ctx.fd = fd;
@@ -265,10 +267,10 @@ connect_to_ip (const ip_address *ip, int port, const char *print)
     {
       const char *txt_addr = print_address (ip);
       if (print && 0 != strcmp (print, txt_addr))
-       logprintf (LOG_VERBOSE, _("Connecting to %s|%s|:%d... "),
-                  escnonprint (print), txt_addr, port);
+        logprintf (LOG_VERBOSE, _("Connecting to %s|%s|:%d... "),
+                   escnonprint (print), txt_addr, port);
       else
-       logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), txt_addr, port);
+        logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), txt_addr, port);
     }
 
   /* Store the sockaddr info to SA.  */
@@ -286,7 +288,7 @@ connect_to_ip (const ip_address *ip, int port, const char *print)
     int err = setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof (on));
     IF_DEBUG
       if (err < 0) 
-       DEBUGP (("Failed setting IPV6_V6ONLY: %s", strerror (errno)));
+        DEBUGP (("Failed setting IPV6_V6ONLY: %s", strerror (errno)));
   }
 #endif
 
@@ -298,31 +300,31 @@ connect_to_ip (const ip_address *ip, int port, const char *print)
     {
       int bufsize = opt.limit_rate;
       if (bufsize < 512)
-       bufsize = 512;          /* avoid pathologically small values */
+        bufsize = 512;          /* avoid pathologically small values */
 #ifdef SO_RCVBUF
       setsockopt (sock, SOL_SOCKET, SO_RCVBUF,
-                 (void *)&bufsize, (socklen_t)sizeof (bufsize));
+                  (void *)&bufsize, (socklen_t)sizeof (bufsize));
 #endif
       /* When we add limit_rate support for writing, which is useful
-        for POST, we should also set SO_SNDBUF here.  */
+         for POST, we should also set SO_SNDBUF here.  */
     }
 
   if (opt.bind_address)
     {
       /* Bind the client side of the socket to the requested
-        address.  */
+         address.  */
       struct sockaddr_storage bind_ss;
       struct sockaddr *bind_sa = (struct sockaddr *)&bind_ss;
       if (resolve_bind_address (bind_sa))
-       {
+        {
           if (bind (sock, bind_sa, sockaddr_size (bind_sa)) < 0)
-           goto err;
-       }
+            goto err;
+        }
     }
 
   /* Connect the socket to the remote endpoint.  */
   if (connect_with_timeout (sock, sa, sockaddr_size (sa),
-                           opt.connect_timeout) < 0)
+                            opt.connect_timeout) < 0)
     goto err;
 
   /* Success. */
@@ -362,7 +364,12 @@ connect_to_host (const char *host, int port)
 
  retry:
   if (!al)
-    return E_HOST;
+    {
+      logprintf (LOG_NOTQUIET,
+                 _("%s: unable to resolve host address `%s'\n"),
+                 exec_name, host);
+      return E_HOST;
+    }
 
   address_list_get_bounds (al, &start, &end);
   for (i = start; i < end; i++)
@@ -370,15 +377,15 @@ connect_to_host (const char *host, int port)
       const ip_address *ip = address_list_address_at (al, i);
       sock = connect_to_ip (ip, port, host);
       if (sock >= 0)
-       {
-         /* Success. */
-         address_list_set_connected (al);
-         address_list_release (al);
-         return sock;
-       }
+        {
+          /* Success. */
+          address_list_set_connected (al);
+          address_list_release (al);
+          return sock;
+        }
 
       /* The attempt to connect has failed.  Continue with the loop
-        and try next address. */
+         and try next address. */
 
       address_list_set_faulty (al, i);
     }
@@ -388,7 +395,7 @@ connect_to_host (const char *host, int port)
   if (address_list_connected_p (al))
     {
       /* We connected to AL before, but cannot do so now.  That might
-        indicate that our DNS cache entry for HOST has expired.  */
+         indicate that our DNS cache entry for HOST has expired.  */
       address_list_release (al);
       al = lookup_host (host, LH_REFRESH);
       goto retry;
@@ -445,17 +452,17 @@ bind_local (const ip_address *bind_address, int *port)
     {
       socklen_t addrlen = sockaddr_size (sa);
       if (getsockname (sock, sa, &addrlen) < 0)
-       {
-         /* If we can't find out the socket's local address ("name"),
-            something is seriously wrong with the socket, and it's
-            unusable for us anyway because we must know the chosen
-            port.  */
-         fd_close (sock);
-         return -1;
-       }
+        {
+          /* If we can't find out the socket's local address ("name"),
+             something is seriously wrong with the socket, and it's
+             unusable for us anyway because we must know the chosen
+             port.  */
+          fd_close (sock);
+          return -1;
+        }
       sockaddr_get_data (sa, NULL, port);
       DEBUGP (("binding to address %s using port %i.\n",
-              print_address (bind_address), *port));
+               print_address (bind_address), *port));
     }
   if (listen (sock, 1) < 0)
     {
@@ -490,9 +497,9 @@ accept_connection (int local_sock)
     {
       int test = select_fd (local_sock, opt.connect_timeout, WAIT_FOR_READ);
       if (test == 0)
-       errno = ETIMEDOUT;
+        errno = ETIMEDOUT;
       if (test <= 0)
-       return -1;
+        return -1;
     }
   sock = accept (local_sock, sa, &addrlen);
   DEBUGP (("Accepted client at socket %d.\n", sock));
@@ -529,21 +536,21 @@ socket_ip_address (int sock, ip_address *ip, int endpoint)
 #ifdef ENABLE_IPV6
     case AF_INET6:
       {
-       struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)&storage;
-       ip->data.d6 = sa6->sin6_addr;
+        struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)&storage;
+        ip->data.d6 = sa6->sin6_addr;
 #ifdef HAVE_SOCKADDR_IN6_SCOPE_ID
-       ip->ipv6_scope = sa6->sin6_scope_id;
+        ip->ipv6_scope = sa6->sin6_scope_id;
 #endif
-       DEBUGP (("conaddr is: %s\n", print_address (ip)));
-       return true;
+        DEBUGP (("conaddr is: %s\n", print_address (ip)));
+        return true;
       }
 #endif
     case AF_INET:
       {
-       struct sockaddr_in *sa = (struct sockaddr_in *)&storage;
-       ip->data.d4 = sa->sin_addr;
-       DEBUGP (("conaddr is: %s\n", print_address (ip)));
-       return true;
+        struct sockaddr_in *sa = (struct sockaddr_in *)&storage;
+        ip->data.d4 = sa->sin_addr;
+        DEBUGP (("conaddr is: %s\n", print_address (ip)));
+        return true;
       }
     default:
       abort ();
@@ -568,7 +575,7 @@ retryable_socket_connect_error (int err)
 #ifdef EPFNOSUPPORT
       || err == EPFNOSUPPORT
 #endif
-#ifdef ESOCKTNOSUPPORT         /* no, "sockt" is not a typo! */
+#ifdef ESOCKTNOSUPPORT          /* no, "sockt" is not a typo! */
       || err == ESOCKTNOSUPPORT
 #endif
 #ifdef EPROTONOSUPPORT
@@ -578,7 +585,7 @@ retryable_socket_connect_error (int err)
       || err == ENOPROTOOPT
 #endif
       /* Apparently, older versions of Linux and BSD used EINVAL
-        instead of EAFNOSUPPORT and such.  */
+         instead of EAFNOSUPPORT and such.  */
       || err == EINVAL
       )
     return false;
@@ -586,12 +593,12 @@ retryable_socket_connect_error (int err)
   if (!opt.retry_connrefused)
     if (err == ECONNREFUSED
 #ifdef ENETUNREACH
-       || err == ENETUNREACH   /* network is unreachable */
+        || err == ENETUNREACH   /* network is unreachable */
 #endif
 #ifdef EHOSTUNREACH
-       || err == EHOSTUNREACH  /* host is unreachable */
+        || err == EHOSTUNREACH  /* host is unreachable */
 #endif
-       )
+        )
       return false;
 
   return true;
@@ -669,7 +676,7 @@ test_socket_open (int sock)
 \f
 /* Basic socket operations, mostly EINTR wrappers.  */
 
-#ifdef WINDOWS
+#if defined(WINDOWS) || defined(MSDOS)
 # define read(fd, buf, cnt) recv (fd, buf, cnt, 0)
 # define write(fd, buf, cnt) send (fd, buf, cnt, 0)
 # define close(fd) closesocket (fd)
@@ -788,21 +795,21 @@ fd_transport_context (int fd)
    This is a macro because we want the static storage variables to be
    per-function.  */
 
-#define LAZY_RETRIEVE_INFO(info) do {                                  \
-  static struct transport_info *last_info;                             \
-  static int last_fd = -1;                                             \
-  static unsigned int last_tick;                                       \
-  if (!transport_map)                                                  \
-    info = NULL;                                                       \
-  else if (last_fd == fd && last_tick == transport_map_modified_tick)  \
-    info = last_info;                                                  \
-  else                                                                 \
-    {                                                                  \
-      info = hash_table_get (transport_map, (void *)(intptr_t) fd);    \
-      last_fd = fd;                                                    \
-      last_info = info;                                                        \
-      last_tick = transport_map_modified_tick;                         \
-    }                                                                  \
+#define LAZY_RETRIEVE_INFO(info) do {                                   \
+  static struct transport_info *last_info;                              \
+  static int last_fd = -1;                                              \
+  static unsigned int last_tick;                                        \
+  if (!transport_map)                                                   \
+    info = NULL;                                                        \
+  else if (last_fd == fd && last_tick == transport_map_modified_tick)   \
+    info = last_info;                                                   \
+  else                                                                  \
+    {                                                                   \
+      info = hash_table_get (transport_map, (void *)(intptr_t) fd);     \
+      last_fd = fd;                                                     \
+      last_info = info;                                                 \
+      last_tick = transport_map_modified_tick;                          \
+    }                                                                   \
 } while (0)
 
 static bool
@@ -814,13 +821,13 @@ poll_internal (int fd, struct transport_info *info, int wf, double timeout)
     {
       int test;
       if (info && info->imp->poller)
-       test = info->imp->poller (fd, timeout, wf, info->ctx);
+        test = info->imp->poller (fd, timeout, wf, info->ctx);
       else
-       test = sock_poll (fd, timeout, wf);
+        test = sock_poll (fd, timeout, wf);
       if (test == 0)
-       errno = ETIMEDOUT;
+        errno = ETIMEDOUT;
       if (test <= 0)
-       return false;
+        return false;
     }
   return true;
 }
@@ -886,13 +893,13 @@ fd_write (int fd, char *buf, int bufsize, double timeout)
   while (bufsize > 0)
     {
       if (!poll_internal (fd, info, WAIT_FOR_WRITE, timeout))
-       return -1;
+        return -1;
       if (info && info->imp->writer)
-       res = info->imp->writer (fd, buf, bufsize, info->ctx);
+        res = info->imp->writer (fd, buf, bufsize, info->ctx);
       else
-       res = sock_write (fd, buf, bufsize);
+        res = sock_write (fd, buf, bufsize);
       if (res <= 0)
-       break;
+        break;
       buf += res;
       bufsize -= res;
     }
@@ -922,7 +929,7 @@ fd_errstr (int fd)
     {
       const char *err = info->imp->errstr (fd, info->ctx);
       if (err)
-       return err;
+        return err;
       /* else, fall through and print the system error. */
     }
   return strerror (errno);
index f5b3803ec4df16997c8ebc4d3d5c4fc2358e4291..0317386d984d36bf2be666ab9bd5ea6056107834 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for connect.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef CONNECT_H
 #define CONNECT_H
index 7b38550be5ee803ba839a8223373c8a8b5a66fe7..4f90bb3b062c17662ad53b3f260eeeb34cb8703c 100644 (file)
@@ -1,11 +1,12 @@
 /* Conversion of links to local files.
-   Copyright (C) 2003-2006 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -37,8 +38,6 @@ so, delete this exception statement from your version.  */
 #endif /* HAVE_UNISTD_H */
 #include <errno.h>
 #include <assert.h>
-
-#include "wget.h"
 #include "convert.h"
 #include "url.h"
 #include "recur.h"
@@ -74,7 +73,7 @@ convert_links_in_hashtable (struct hash_table *downloaded_set,
   if (downloaded_set)
     cnt = hash_table_count (downloaded_set);
   if (cnt == 0)
-    return;
+    goto cleanup;
   file_array = alloca_array (char *, cnt);
   string_set_to_array (downloaded_set, file_array);
 
@@ -183,9 +182,10 @@ convert_all_links (void)
   convert_links_in_hashtable (downloaded_css_set, 1, &file_count);
 
   secs = ptimer_measure (timer);
-  ptimer_destroy (timer);
   logprintf (LOG_VERBOSE, _("Converted %d files in %s seconds.\n"),
              file_count, print_decimal (secs));
+cleanup:
+  ptimer_destroy (timer);
 }
 
 static void write_backup_file (const char *, downloaded_file_t);
index 1cd05f36389ecccab2330b2418ac4119d31ecb4c..3d8b30599ad43163360ec5b0eeac3a5e16fdb410 100644 (file)
@@ -1,11 +1,11 @@
 /* Declarations for convert.c
-   Copyright (C) 2003-2006 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef CONVERT_H
 #define CONVERT_H
index e173c5bc381d6fb41193aa8b7b9d9c1059a5ef00..6c30f063ea492d1820dbac2ddec15b9c104b7e0f 100644 (file)
@@ -1,11 +1,12 @@
 /* Support for cookies.
-   Copyright (C) 2001-2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful, but
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* Written by Hrvoje Niksic.  Parts are loosely inspired by the
    cookie patch submitted by Tomasz Wegrzanowski.
@@ -42,7 +43,7 @@ so, delete this exception statement from your version.  */
    sites that do send Set-Cookie2 also emit Set-Cookie for
    compatibility.  */
 
-#include <config.h>
+#include "wget.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -50,12 +51,10 @@ so, delete this exception statement from your version.  */
 #include <assert.h>
 #include <errno.h>
 #include <time.h>
-
-#include "wget.h"
 #include "utils.h"
 #include "hash.h"
 #include "cookies.h"
-#include "http.h"              /* for http_atotm */
+#include "http.h"               /* for http_atotm */
 \f
 /* Declarations of `struct cookie' and the most basic functions. */
 
@@ -75,7 +74,7 @@ struct cookie_jar {
   /* Cookie chains indexed by domain.  */
   struct hash_table *chains;
 
-  int cookie_count;            /* number of cookies in the jar. */
+  int cookie_count;             /* number of cookies in the jar. */
 };
 
 /* Value set by entry point functions, so that the low-level
@@ -92,30 +91,30 @@ cookie_jar_new (void)
 }
 
 struct cookie {
-  char *domain;                        /* domain of the cookie */
-  int port;                    /* port number */
-  char *path;                  /* path prefix of the cookie */
+  char *domain;                 /* domain of the cookie */
+  int port;                     /* port number */
+  char *path;                   /* path prefix of the cookie */
 
   unsigned discard_requested :1; /* whether cookie was created to
-                                  request discarding another
-                                  cookie. */
+                                   request discarding another
+                                   cookie. */
 
-  unsigned secure :1;          /* whether cookie should be
-                                  transmitted over non-https
-                                  connections. */
-  unsigned domain_exact :1;    /* whether DOMAIN must match as a
-                                  whole. */
+  unsigned secure :1;           /* whether cookie should be
+                                   transmitted over non-https
+                                   connections. */
+  unsigned domain_exact :1;     /* whether DOMAIN must match as a
+                                   whole. */
 
-  unsigned permanent :1;       /* whether the cookie should outlive
-                                  the session. */
-  time_t expiry_time;          /* time when the cookie expires, 0
-                                  means undetermined. */
+  unsigned permanent :1;        /* whether the cookie should outlive
+                                   the session. */
+  time_t expiry_time;           /* time when the cookie expires, 0
+                                   means undetermined. */
 
-  char *attr;                  /* cookie attribute name */
-  char *value;                 /* cookie attribute value */
+  char *attr;                   /* cookie attribute name */
+  char *value;                  /* cookie attribute value */
 
-  struct cookie *next;         /* used for chaining of cookies in the
-                                  same domain. */
+  struct cookie *next;          /* used for chaining of cookies in the
+                                   same domain. */
 };
 
 #define PORT_ANY (-1)
@@ -172,7 +171,7 @@ delete_cookie (struct cookie *cookie)
 
 static struct cookie *
 find_matching_cookie (struct cookie_jar *jar, struct cookie *cookie,
-                     struct cookie **prevptr)
+                      struct cookie **prevptr)
 {
   struct cookie *chain, *prev;
 
@@ -183,11 +182,11 @@ find_matching_cookie (struct cookie_jar *jar, struct cookie *cookie,
   prev = NULL;
   for (; chain; prev = chain, chain = chain->next)
     if (0 == strcmp (cookie->path, chain->path)
-       && 0 == strcmp (cookie->attr, chain->attr)
-       && cookie->port == chain->port)
+        && 0 == strcmp (cookie->attr, chain->attr)
+        && cookie->port == chain->port)
       {
-       *prevptr = prev;
-       return chain;
+        *prevptr = prev;
+        return chain;
       }
 
  nomatch:
@@ -211,7 +210,7 @@ store_cookie (struct cookie_jar *jar, struct cookie *cookie)
   char *chain_key;
 
   if (hash_table_get_pair (jar->chains, cookie->domain,
-                          &chain_key, &chain_head))
+                           &chain_key, &chain_head))
     {
       /* A chain of cookies in this domain already exists.  Check for
          duplicates -- if an extant cookie exactly matches our domain,
@@ -220,35 +219,35 @@ store_cookie (struct cookie_jar *jar, struct cookie *cookie)
       struct cookie *victim = find_matching_cookie (jar, cookie, &prev);
 
       if (victim)
-       {
-         /* Remove VICTIM from the chain.  COOKIE will be placed at
-            the head. */
-         if (prev)
-           {
-             prev->next = victim->next;
-             cookie->next = chain_head;
-           }
-         else
-           {
-             /* prev is NULL; apparently VICTIM was at the head of
-                the chain.  This place will be taken by COOKIE, so
-                all we need to do is:  */
-             cookie->next = victim->next;
-           }
-         delete_cookie (victim);
-         --jar->cookie_count;
-         DEBUGP (("Deleted old cookie (to be replaced.)\n"));
-       }
+        {
+          /* Remove VICTIM from the chain.  COOKIE will be placed at
+             the head. */
+          if (prev)
+            {
+              prev->next = victim->next;
+              cookie->next = chain_head;
+            }
+          else
+            {
+              /* prev is NULL; apparently VICTIM was at the head of
+                 the chain.  This place will be taken by COOKIE, so
+                 all we need to do is:  */
+              cookie->next = victim->next;
+            }
+          delete_cookie (victim);
+          --jar->cookie_count;
+          DEBUGP (("Deleted old cookie (to be replaced.)\n"));
+        }
       else
-       cookie->next = chain_head;
+        cookie->next = chain_head;
     }
   else
     {
       /* We are now creating the chain.  Use a copy of cookie->domain
-        as the key for the life-time of the chain.  Using
-        cookie->domain would be unsafe because the life-time of the
-        chain may exceed the life-time of the cookie.  (Cookies may
-        be deleted from the chain by this very function.)  */
+         as the key for the life-time of the chain.  Using
+         cookie->domain would be unsafe because the life-time of the
+         chain may exceed the life-time of the cookie.  (Cookies may
+         be deleted from the chain by this very function.)  */
       cookie->next = NULL;
       chain_key = xstrdup (cookie->domain);
     }
@@ -260,13 +259,13 @@ store_cookie (struct cookie_jar *jar, struct cookie *cookie)
     {
       time_t exptime = cookie->expiry_time;
       DEBUGP (("\nStored cookie %s %d%s %s <%s> <%s> [expiry %s] %s %s\n",
-              cookie->domain, cookie->port,
-              cookie->port == PORT_ANY ? " (ANY)" : "",
-              cookie->path,
-              cookie->permanent ? "permanent" : "session",
-              cookie->secure ? "secure" : "insecure",
-              cookie->expiry_time ? datetime_str (exptime) : "none",
-              cookie->attr, cookie->value));
+               cookie->domain, cookie->port,
+               cookie->port == PORT_ANY ? " (ANY)" : "",
+               cookie->path,
+               cookie->permanent ? "permanent" : "session",
+               cookie->secure ? "secure" : "insecure",
+               cookie->expiry_time ? datetime_str (exptime) : "none",
+               cookie->attr, cookie->value));
     }
 }
 
@@ -289,28 +288,28 @@ discard_matching_cookie (struct cookie_jar *jar, struct cookie *cookie)
   if (victim)
     {
       if (prev)
-       /* Simply unchain the victim. */
-       prev->next = victim->next;
+        /* Simply unchain the victim. */
+        prev->next = victim->next;
       else
-       {
-         /* VICTIM was head of its chain.  We need to place a new
-            cookie at the head.  */
-         char *chain_key = NULL;
-         int res;
-
-         res = hash_table_get_pair (jar->chains, victim->domain,
-                                    &chain_key, NULL);
-         assert (res != 0);
-         if (!victim->next)
-           {
-             /* VICTIM was the only cookie in the chain.  Destroy the
-                chain and deallocate the chain key.  */
-             hash_table_remove (jar->chains, victim->domain);
-             xfree (chain_key);
-           }
-         else
-           hash_table_put (jar->chains, chain_key, victim->next);
-       }
+        {
+          /* VICTIM was head of its chain.  We need to place a new
+             cookie at the head.  */
+          char *chain_key = NULL;
+          int res;
+
+          res = hash_table_get_pair (jar->chains, victim->domain,
+                                     &chain_key, NULL);
+          assert (res != 0);
+          if (!victim->next)
+            {
+              /* VICTIM was the only cookie in the chain.  Destroy the
+                 chain and deallocate the chain key.  */
+              hash_table_remove (jar->chains, victim->domain);
+              xfree (chain_key);
+            }
+          else
+            hash_table_put (jar->chains, chain_key, victim->next);
+        }
       delete_cookie (victim);
       DEBUGP (("Discarded old cookie.\n"));
     }
@@ -319,7 +318,7 @@ discard_matching_cookie (struct cookie_jar *jar, struct cookie *cookie)
 /* Functions for parsing the `Set-Cookie' header, and creating new
    cookies from the wire.  */
 
-#define TOKEN_IS(token, string_literal)                                \
+#define TOKEN_IS(token, string_literal)                         \
   BOUNDED_EQUAL_NO_CASE (token.b, token.e, string_literal)
 
 #define TOKEN_NON_EMPTY(token) (token.b != NULL && token.b != token.e)
@@ -357,80 +356,79 @@ parse_set_cookie (const char *set_cookie, bool silent)
   while (extract_param (&ptr, &name, &value, ';'))
     {
       if (TOKEN_IS (name, "domain"))
-       {
-         if (!TOKEN_NON_EMPTY (value))
-           goto error;
-         xfree_null (cookie->domain);
-         /* Strictly speaking, we should set cookie->domain_exact if the
-            domain doesn't begin with a dot.  But many sites set the
-            domain to "foo.com" and expect "subhost.foo.com" to get the
-            cookie, and it apparently works in browsers.  */
-         if (*value.b == '.')
-           ++value.b;
-         cookie->domain = strdupdelim (value.b, value.e);
-       }
+        {
+          if (!TOKEN_NON_EMPTY (value))
+            goto error;
+          xfree_null (cookie->domain);
+          /* Strictly speaking, we should set cookie->domain_exact if the
+             domain doesn't begin with a dot.  But many sites set the
+             domain to "foo.com" and expect "subhost.foo.com" to get the
+             cookie, and it apparently works in browsers.  */
+          if (*value.b == '.')
+            ++value.b;
+          cookie->domain = strdupdelim (value.b, value.e);
+        }
       else if (TOKEN_IS (name, "path"))
-       {
-         if (!TOKEN_NON_EMPTY (value))
-           goto error;
-         xfree_null (cookie->path);
-         cookie->path = strdupdelim (value.b, value.e);
-       }
+        {
+          if (!TOKEN_NON_EMPTY (value))
+            goto error;
+          xfree_null (cookie->path);
+          cookie->path = strdupdelim (value.b, value.e);
+        }
       else if (TOKEN_IS (name, "expires"))
-       {
-         char *value_copy;
-         time_t expires;
-
-         if (!TOKEN_NON_EMPTY (value))
-           goto error;
-         BOUNDED_TO_ALLOCA (value.b, value.e, value_copy);
-
-         expires = http_atotm (value_copy);
-         if (expires != (time_t) -1)
-           {
-             cookie->permanent = 1;
-             cookie->expiry_time = expires;
-           }
-         else
-           /* Error in expiration spec.  Assume default (cookie doesn't
-              expire, but valid only for this session.)  */
-           ;
-
-         /* According to netscape's specification, expiry time in the
-            past means that discarding of a matching cookie is
-            requested.  */
-         if (cookie->expiry_time < cookies_now)
-           cookie->discard_requested = 1;
-       }
+        {
+          char *value_copy;
+          time_t expires;
+
+          if (!TOKEN_NON_EMPTY (value))
+            goto error;
+          BOUNDED_TO_ALLOCA (value.b, value.e, value_copy);
+
+          expires = http_atotm (value_copy);
+          if (expires != (time_t) -1)
+            {
+              cookie->permanent = 1;
+              cookie->expiry_time = expires;
+              /* According to netscape's specification, expiry time in
+                 the past means that discarding of a matching cookie
+                 is requested.  */
+              if (cookie->expiry_time < cookies_now)
+                cookie->discard_requested = 1;
+            }
+          else
+            /* Error in expiration spec.  Assume default (cookie doesn't
+               expire, but valid only for this session.)  */
+            ;
+        }
       else if (TOKEN_IS (name, "max-age"))
-       {
-         double maxage = -1;
-         char *value_copy;
-
-         if (!TOKEN_NON_EMPTY (value))
-           goto error;
-         BOUNDED_TO_ALLOCA (value.b, value.e, value_copy);
-
-         sscanf (value_copy, "%lf", &maxage);
-         if (maxage == -1)
-           /* something went wrong. */
-           goto error;
-         cookie->permanent = 1;
-         cookie->expiry_time = cookies_now + maxage;
-
-         /* According to rfc2109, a cookie with max-age of 0 means that
-            discarding of a matching cookie is requested.  */
-         if (maxage == 0)
-           cookie->discard_requested = 1;
-       }
+        {
+          double maxage = -1;
+          char *value_copy;
+
+          if (!TOKEN_NON_EMPTY (value))
+            goto error;
+          BOUNDED_TO_ALLOCA (value.b, value.e, value_copy);
+
+          sscanf (value_copy, "%lf", &maxage);
+          if (maxage == -1)
+            /* something went wrong. */
+            goto error;
+          cookie->permanent = 1;
+          cookie->expiry_time = cookies_now + maxage;
+
+          /* According to rfc2109, a cookie with max-age of 0 means that
+             discarding of a matching cookie is requested.  */
+          if (maxage == 0)
+            cookie->discard_requested = 1;
+        }
       else if (TOKEN_IS (name, "secure"))
-       {
-         /* ignore value completely */
-         cookie->secure = 1;
-       }
+        {
+          /* ignore value completely */
+          cookie->secure = 1;
+        }
       else
-       /* Ignore unrecognized attribute. */
-       ;
+        /* Ignore unrecognized attribute. */
+        ;
     }
   if (*ptr)
     /* extract_param has encountered a syntax error */
@@ -442,8 +440,8 @@ parse_set_cookie (const char *set_cookie, bool silent)
  error:
   if (!silent)
     logprintf (LOG_NOTQUIET,
-              _("Syntax error in Set-Cookie: %s at position %d.\n"),
-              escnonprint (set_cookie), (int) (ptr - set_cookie));
+               _("Syntax error in Set-Cookie: %s at position %d.\n"),
+               escnonprint (set_cookie), (int) (ptr - set_cookie));
   delete_cookie (cookie);
   return NULL;
 }
@@ -456,16 +454,16 @@ parse_set_cookie (const char *set_cookie, bool silent)
    violate your privacy.  */
 
 
-#define REQUIRE_DIGITS(p) do {                 \
-  if (!ISDIGIT (*p))                           \
-    return false;                              \
-  for (++p; ISDIGIT (*p); p++)                 \
-    ;                                          \
+#define REQUIRE_DIGITS(p) do {                  \
+  if (!c_isdigit (*p))                            \
+    return false;                               \
+  for (++p; c_isdigit (*p); p++)                  \
+    ;                                           \
 } while (0)
 
-#define REQUIRE_DOT(p) do {                    \
-  if (*p++ != '.')                             \
-    return false;                              \
+#define REQUIRE_DOT(p) do {                     \
+  if (*p++ != '.')                              \
+    return false;                               \
 } while (0)
 
 /* Check whether ADDR matches <digits>.<digits>.<digits>.<digits>.
@@ -479,13 +477,13 @@ numeric_address_p (const char *addr)
 {
   const char *p = addr;
 
-  REQUIRE_DIGITS (p);          /* A */
-  REQUIRE_DOT (p);             /* . */
-  REQUIRE_DIGITS (p);          /* B */
-  REQUIRE_DOT (p);             /* . */
-  REQUIRE_DIGITS (p);          /* C */
-  REQUIRE_DOT (p);             /* . */
-  REQUIRE_DIGITS (p);          /* D */
+  REQUIRE_DIGITS (p);           /* A */
+  REQUIRE_DOT (p);              /* . */
+  REQUIRE_DIGITS (p);           /* B */
+  REQUIRE_DOT (p);              /* . */
+  REQUIRE_DIGITS (p);           /* C */
+  REQUIRE_DOT (p);              /* . */
+  REQUIRE_DIGITS (p);           /* D */
 
   if (*p != '\0')
     return false;
@@ -546,9 +544,9 @@ check_domain_match (const char *cookie_domain, const char *host)
     know.  */
   {
     const char *p = cookie_domain;
-    int dccount = 1;           /* number of domain components */
-    int ldcl  = 0;             /* last domain component length */
-    int nldcl = 0;             /* next to last domain component length */
+    int dccount = 1;            /* number of domain components */
+    int ldcl  = 0;              /* last domain component length */
+    int nldcl = 0;              /* next to last domain component length */
     int out;
     if (*p == '.')
       /* Ignore leading period in this calculation. */
@@ -556,28 +554,28 @@ check_domain_match (const char *cookie_domain, const char *host)
     DEBUGP ((" 4"));
     for (out = 0; !out; p++)
       switch (*p)
-       {
-       case '\0':
-         out = 1;
-         break;
-       case '.':
-         if (ldcl == 0)
-           /* Empty domain component found -- the domain is invalid. */
-           return false;
-         if (*(p + 1) == '\0')
-           {
-             /* Tolerate trailing '.' by not treating the domain as
-                one ending with an empty domain component.  */
-             out = 1;
-             break;
-           }
-         nldcl = ldcl;
-         ldcl  = 0;
-         ++dccount;
-         break;
-       default:
-         ++ldcl;
-       }
+        {
+        case '\0':
+          out = 1;
+          break;
+        case '.':
+          if (ldcl == 0)
+            /* Empty domain component found -- the domain is invalid. */
+            return false;
+          if (*(p + 1) == '\0')
+            {
+              /* Tolerate trailing '.' by not treating the domain as
+                 one ending with an empty domain component.  */
+              out = 1;
+              break;
+            }
+          nldcl = ldcl;
+          ldcl  = 0;
+          ++dccount;
+          break;
+        default:
+          ++ldcl;
+        }
 
     DEBUGP ((" 5"));
 
@@ -588,19 +586,19 @@ check_domain_match (const char *cookie_domain, const char *host)
 
     if (dccount == 2)
       {
-       int i;
-       int known_toplevel = false;
-       static const char *known_toplevel_domains[] = {
-         ".com", ".edu", ".net", ".org", ".gov", ".mil", ".int"
-       };
-       for (i = 0; i < countof (known_toplevel_domains); i++)
-         if (match_tail (cookie_domain, known_toplevel_domains[i], true))
-           {
-             known_toplevel = true;
-             break;
-           }
-       if (!known_toplevel && nldcl <= 3)
-         return false;
+        int i;
+        int known_toplevel = false;
+        static const char *known_toplevel_domains[] = {
+          ".com", ".edu", ".net", ".org", ".gov", ".mil", ".int"
+        };
+        for (i = 0; i < countof (known_toplevel_domains); i++)
+          if (match_tail (cookie_domain, known_toplevel_domains[i], true))
+            {
+              known_toplevel = true;
+              break;
+            }
+        if (!known_toplevel && nldcl <= 3)
+          return false;
       }
   }
 
@@ -616,7 +614,7 @@ check_domain_match (const char *cookie_domain, const char *host)
       /* desired domain:             bar.com */
       /* '.' must be here in host-> ^        */
       if (hlen > dlen && host[hlen - dlen - 1] != '.')
-       return false;
+        return false;
     }
 
   DEBUGP ((" 8"));
@@ -637,11 +635,11 @@ check_path_match (const char *cookie_path, const char *path)
 /* Prepend '/' to string S.  S is copied to fresh stack-allocated
    space and its value is modified to point to the new location.  */
 
-#define PREPEND_SLASH(s) do {                                  \
-  char *PS_newstr = (char *) alloca (1 + strlen (s) + 1);      \
-  *PS_newstr = '/';                                            \
-  strcpy (PS_newstr + 1, s);                                   \
-  s = PS_newstr;                                               \
+#define PREPEND_SLASH(s) do {                                   \
+  char *PS_newstr = (char *) alloca (1 + strlen (s) + 1);       \
+  *PS_newstr = '/';                                             \
+  strcpy (PS_newstr + 1, s);                                    \
+  s = PS_newstr;                                                \
 } while (0)
 
 \f
@@ -651,8 +649,8 @@ check_path_match (const char *cookie_path, const char *path)
 
 void
 cookie_handle_set_cookie (struct cookie_jar *jar,
-                         const char *host, int port,
-                         const char *path, const char *set_cookie)
+                          const char *host, int port,
+                          const char *path, const char *set_cookie)
 {
   struct cookie *cookie;
   cookies_now = time (NULL);
@@ -672,45 +670,45 @@ cookie_handle_set_cookie (struct cookie_jar *jar,
     {
     copy_domain:
       /* If the domain was not provided, we use the one we're talking
-        to, and set exact match.  */
+         to, and set exact match.  */
       cookie->domain = xstrdup (host);
       cookie->domain_exact = 1;
       /* Set the port, but only if it's non-default. */
       if (port != 80 && port != 443)
-       cookie->port = port;
+        cookie->port = port;
     }
   else
     {
       if (!check_domain_match (cookie->domain, host))
-       {
-         logprintf (LOG_NOTQUIET,
-                    _("Cookie coming from %s attempted to set domain to %s\n"),
-                    escnonprint (host), escnonprint (cookie->domain));
-         xfree (cookie->domain);
-         goto copy_domain;
-       }
+        {
+          logprintf (LOG_NOTQUIET,
+                     _("Cookie coming from %s attempted to set domain to %s\n"),
+                     escnonprint (host), escnonprint (cookie->domain));
+          xfree (cookie->domain);
+          goto copy_domain;
+        }
     }
 
   if (!cookie->path)
     {
       /* The cookie doesn't set path: set it to the URL path, sans the
-        file part ("/dir/file" truncated to "/dir/").  */
+         file part ("/dir/file" truncated to "/dir/").  */
       char *trailing_slash = strrchr (path, '/');
       if (trailing_slash)
-       cookie->path = strdupdelim (path, trailing_slash + 1);
+        cookie->path = strdupdelim (path, trailing_slash + 1);
       else
-       /* no slash in the string -- can this even happen? */
-       cookie->path = xstrdup (path);
+        /* no slash in the string -- can this even happen? */
+        cookie->path = xstrdup (path);
     }
   else
     {
       /* The cookie sets its own path; verify that it is legal. */
       if (!check_path_match (cookie->path, path))
-       {
-         DEBUGP (("Attempt to fake the path: %s, %s\n",
-                  cookie->path, path));
-         goto out;
-       }
+        {
+          DEBUGP (("Attempt to fake the path: %s, %s\n",
+                   cookie->path, path));
+          goto out;
+        }
     }
 
   /* Now store the cookie, or discard an existing cookie, if
@@ -761,7 +759,7 @@ count_char (const char *string, char chr)
 
 static int
 find_chains_of_host (struct cookie_jar *jar, const char *host,
-                    struct cookie *dest[])
+                     struct cookie *dest[])
 {
   int dest_count = 0;
   int passes, passcnt;
@@ -789,9 +787,9 @@ find_chains_of_host (struct cookie_jar *jar, const char *host,
     {
       struct cookie *chain = hash_table_get (jar->chains, host);
       if (chain)
-       dest[dest_count++] = chain;
+        dest[dest_count++] = chain;
       if (++passcnt >= passes)
-       break;
+        break;
       host = strchr (host, '.') + 1;
     }
 
@@ -823,8 +821,8 @@ path_matches (const char *full_path, const char *prefix)
 
 static bool
 cookie_matches_url (const struct cookie *cookie,
-                   const char *host, int port, const char *path,
-                   bool secflag, int *path_goodness)
+                    const char *host, int port, const char *path,
+                    bool secflag, int *path_goodness)
 {
   int pg;
 
@@ -895,8 +893,8 @@ equality_comparator (const void *p1, const void *p2)
 static int
 eliminate_dups (struct weighed_cookie *outgoing, int count)
 {
-  struct weighed_cookie *h;    /* hare */
-  struct weighed_cookie *t;    /* tortoise */
+  struct weighed_cookie *h;     /* hare */
+  struct weighed_cookie *t;     /* tortoise */
   struct weighed_cookie *end = outgoing + count;
 
   /* We deploy a simple uniquify algorithm: first sort the array
@@ -912,20 +910,20 @@ eliminate_dups (struct weighed_cookie *outgoing, int count)
   for (h = t = outgoing; h < end; h++)
     {
       if (h != end - 1)
-       {
-         struct cookie *c0 = h[0].cookie;
-         struct cookie *c1 = h[1].cookie;
-         if (!strcmp (c0->attr, c1->attr) && !strcmp (c0->value, c1->value))
-           continue;           /* ignore the duplicate */
-       }
+        {
+          struct cookie *c0 = h[0].cookie;
+          struct cookie *c1 = h[1].cookie;
+          if (!strcmp (c0->attr, c1->attr) && !strcmp (c0->value, c1->value))
+            continue;           /* ignore the duplicate */
+        }
 
       /* If the hare has advanced past the tortoise (because of
-        previous dups), make sure the values get copied.  Otherwise,
-        no copying is necessary.  */
+         previous dups), make sure the values get copied.  Otherwise,
+         no copying is necessary.  */
       if (h != t)
-       *t++ = *h;
+        *t++ = *h;
       else
-       t++;
+        t++;
     }
   return t - outgoing;
 }
@@ -957,7 +955,7 @@ goodness_comparator (const void *p1, const void *p2)
 
 char *
 cookie_header (struct cookie_jar *jar, const char *host,
-              int port, const char *path, bool secflag)
+               int port, const char *path, bool secflag)
 {
   struct cookie **chains;
   int chain_count;
@@ -967,7 +965,7 @@ cookie_header (struct cookie_jar *jar, const char *host,
   int count, i, ocnt;
   char *result;
   int result_size, pos;
-  PREPEND_SLASH (path);                /* see cookie_handle_set_cookie */
+  PREPEND_SLASH (path);         /* see cookie_handle_set_cookie */
 
   /* First, find the cookie chains whose domains match HOST. */
 
@@ -992,9 +990,9 @@ cookie_header (struct cookie_jar *jar, const char *host,
   for (i = 0; i < chain_count; i++)
     for (cookie = chains[i]; cookie; cookie = cookie->next)
       if (cookie_matches_url (cookie, host, port, path, secflag, NULL))
-       ++count;
+        ++count;
   if (!count)
-    return NULL;               /* no cookies matched */
+    return NULL;                /* no cookies matched */
 
   /* Allocate the array. */
   outgoing = alloca_array (struct weighed_cookie, count);
@@ -1005,13 +1003,13 @@ cookie_header (struct cookie_jar *jar, const char *host,
   for (i = 0; i < chain_count; i++)
     for (cookie = chains[i]; cookie; cookie = cookie->next)
       {
-       int pg;
-       if (!cookie_matches_url (cookie, host, port, path, secflag, &pg))
-         continue;
-       outgoing[ocnt].cookie = cookie;
-       outgoing[ocnt].domain_goodness = strlen (cookie->domain);
-       outgoing[ocnt].path_goodness   = pg;
-       ++ocnt;
+        int pg;
+        if (!cookie_matches_url (cookie, host, port, path, secflag, &pg))
+          continue;
+        outgoing[ocnt].cookie = cookie;
+        outgoing[ocnt].domain_goodness = strlen (cookie->domain);
+        outgoing[ocnt].path_goodness   = pg;
+        ++ocnt;
       }
   assert (ocnt == count);
 
@@ -1051,10 +1049,10 @@ cookie_header (struct cookie_jar *jar, const char *host,
       memcpy (result + pos, c->value, vallen);
       pos += vallen;
       if (i < count - 1)
-       {
-         result[pos++] = ';';
-         result[pos++] = ' ';
-       }
+        {
+          result[pos++] = ';';
+          result[pos++] = ' ';
+        }
     }
   result[pos++] = '\0';
   assert (pos == result_size);
@@ -1085,8 +1083,8 @@ cookie_header (struct cookie_jar *jar, const char *host,
 
    Example line from cookies.txt (split in two lines for readability):
 
-       .google.com     TRUE    /       FALSE   2147368447      \
-       PREF    ID=34bb47565bbcd47b:LD=en:NR=20:TM=985172580:LM=985739012
+       .google.com      TRUE    /       FALSE   2147368447      \
+       PREF     ID=34bb47565bbcd47b:LD=en:NR=20:TM=985172580:LM=985739012
 
 */
 
@@ -1096,14 +1094,14 @@ cookie_header (struct cookie_jar *jar, const char *host,
 
 static int
 domain_port (const char *domain_b, const char *domain_e,
-            const char **domain_e_ptr)
+             const char **domain_e_ptr)
 {
   int port = 0;
   const char *p;
   const char *colon = memchr (domain_b, ':', domain_e - domain_b);
   if (!colon)
     return 0;
-  for (p = colon + 1; p < domain_e && ISDIGIT (*p); p++)
+  for (p = colon + 1; p < domain_e && c_isdigit (*p); p++)
     port = 10 * port + (*p - '0');
   if (p < domain_e)
     /* Garbage following port number. */
@@ -1112,14 +1110,14 @@ domain_port (const char *domain_b, const char *domain_e,
   return port;
 }
 
-#define GET_WORD(p, b, e) do {                 \
-  b = p;                                       \
-  while (*p && *p != '\t')                     \
-    ++p;                                       \
-  e = p;                                       \
-  if (b == e || !*p)                           \
-    goto next;                                 \
-  ++p;                                         \
+#define GET_WORD(p, b, e) do {                  \
+  b = p;                                        \
+  while (*p && *p != '\t')                      \
+    ++p;                                        \
+  e = p;                                        \
+  if (b == e || !*p)                            \
+    goto next;                                  \
+  ++p;                                          \
 } while (0)
 
 /* Load cookies from FILE.  */
@@ -1132,7 +1130,7 @@ cookie_jar_load (struct cookie_jar *jar, const char *file)
   if (!fp)
     {
       logprintf (LOG_NOTQUIET, _("Cannot open cookies file `%s': %s\n"),
-                file, strerror (errno));
+                 file, strerror (errno));
       return;
     }
   cookies_now = time (NULL);
@@ -1154,11 +1152,11 @@ cookie_jar_load (struct cookie_jar *jar, const char *file)
       char *value_b   = NULL, *value_e   = NULL;
 
       /* Skip leading white-space. */
-      while (*p && ISSPACE (*p))
-       ++p;
+      while (*p && c_isspace (*p))
+        ++p;
       /* Ignore empty lines.  */
       if (!*p || *p == '#')
-       continue;
+        continue;
 
       GET_WORD (p, domain_b,  domain_e);
       GET_WORD (p, domflag_b, domflag_e);
@@ -1168,13 +1166,13 @@ cookie_jar_load (struct cookie_jar *jar, const char *file)
       GET_WORD (p, name_b,    name_e);
 
       /* Don't use GET_WORD for value because it ends with newline,
-        not TAB.  */
+         not TAB.  */
       value_b = p;
       value_e = p + strlen (p);
       if (value_e > value_b && value_e[-1] == '\n')
-       --value_e;
+        --value_e;
       if (value_e > value_b && value_e[-1] == '\r')
-       --value_e;
+        --value_e;
       /* Empty values are legal (I think), so don't bother checking. */
 
       cookie = cookie_new ();
@@ -1185,43 +1183,43 @@ cookie_jar_load (struct cookie_jar *jar, const char *file)
       cookie->secure  = BOUNDED_EQUAL (secure_b, secure_e, "TRUE");
 
       /* Curl source says, quoting Andre Garcia: "flag: A TRUE/FALSE
-        value indicating if all machines within a given domain can
-        access the variable.  This value is set automatically by the
-        browser, depending on the value set for the domain."  */
+         value indicating if all machines within a given domain can
+         access the variable.  This value is set automatically by the
+         browser, depending on the value set for the domain."  */
       cookie->domain_exact = !BOUNDED_EQUAL (domflag_b, domflag_e, "TRUE");
 
       /* DOMAIN needs special treatment because we might need to
-        extract the port.  */
+         extract the port.  */
       port = domain_port (domain_b, domain_e, (const char **)&domain_e);
       if (port)
-       cookie->port = port;
+        cookie->port = port;
 
       if (*domain_b == '.')
-       ++domain_b;             /* remove leading dot internally */
+        ++domain_b;             /* remove leading dot internally */
       cookie->domain  = strdupdelim (domain_b, domain_e);
 
       /* safe default in case EXPIRES field is garbled. */
       expiry = (double)cookies_now - 1;
 
       /* I don't like changing the line, but it's safe here.  (line is
-        malloced.)  */
+         malloced.)  */
       *expires_e = '\0';
       sscanf (expires_b, "%lf", &expiry);
 
       if (expiry == 0)
-       {
-         /* EXPIRY can be 0 for session cookies saved because the
-            user specified `--keep-session-cookies' in the past.
-            They remain session cookies, and will be saved only if
-            the user has specified `keep-session-cookies' again.  */
-       }
+        {
+          /* EXPIRY can be 0 for session cookies saved because the
+             user specified `--keep-session-cookies' in the past.
+             They remain session cookies, and will be saved only if
+             the user has specified `keep-session-cookies' again.  */
+        }
       else
-       {
-         if (expiry < cookies_now)
-           goto abort_cookie;  /* ignore stale cookie. */
-         cookie->expiry_time = expiry;
-         cookie->permanent = 1;
-       }
+        {
+          if (expiry < cookies_now)
+            goto abort_cookie;  /* ignore stale cookie. */
+          cookie->expiry_time = expiry;
+          cookie->permanent = 1;
+        }
 
       store_cookie (jar, cookie);
 
@@ -1250,7 +1248,7 @@ cookie_jar_save (struct cookie_jar *jar, const char *file)
   if (!fp)
     {
       logprintf (LOG_NOTQUIET, _("Cannot open cookies file `%s': %s\n"),
-                file, strerror (errno));
+                 file, strerror (errno));
       return;
     }
 
@@ -1265,32 +1263,32 @@ cookie_jar_save (struct cookie_jar *jar, const char *file)
       const char *domain = iter.key;
       struct cookie *cookie = iter.value;
       for (; cookie; cookie = cookie->next)
-       {
-         if (!cookie->permanent && !opt.keep_session_cookies)
-           continue;
-         if (cookie_expired_p (cookie))
-           continue;
-         if (!cookie->domain_exact)
-           fputc ('.', fp);
-         fputs (domain, fp);
-         if (cookie->port != PORT_ANY)
-           fprintf (fp, ":%d", cookie->port);
-         fprintf (fp, "\t%s\t%s\t%s\t%.0f\t%s\t%s\n",
-                  cookie->domain_exact ? "FALSE" : "TRUE",
-                  cookie->path, cookie->secure ? "TRUE" : "FALSE",
-                  (double)cookie->expiry_time,
-                  cookie->attr, cookie->value);
-         if (ferror (fp))
-           goto out;
-       }
+        {
+          if (!cookie->permanent && !opt.keep_session_cookies)
+            continue;
+          if (cookie_expired_p (cookie))
+            continue;
+          if (!cookie->domain_exact)
+            fputc ('.', fp);
+          fputs (domain, fp);
+          if (cookie->port != PORT_ANY)
+            fprintf (fp, ":%d", cookie->port);
+          fprintf (fp, "\t%s\t%s\t%s\t%.0f\t%s\t%s\n",
+                   cookie->domain_exact ? "FALSE" : "TRUE",
+                   cookie->path, cookie->secure ? "TRUE" : "FALSE",
+                   (double)cookie->expiry_time,
+                   cookie->attr, cookie->value);
+          if (ferror (fp))
+            goto out;
+        }
     }
  out:
   if (ferror (fp))
     logprintf (LOG_NOTQUIET, _("Error writing to `%s': %s\n"),
-              file, strerror (errno));
+               file, strerror (errno));
   if (fclose (fp) < 0)
     logprintf (LOG_NOTQUIET, _("Error closing `%s': %s\n"),
-              file, strerror (errno));
+               file, strerror (errno));
 
   DEBUGP (("Done saving cookies.\n"));
 }
@@ -1308,11 +1306,11 @@ cookie_jar_delete (struct cookie_jar *jar)
       xfree (iter.key);
       /* Then all cookies in this chain. */
       while (chain)
-       {
-         struct cookie *next = chain->next;
-         delete_cookie (chain);
-         chain = next;
-       }
+        {
+          struct cookie *next = chain->next;
+          delete_cookie (chain);
+          chain = next;
+        }
     }
   hash_table_destroy (jar->chains);
   xfree (jar);
@@ -1360,37 +1358,37 @@ test_cookies (void)
 
       c = parse_set_cookie (data, true);
       if (!c)
-       {
-         printf ("NULL cookie returned for valid data: %s\n", data);
-         continue;
-       }
+        {
+          printf ("NULL cookie returned for valid data: %s\n", data);
+          continue;
+        }
 
       /* Test whether extract_param handles these cases correctly. */
       {
-       param_token name, value;
-       const char *ptr = data;
-       int j = 0;
-       while (extract_param (&ptr, &name, &value, ';'))
-         {
-           char *n = strdupdelim (name.b, name.e);
-           char *v = strdupdelim (value.b, value.e);
-           if (!expected[j])
-             {
-               printf ("Too many parameters for '%s'\n", data);
-               break;
-             }
-           if (0 != strcmp (expected[j], n))
-             printf ("Invalid name %d for '%s' (expected '%s', got '%s')\n",
-                     j / 2 + 1, data, expected[j], n);
-           if (0 != strcmp (expected[j + 1], v))
-             printf ("Invalid value %d for '%s' (expected '%s', got '%s')\n",
-                     j / 2 + 1, data, expected[j + 1], v);
-           j += 2;
-           free (n);
-           free (v);
-         }
-       if (expected[j])
-         printf ("Too few parameters for '%s'\n", data);
+        param_token name, value;
+        const char *ptr = data;
+        int j = 0;
+        while (extract_param (&ptr, &name, &value, ';'))
+          {
+            char *n = strdupdelim (name.b, name.e);
+            char *v = strdupdelim (value.b, value.e);
+            if (!expected[j])
+              {
+                printf ("Too many parameters for '%s'\n", data);
+                break;
+              }
+            if (0 != strcmp (expected[j], n))
+              printf ("Invalid name %d for '%s' (expected '%s', got '%s')\n",
+                      j / 2 + 1, data, expected[j], n);
+            if (0 != strcmp (expected[j + 1], v))
+              printf ("Invalid value %d for '%s' (expected '%s', got '%s')\n",
+                      j / 2 + 1, data, expected[j + 1], v);
+            j += 2;
+            free (n);
+            free (v);
+          }
+        if (expected[j])
+          printf ("Too few parameters for '%s'\n", data);
       }
     }
 
@@ -1400,7 +1398,7 @@ test_cookies (void)
       char *data = tests_fail[i];
       c = parse_set_cookie (data, true);
       if (c)
-       printf ("Failed to report error on invalid data: %s\n", data);
+        printf ("Failed to report error on invalid data: %s\n", data);
     }
 }
 #endif /* TEST_COOKIES */
index 10158eb48c4a1a4d1e31463bd57e967ab71b414b..acddf4e6dc49679ba72adebff069b34aca1c5d7f 100644 (file)
@@ -1,11 +1,12 @@
 /* Support for cookies.
-   Copyright (C) 2001-2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful, but
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef COOKIES_H
 #define COOKIES_H
index 851f506884b9a0817770151af7898e7c595b1434..38f0069fa394637e58b990b33ea54add4785be74 100644 (file)
@@ -1,11 +1,12 @@
 /* Basic FTP routines.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <assert.h>
 #include <stdio.h>
@@ -38,8 +39,6 @@ so, delete this exception statement from your version.  */
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif
-
-#include "wget.h"
 #include "utils.h"
 #include "connect.h"
 #include "host.h"
@@ -66,30 +65,30 @@ ftp_response (int fd, char **ret_line)
       char *p;
       char *line = fd_read_line (fd);
       if (!line)
-       return FTPRERR;
+        return FTPRERR;
 
       /* Strip trailing CRLF before printing the line, so that
-        escnonprint doesn't include bogus \012 and \015. */
+         escnonprint doesn't include bogus \012 and \015. */
       p = strchr (line, '\0');
       if (p > line && p[-1] == '\n')
-       *--p = '\0';
+        *--p = '\0';
       if (p > line && p[-1] == '\r')
-       *--p = '\0';
+        *--p = '\0';
 
       if (opt.server_response)
-       logprintf (LOG_NOTQUIET, "%s\n", escnonprint (line));
+        logprintf (LOG_NOTQUIET, "%s\n", escnonprint (line));
       else
         DEBUGP (("%s\n", escnonprint (line)));
 
       /* The last line of output is the one that begins with "ddd ". */
-      if (ISDIGIT (line[0]) && ISDIGIT (line[1]) && ISDIGIT (line[2])
-         && line[3] == ' ')
-       {
-         strncpy (ftp_last_respline, line, sizeof (ftp_last_respline));
-         ftp_last_respline[sizeof (ftp_last_respline) - 1] = '\0';
-         *ret_line = line;
-         return FTPOK;
-       }
+      if (c_isdigit (line[0]) && c_isdigit (line[1]) && c_isdigit (line[2])
+          && line[3] == ' ')
+        {
+          strncpy (ftp_last_respline, line, sizeof (ftp_last_respline));
+          ftp_last_respline[sizeof (ftp_last_respline) - 1] = '\0';
+          *ret_line = line;
+          return FTPOK;
+        }
       xfree (line);
     }
 }
@@ -104,23 +103,23 @@ ftp_request (const char *command, const char *value)
   if (value)
     {
       /* Check for newlines in VALUE (possibly injected by the %0A URL
-        escape) making the callers inadvertently send multiple FTP
-        commands at once.  Without this check an attacker could
-        intentionally redirect to ftp://server/fakedir%0Acommand.../
-        and execute arbitrary FTP command on a remote FTP server.  */
+         escape) making the callers inadvertently send multiple FTP
+         commands at once.  Without this check an attacker could
+         intentionally redirect to ftp://server/fakedir%0Acommand.../
+         and execute arbitrary FTP command on a remote FTP server.  */
       if (strpbrk (value, "\r\n"))
-       {
-         /* Copy VALUE to the stack and modify CR/LF to space. */
-         char *defanged, *p;
-         STRDUP_ALLOCA (defanged, value);
-         for (p = defanged; *p; p++)
-           if (*p == '\r' || *p == '\n')
-             *p = ' ';
-         DEBUGP (("\nDetected newlines in %s \"%s\"; changing to %s \"%s\"\n",
-                  command, escnonprint (value), command, escnonprint (defanged)));
-         /* Make VALUE point to the defanged copy of the string. */
-         value = defanged;
-       }
+        {
+          /* Copy VALUE to the stack and modify CR/LF to space. */
+          char *defanged, *p;
+          STRDUP_ALLOCA (defanged, value);
+          for (p = defanged; *p; p++)
+            if (*p == '\r' || *p == '\n')
+              *p = ' ';
+          DEBUGP (("\nDetected newlines in %s \"%s\"; changing to %s \"%s\"\n",
+                   command, escnonprint (value), command, escnonprint (defanged)));
+          /* Make VALUE point to the defanged copy of the string. */
+          value = defanged;
+        }
       res = concat_strings (command, " ", value, "\r\n", (char *) 0);
     }
   else
@@ -193,29 +192,29 @@ ftp_login (int csock, const char *acc, const char *pass)
 
     for (i = 0; i < countof (skey_head); i++)
       {
-       int l = strlen (skey_head[i]);
+        int l = strlen (skey_head[i]);
         if (0 == strncasecmp (skey_head[i], respline, l))
-         {
-           seed = respline + l;
-           break;
-         }
+          {
+            seed = respline + l;
+            break;
+          }
       }
     if (seed)
       {
         int skey_sequence = 0;
 
-       /* Extract the sequence from SEED.  */
-       for (; ISDIGIT (*seed); seed++)
-         skey_sequence = 10 * skey_sequence + *seed - '0';
-       if (*seed == ' ')
-         ++seed;
+        /* Extract the sequence from SEED.  */
+        for (; c_isdigit (*seed); seed++)
+          skey_sequence = 10 * skey_sequence + *seed - '0';
+        if (*seed == ' ')
+          ++seed;
         else
           {
             xfree (respline);
             return FTPLOGREFUSED;
           }
-       /* Replace the password with the SKEY response to the
-          challenge.  */
+        /* Replace the password with the SKEY response to the
+           challenge.  */
         pass = skey_response (skey_sequence, seed, pass);
       }
   }
@@ -334,16 +333,16 @@ ip_address_to_lprt_repr (const ip_address *addr, int port, char *buf,
     {
     case AF_INET: 
       snprintf (buf, buflen, "%d,%d,%d,%d,%d,%d,%d,%d,%d", 4, 4, 
-               ptr[0], ptr[1], ptr[2], ptr[3], 2,
-               (port & 0xff00) >> 8, port & 0xff);
+                ptr[0], ptr[1], ptr[2], ptr[3], 2,
+                (port & 0xff00) >> 8, port & 0xff);
       break;
     case AF_INET6: 
       snprintf (buf, buflen,
-               "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
-               6, 16,
-               ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5], ptr[6], ptr[7], 
-               ptr[8], ptr[9], ptr[10], ptr[11], ptr[12], ptr[13], ptr[14], ptr[15],
-               2, (port & 0xff00) >> 8, port & 0xff);
+                "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
+                6, 16,
+                ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5], ptr[6], ptr[7], 
+                ptr[8], ptr[9], ptr[10], ptr[11], ptr[12], ptr[13], ptr[14], ptr[15],
+                2, (port & 0xff00) >> 8, port & 0xff);
       break;
     default:
       abort ();
@@ -521,14 +520,14 @@ ftp_pasv (int csock, ip_address *addr, int *port)
     }
   /* Parse the request.  */
   s = respline;
-  for (s += 4; *s && !ISDIGIT (*s); s++)
+  for (s += 4; *s && !c_isdigit (*s); s++)
     ;
   if (!*s)
     return FTPINVPASV;
   for (i = 0; i < 6; i++)
     {
       tmp[i] = 0;
-      for (; ISDIGIT (*s); s++)
+      for (; c_isdigit (*s); s++)
         tmp[i] = (*s - '0') + 10 * tmp[i];
       if (*s == ',')
         s++;
@@ -590,14 +589,14 @@ ftp_lpsv (int csock, ip_address *addr, int *port)
 
   /* Parse the response.  */
   s = respline;
-  for (s += 4; *s && !ISDIGIT (*s); s++)
+  for (s += 4; *s && !c_isdigit (*s); s++)
     ;
   if (!*s)
     return FTPINVPASV;
 
   /* First, get the address family */
   af = 0;
-  for (; ISDIGIT (*s); s++)
+  for (; c_isdigit (*s); s++)
     af = (*s - '0') + 10 * af;
 
   if (af != 4 && af != 6)
@@ -614,7 +613,7 @@ ftp_lpsv (int csock, ip_address *addr, int *port)
 
   /* Then, get the address length */
   addrlen = 0;
-  for (; ISDIGIT (*s); s++)
+  for (; c_isdigit (*s); s++)
     addrlen = (*s - '0') + 10 * addrlen;
 
   if (!*s || *s++ != ',')
@@ -640,7 +639,7 @@ ftp_lpsv (int csock, ip_address *addr, int *port)
   for (i = 0; i < addrlen; i++)
     {
       tmp[i] = 0;
-      for (; ISDIGIT (*s); s++)
+      for (; c_isdigit (*s); s++)
         tmp[i] = (*s - '0') + 10 * tmp[i];
       if (*s == ',')
         s++;
@@ -653,7 +652,7 @@ ftp_lpsv (int csock, ip_address *addr, int *port)
 
   /* Now, get the port length */
   portlen = 0;
-  for (; ISDIGIT (*s); s++)
+  for (; c_isdigit (*s); s++)
     portlen = (*s - '0') + 10 * portlen;
 
   if (!*s || *s++ != ',')
@@ -670,7 +669,7 @@ ftp_lpsv (int csock, ip_address *addr, int *port)
 
   /* Finally, we get the port number */
   tmpprt[0] = 0;
-  for (; ISDIGIT (*s); s++)
+  for (; c_isdigit (*s); s++)
     tmpprt[0] = (*s - '0') + 10 * tmpprt[0];
 
   if (!*s || *s++ != ',')
@@ -680,7 +679,7 @@ ftp_lpsv (int csock, ip_address *addr, int *port)
     }
 
   tmpprt[1] = 0;
-  for (; ISDIGIT (*s); s++)
+  for (; c_isdigit (*s); s++)
     tmpprt[1] = (*s - '0') + 10 * tmpprt[1];
 
   assert (s != NULL);
@@ -786,7 +785,7 @@ ftp_epsv (int csock, ip_address *ip, int *port)
 
   /* Finally, get the port number */
   tport = 0; 
-  for (i = 1; ISDIGIT (*s); s++) 
+  for (i = 1; c_isdigit (*s); s++) 
     {
       if (i > 5)
         {
@@ -986,14 +985,14 @@ ftp_list (int csock, const char *file)
           {
             err = FTPNSFOD;
           }
-       else if (*respline == '1')
+        else if (*respline == '1')
           {
             err = FTPOK;
             ok = true;
           }
         else 
           {
-           err = FTPRERR;
+            err = FTPRERR;
           }
         xfree (respline);
       }
@@ -1038,12 +1037,14 @@ ftp_syst (int csock, enum stype *server_type)
      first word of the server response)?  */
   request = strtok (NULL, " ");
 
-  if (!strcasecmp (request, "VMS"))
+  if (request == NULL)
+    *server_type = ST_OTHER;
+  else if (!strcasecmp (request, "VMS"))
     *server_type = ST_VMS;
   else if (!strcasecmp (request, "UNIX"))
     *server_type = ST_UNIX;
   else if (!strcasecmp (request, "WINDOWS_NT")
-          || !strcasecmp (request, "WINDOWS2000"))
+           || !strcasecmp (request, "WINDOWS2000"))
     *server_type = ST_WINNT;
   else if (!strcasecmp (request, "MACOS"))
     *server_type = ST_MACOS;
@@ -1169,7 +1170,7 @@ ftp_process_type (const char *params)
   if (params
       && 0 == strncasecmp (params, "type=", 5)
       && params[5] != '\0')
-    return TOUPPER (params[5]);
+    return c_toupper (params[5]);
   else
     return 'I';
 }
index 6406c8fbe9894a8b3d1f0e27656c18e968d2b290..e050c5a25460a5444a032e0eaa83a6f1daff8f02 100644 (file)
@@ -1,11 +1,12 @@
 /* Parsing FTP `ls' output.
-   Copyright (C) 1996-2004 Free Software Foundation, Inc. 
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -37,13 +38,11 @@ so, delete this exception statement from your version.  */
 #endif
 #include <errno.h>
 #include <time.h>
-
-#include "wget.h"
 #include "utils.h"
 #include "ftp.h"
 #include "url.h"
-#include "convert.h"           /* for html_quote_string prototype */
-#include "retr.h"              /* for output_stream */
+#include "convert.h"            /* for html_quote_string prototype */
+#include "retr.h"               /* for output_stream */
 
 /* Converts symbolic permissions to number-style ones, e.g. string
    rwxr-xr-x to 755.  For now, it knows nothing of
@@ -59,7 +58,7 @@ symperms (const char *s)
     {
       perms <<= 3;
       perms += (((s[0] == 'r') << 2) + ((s[1] == 'w') << 1) +
-               (s[2] == 'x' || s[2] == 's'));
+                (s[2] == 'x' || s[2] == 's'));
     }
   return perms;
 }
@@ -99,12 +98,12 @@ ftp_parse_unix_ls (const char *file, int ignore_perms)
     "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
   };
   int next, len, i, error, ignore;
-  int year, month, day;                /* for time analysis */
+  int year, month, day;         /* for time analysis */
   int hour, min, sec;
   struct tm timestruct, *tnow;
   time_t timenow;
 
-  char *line, *tok, *ptok;     /* tokenizer */
+  char *line, *tok, *ptok;      /* tokenizer */
   struct fileinfo *dir, *l, cur; /* list creation */
 
   fp = fopen (file, "rb");
@@ -121,270 +120,270 @@ ftp_parse_unix_ls (const char *file, int ignore_perms)
       len = clean_line (line);
       /* Skip if total...  */
       if (!strncasecmp (line, "total", 5))
-       {
-         xfree (line);
-         continue;
-       }
+        {
+          xfree (line);
+          continue;
+        }
       /* Get the first token (permissions).  */
       tok = strtok (line, " ");
       if (!tok)
-       {
-         xfree (line);
-         continue;
-       }
+        {
+          xfree (line);
+          continue;
+        }
 
       cur.name = NULL;
       cur.linkto = NULL;
 
       /* Decide whether we deal with a file or a directory.  */
       switch (*tok)
-       {
-       case '-':
-         cur.type = FT_PLAINFILE;
-         DEBUGP (("PLAINFILE; "));
-         break;
-       case 'd':
-         cur.type = FT_DIRECTORY;
-         DEBUGP (("DIRECTORY; "));
-         break;
-       case 'l':
-         cur.type = FT_SYMLINK;
-         DEBUGP (("SYMLINK; "));
-         break;
-       default:
-         cur.type = FT_UNKNOWN;
-         DEBUGP (("UNKNOWN; "));
-         break;
-       }
+        {
+        case '-':
+          cur.type = FT_PLAINFILE;
+          DEBUGP (("PLAINFILE; "));
+          break;
+        case 'd':
+          cur.type = FT_DIRECTORY;
+          DEBUGP (("DIRECTORY; "));
+          break;
+        case 'l':
+          cur.type = FT_SYMLINK;
+          DEBUGP (("SYMLINK; "));
+          break;
+        default:
+          cur.type = FT_UNKNOWN;
+          DEBUGP (("UNKNOWN; "));
+          break;
+        }
 
       if (ignore_perms)
-       {
-         switch (cur.type)
-           {
-           case FT_PLAINFILE:
-             cur.perms = 0644;
-             break;
-           case FT_DIRECTORY:
-             cur.perms = 0755;
-             break;
-           default:
-             /*cur.perms = 1023;*/     /* #### What is this?  --hniksic */
-             cur.perms = 0644;
-           }
-         DEBUGP (("implicit perms %0o; ", cur.perms));
-       }
+        {
+          switch (cur.type)
+            {
+            case FT_PLAINFILE:
+              cur.perms = 0644;
+              break;
+            case FT_DIRECTORY:
+              cur.perms = 0755;
+              break;
+            default:
+              /*cur.perms = 1023;*/     /* #### What is this?  --hniksic */
+              cur.perms = 0644;
+            }
+          DEBUGP (("implicit perms %0o; ", cur.perms));
+        }
        else
          {
-          cur.perms = symperms (tok + 1);
-          DEBUGP (("perms %0o; ", cur.perms));
-        }
+           cur.perms = symperms (tok + 1);
+           DEBUGP (("perms %0o; ", cur.perms));
+         }
 
       error = ignore = 0;       /* Erroneous and ignoring entries are
-                                  treated equally for now.  */
+                                   treated equally for now.  */
       year = hour = min = sec = 0; /* Silence the compiler.  */
       month = day = 0;
       next = -1;
       /* While there are tokens on the line, parse them.  Next is the
-        number of tokens left until the filename.
+         number of tokens left until the filename.
 
-        Use the month-name token as the "anchor" (the place where the
-        position wrt the file name is "known").  When a month name is
-        encountered, `next' is set to 5.  Also, the preceding
-        characters are parsed to get the file size.
+         Use the month-name token as the "anchor" (the place where the
+         position wrt the file name is "known").  When a month name is
+         encountered, `next' is set to 5.  Also, the preceding
+         characters are parsed to get the file size.
 
-        This tactic is quite dubious when it comes to
-        internationalization issues (non-English month names), but it
-        works for now.  */
+         This tactic is quite dubious when it comes to
+         internationalization issues (non-English month names), but it
+         works for now.  */
       tok = line;
       while (ptok = tok,
-            (tok = strtok (NULL, " ")) != NULL)
-       {
-         --next;
-         if (next < 0)         /* a month name was not encountered */
-           {
-             for (i = 0; i < 12; i++)
-               if (!strcmp (tok, months[i]))
-                 break;
-             /* If we got a month, it means the token before it is the
-                size, and the filename is three tokens away.  */
-             if (i != 12)
-               {
-                 wgint size;
-
-                 /* Parse the previous token with str_to_wgint.  */
-                 if (ptok == line)
-                   {
-                     /* Something has gone wrong during parsing. */
-                     error = 1;
-                     break;
-                   }
-                 errno = 0;
-                 size = str_to_wgint (ptok, NULL, 10);
-                 if (size == WGINT_MAX && errno == ERANGE)
-                   /* Out of range -- ignore the size.  #### Should
-                      we refuse to start the download.  */
-                   cur.size = 0;
-                 else
-                   cur.size = size;
-                 DEBUGP (("size: %s; ", number_to_static_string(cur.size)));
-
-                 month = i;
-                 next = 5;
-                 DEBUGP (("month: %s; ", months[month]));
-               }
-           }
-         else if (next == 4)   /* days */
-           {
-             if (tok[1])       /* two-digit... */
-               day = 10 * (*tok - '0') + tok[1] - '0';
-             else              /* ...or one-digit */
-               day = *tok - '0';
-             DEBUGP (("day: %d; ", day));
-           }
-         else if (next == 3)
-           {
-             /* This ought to be either the time, or the year.  Let's
-                be flexible!
-
-                If we have a number x, it's a year.  If we have x:y,
-                it's hours and minutes.  If we have x:y:z, z are
-                seconds.  */
-             year = 0;
-             min = hour = sec = 0;
-             /* We must deal with digits.  */
-             if (ISDIGIT (*tok))
-               {
-                 /* Suppose it's year.  */
-                 for (; ISDIGIT (*tok); tok++)
-                   year = (*tok - '0') + 10 * year;
-                 if (*tok == ':')
-                   {
-                     /* This means these were hours!  */
-                     hour = year;
-                     year = 0;
-                     ++tok;
-                     /* Get the minutes...  */
-                     for (; ISDIGIT (*tok); tok++)
-                       min = (*tok - '0') + 10 * min;
-                     if (*tok == ':')
-                       {
-                         /* ...and the seconds.  */
-                         ++tok;
-                         for (; ISDIGIT (*tok); tok++)
-                           sec = (*tok - '0') + 10 * sec;
-                       }
-                   }
-               }
-             if (year)
-               DEBUGP (("year: %d (no tm); ", year));
-             else
-               DEBUGP (("time: %02d:%02d:%02d (no yr); ", hour, min, sec));
-           }
-         else if (next == 2)    /* The file name */
-           {
-             int fnlen;
-             char *p;
-
-             /* Since the file name may contain a SPC, it is possible
-                for strtok to handle it wrong.  */
-             fnlen = strlen (tok);
-             if (fnlen < len - (tok - line))
-               {
-                 /* So we have a SPC in the file name.  Restore the
-                    original.  */
-                 tok[fnlen] = ' ';
-                 /* If the file is a symbolic link, it should have a
-                    ` -> ' somewhere.  */
-                 if (cur.type == FT_SYMLINK)
-                   {
-                     p = strstr (tok, " -> ");
-                     if (!p)
-                       {
-                         error = 1;
-                         break;
-                       }
-                     cur.linkto = xstrdup (p + 4);
-                     DEBUGP (("link to: %s\n", cur.linkto));
-                     /* And separate it from the file name.  */
-                     *p = '\0';
-                   }
-               }
-             /* If we have the filename, add it to the list of files or
-                directories.  */
-             /* "." and ".." are an exception!  */
-             if (!strcmp (tok, ".") || !strcmp (tok, ".."))
-               {
-                 DEBUGP (("\nIgnoring `.' and `..'; "));
-                 ignore = 1;
-                 break;
-               }
-             /* Some FTP sites choose to have ls -F as their default
-                LIST output, which marks the symlinks with a trailing
-                `@', directory names with a trailing `/' and
-                executables with a trailing `*'.  This is no problem
-                unless encountering a symbolic link ending with `@',
-                or an executable ending with `*' on a server without
-                default -F output.  I believe these cases are very
-                rare.  */
-             fnlen = strlen (tok); /* re-calculate `fnlen' */
-             cur.name = xmalloc (fnlen + 1);
-             memcpy (cur.name, tok, fnlen + 1);
-             if (fnlen)
-               {
-                 if (cur.type == FT_DIRECTORY && cur.name[fnlen - 1] == '/')
-                   {
-                     cur.name[fnlen - 1] = '\0';
-                     DEBUGP (("trailing `/' on dir.\n"));
-                   }
-                 else if (cur.type == FT_SYMLINK && cur.name[fnlen - 1] == '@')
-                   {
-                     cur.name[fnlen - 1] = '\0';
-                     DEBUGP (("trailing `@' on link.\n"));
-                   }
-                 else if (cur.type == FT_PLAINFILE
-                          && (cur.perms & 0111)
-                          && cur.name[fnlen - 1] == '*')
-                   {
-                     cur.name[fnlen - 1] = '\0';
-                     DEBUGP (("trailing `*' on exec.\n"));
-                   }
-               } /* if (fnlen) */
-             else
-               error = 1;
-             break;
-           }
-         else
-           abort ();
-       } /* while */
+             (tok = strtok (NULL, " ")) != NULL)
+        {
+          --next;
+          if (next < 0)         /* a month name was not encountered */
+            {
+              for (i = 0; i < 12; i++)
+                if (!strcmp (tok, months[i]))
+                  break;
+              /* If we got a month, it means the token before it is the
+                 size, and the filename is three tokens away.  */
+              if (i != 12)
+                {
+                  wgint size;
+
+                  /* Parse the previous token with str_to_wgint.  */
+                  if (ptok == line)
+                    {
+                      /* Something has gone wrong during parsing. */
+                      error = 1;
+                      break;
+                    }
+                  errno = 0;
+                  size = str_to_wgint (ptok, NULL, 10);
+                  if (size == WGINT_MAX && errno == ERANGE)
+                    /* Out of range -- ignore the size.  #### Should
+                       we refuse to start the download.  */
+                    cur.size = 0;
+                  else
+                    cur.size = size;
+                  DEBUGP (("size: %s; ", number_to_static_string(cur.size)));
+
+                  month = i;
+                  next = 5;
+                  DEBUGP (("month: %s; ", months[month]));
+                }
+            }
+          else if (next == 4)   /* days */
+            {
+              if (tok[1])       /* two-digit... */
+                day = 10 * (*tok - '0') + tok[1] - '0';
+              else              /* ...or one-digit */
+                day = *tok - '0';
+              DEBUGP (("day: %d; ", day));
+            }
+          else if (next == 3)
+            {
+              /* This ought to be either the time, or the year.  Let's
+                 be flexible!
+
+                 If we have a number x, it's a year.  If we have x:y,
+                 it's hours and minutes.  If we have x:y:z, z are
+                 seconds.  */
+              year = 0;
+              min = hour = sec = 0;
+              /* We must deal with digits.  */
+              if (c_isdigit (*tok))
+                {
+                  /* Suppose it's year.  */
+                  for (; c_isdigit (*tok); tok++)
+                    year = (*tok - '0') + 10 * year;
+                  if (*tok == ':')
+                    {
+                      /* This means these were hours!  */
+                      hour = year;
+                      year = 0;
+                      ++tok;
+                      /* Get the minutes...  */
+                      for (; c_isdigit (*tok); tok++)
+                        min = (*tok - '0') + 10 * min;
+                      if (*tok == ':')
+                        {
+                          /* ...and the seconds.  */
+                          ++tok;
+                          for (; c_isdigit (*tok); tok++)
+                            sec = (*tok - '0') + 10 * sec;
+                        }
+                    }
+                }
+              if (year)
+                DEBUGP (("year: %d (no tm); ", year));
+              else
+                DEBUGP (("time: %02d:%02d:%02d (no yr); ", hour, min, sec));
+            }
+          else if (next == 2)    /* The file name */
+            {
+              int fnlen;
+              char *p;
+
+              /* Since the file name may contain a SPC, it is possible
+                 for strtok to handle it wrong.  */
+              fnlen = strlen (tok);
+              if (fnlen < len - (tok - line))
+                {
+                  /* So we have a SPC in the file name.  Restore the
+                     original.  */
+                  tok[fnlen] = ' ';
+                  /* If the file is a symbolic link, it should have a
+                     ` -> ' somewhere.  */
+                  if (cur.type == FT_SYMLINK)
+                    {
+                      p = strstr (tok, " -> ");
+                      if (!p)
+                        {
+                          error = 1;
+                          break;
+                        }
+                      cur.linkto = xstrdup (p + 4);
+                      DEBUGP (("link to: %s\n", cur.linkto));
+                      /* And separate it from the file name.  */
+                      *p = '\0';
+                    }
+                }
+              /* If we have the filename, add it to the list of files or
+                 directories.  */
+              /* "." and ".." are an exception!  */
+              if (!strcmp (tok, ".") || !strcmp (tok, ".."))
+                {
+                  DEBUGP (("\nIgnoring `.' and `..'; "));
+                  ignore = 1;
+                  break;
+                }
+              /* Some FTP sites choose to have ls -F as their default
+                 LIST output, which marks the symlinks with a trailing
+                 `@', directory names with a trailing `/' and
+                 executables with a trailing `*'.  This is no problem
+                 unless encountering a symbolic link ending with `@',
+                 or an executable ending with `*' on a server without
+                 default -F output.  I believe these cases are very
+                 rare.  */
+              fnlen = strlen (tok); /* re-calculate `fnlen' */
+              cur.name = xmalloc (fnlen + 1);
+              memcpy (cur.name, tok, fnlen + 1);
+              if (fnlen)
+                {
+                  if (cur.type == FT_DIRECTORY && cur.name[fnlen - 1] == '/')
+                    {
+                      cur.name[fnlen - 1] = '\0';
+                      DEBUGP (("trailing `/' on dir.\n"));
+                    }
+                  else if (cur.type == FT_SYMLINK && cur.name[fnlen - 1] == '@')
+                    {
+                      cur.name[fnlen - 1] = '\0';
+                      DEBUGP (("trailing `@' on link.\n"));
+                    }
+                  else if (cur.type == FT_PLAINFILE
+                           && (cur.perms & 0111)
+                           && cur.name[fnlen - 1] == '*')
+                    {
+                      cur.name[fnlen - 1] = '\0';
+                      DEBUGP (("trailing `*' on exec.\n"));
+                    }
+                } /* if (fnlen) */
+              else
+                error = 1;
+              break;
+            }
+          else
+            abort ();
+        } /* while */
 
       if (!cur.name || (cur.type == FT_SYMLINK && !cur.linkto))
-       error = 1;
+        error = 1;
 
       DEBUGP (("%s\n", cur.name ? cur.name : ""));
 
       if (error || ignore)
-       {
-         DEBUGP (("Skipping.\n"));
-         xfree_null (cur.name);
-         xfree_null (cur.linkto);
-         xfree (line);
-         continue;
-       }
+        {
+          DEBUGP (("Skipping.\n"));
+          xfree_null (cur.name);
+          xfree_null (cur.linkto);
+          xfree (line);
+          continue;
+        }
 
       if (!dir)
-       {
-         l = dir = xnew (struct fileinfo);
-         memcpy (l, &cur, sizeof (cur));
-         l->prev = l->next = NULL;
-       }
+        {
+          l = dir = xnew (struct fileinfo);
+          memcpy (l, &cur, sizeof (cur));
+          l->prev = l->next = NULL;
+        }
       else
-       {
-         cur.prev = l;
-         l->next = xnew (struct fileinfo);
-         l = l->next;
-         memcpy (l, &cur, sizeof (cur));
-         l->next = NULL;
-       }
+        {
+          cur.prev = l;
+          l->next = xnew (struct fileinfo);
+          l = l->next;
+          memcpy (l, &cur, sizeof (cur));
+          l->next = NULL;
+        }
       /* Get the current time.  */
       timenow = time (NULL);
       tnow = localtime (&timenow);
@@ -395,21 +394,21 @@ ftp_parse_unix_ls (const char *file, int ignore_perms)
       timestruct.tm_mday  = day;
       timestruct.tm_mon   = month;
       if (year == 0)
-       {
-         /* Some listings will not specify the year if it is "obvious"
-            that the file was from the previous year.  E.g. if today
-            is 97-01-12, and you see a file of Dec 15th, its year is
-            1996, not 1997.  Thanks to Vladimir Volovich for
-            mentioning this!  */
-         if (month > tnow->tm_mon)
-           timestruct.tm_year = tnow->tm_year - 1;
-         else
-           timestruct.tm_year = tnow->tm_year;
-       }
+        {
+          /* Some listings will not specify the year if it is "obvious"
+             that the file was from the previous year.  E.g. if today
+             is 97-01-12, and you see a file of Dec 15th, its year is
+             1996, not 1997.  Thanks to Vladimir Volovich for
+             mentioning this!  */
+          if (month > tnow->tm_mon)
+            timestruct.tm_year = tnow->tm_year - 1;
+          else
+            timestruct.tm_year = tnow->tm_year;
+        }
       else
-       timestruct.tm_year = year;
+        timestruct.tm_year = year;
       if (timestruct.tm_year >= 1900)
-       timestruct.tm_year -= 1900;
+        timestruct.tm_year -= 1900;
       timestruct.tm_wday  = 0;
       timestruct.tm_yday  = 0;
       timestruct.tm_isdst = -1;
@@ -459,7 +458,7 @@ ftp_parse_winnt_ls (const char *file)
       DEBUGP(("Name: '%s'\n", cur.name));
 
       /* First column: mm-dd-yy. Should atoi() on the month fail, january
-        will be assumed.  */
+         will be assumed.  */
       tok = strtok(line, "-");
       if (tok == NULL) continue;
       month = atoi(tok) - 1;
@@ -513,43 +512,43 @@ ftp_parse_winnt_ls (const char *file)
       while ((tok != NULL) && (*tok == '\0'))  tok = strtok(NULL, " ");
       if (tok == NULL) continue;
       if (*tok == '<')
-       {
-         cur.type  = FT_DIRECTORY;
-         cur.size  = 0;
-         cur.perms = 0755;
-         DEBUGP(("Directory\n"));
-       }
+        {
+          cur.type  = FT_DIRECTORY;
+          cur.size  = 0;
+          cur.perms = 0755;
+          DEBUGP(("Directory\n"));
+        }
       else
-       {
-         wgint size;
-         cur.type  = FT_PLAINFILE;
-         errno = 0;
-         size = str_to_wgint (tok, NULL, 10);
-         if (size == WGINT_MAX && errno == ERANGE)
-           cur.size = 0;       /* overflow */
-         else
-           cur.size = size;
-         cur.perms = 0644;
-         DEBUGP(("File, size %s bytes\n", number_to_static_string (cur.size)));
-       }
+        {
+          wgint size;
+          cur.type  = FT_PLAINFILE;
+          errno = 0;
+          size = str_to_wgint (tok, NULL, 10);
+          if (size == WGINT_MAX && errno == ERANGE)
+            cur.size = 0;       /* overflow */
+          else
+            cur.size = size;
+          cur.perms = 0644;
+          DEBUGP(("File, size %s bytes\n", number_to_static_string (cur.size)));
+        }
 
       cur.linkto = NULL;
 
       /* And put everything into the linked list */
       if (!dir)
-       {
-         l = dir = xnew (struct fileinfo);
-         memcpy (l, &cur, sizeof (cur));
-         l->prev = l->next = NULL;
-       }
+        {
+          l = dir = xnew (struct fileinfo);
+          memcpy (l, &cur, sizeof (cur));
+          l->prev = l->next = NULL;
+        }
       else
-       {
-         cur.prev = l;
-         l->next = xnew (struct fileinfo);
-         l = l->next;
-         memcpy (l, &cur, sizeof (cur));
-         l->next = NULL;
-       }
+        {
+          cur.prev = l;
+          l->next = xnew (struct fileinfo);
+          l = l->next;
+          memcpy (l, &cur, sizeof (cur));
+          l->next = NULL;
+        }
 
       xfree (line);
     }
@@ -596,7 +595,7 @@ ftp_parse_vms_ls (const char *file)
   int hour, min, sec;
   struct tm timestruct;
 
-  char *line, *tok;             /* tokenizer */
+  char *line, *tok;              /* tokenizer */
   struct fileinfo *dir, *l, cur; /* list creation */
 
   fp = fopen (file, "rb");
@@ -625,10 +624,10 @@ ftp_parse_vms_ls (const char *file)
       char *p;
       i = clean_line (line);
       if (!i)
-       {
-         xfree (line);
-         break;
-       }
+        {
+          xfree (line);
+          break;
+        }
 
       /* First column: Name. A bit of black magic again. The name my be
          either ABCD.EXT or ABCD.EXT;NUM and it might be on a separate
@@ -642,7 +641,7 @@ ftp_parse_vms_ls (const char *file)
       if (tok == NULL) tok = line;
       DEBUGP(("file name: '%s'\n", tok));
       for (p = tok ; *p && *p != ';' ; p++)
-       ;
+        ;
       if (*p == ';') *p = '\0';
       p   = tok + strlen(tok) - 4;
       if (!strcmp(p, ".DIR")) *p = '\0';
@@ -686,7 +685,7 @@ ftp_parse_vms_ls (const char *file)
         if (!i) 
         {
           DEBUGP(("confusing VMS listing item, leaving listing parser\n"));
-         xfree (line);
+          xfree (line);
           break;
         }
         tok = strtok(line, " ");
@@ -707,7 +706,7 @@ ftp_parse_vms_ls (const char *file)
            the first strtok(NULL, "-") will return everything until the end
            of the line and only the next strtok() call will return NULL. */
         DEBUGP(("nonsense in VMS listing, skipping this line\n"));
-       xfree (line);
+        xfree (line);
         break;
       }
       for (i=0; i<12; i++) if (!strcmp(tok,months[i])) break;
@@ -725,13 +724,13 @@ ftp_parse_vms_ls (const char *file)
       p = tok;
       hour = atoi (p);
       for (; *p && *p != ':'; ++p)
-       ;
+        ;
       if (*p)
-       min = atoi (++p);
+        min = atoi (++p);
       for (; *p && *p != ':'; ++p)
-       ;
+        ;
       if (*p)
-       sec = atoi (++p);
+        sec = atoi (++p);
 
       DEBUGP(("YYYY/MM/DD HH:MM:SS - %d/%02d/%02d %02d:%02d:%02d\n", 
               year+1900, month, day, hour, min, sec));
@@ -763,7 +762,7 @@ ftp_parse_vms_ls (const char *file)
       if (tok == NULL)
         {
           DEBUGP(("confusing VMS permissions, skipping line\n"));
-         xfree (line);
+          xfree (line);
           continue;
         }
       /* Permissons have the format "RWED,RWED,RE" */
@@ -811,21 +810,21 @@ ftp_parse_ls (const char *file, const enum stype system_type)
       return ftp_parse_unix_ls (file, 0);
     case ST_WINNT:
       {
-       /* Detect whether the listing is simulating the UNIX format */
-       FILE *fp;
-       int   c;
-       fp = fopen (file, "rb");
-       if (!fp)
-       {
-         logprintf (LOG_NOTQUIET, "%s: %s\n", file, strerror (errno));
-         return NULL;
+        /* Detect whether the listing is simulating the UNIX format */
+        FILE *fp;
+        int   c;
+        fp = fopen (file, "rb");
+        if (!fp)
+        {
+          logprintf (LOG_NOTQUIET, "%s: %s\n", file, strerror (errno));
+          return NULL;
         }
-       c = fgetc(fp);
-       fclose(fp);
-       /* If the first character of the file is '0'-'9', it's WINNT
-          format. */
-       if (c >= '0' && c <='9')
-         return ftp_parse_winnt_ls (file);
+        c = fgetc(fp);
+        fclose(fp);
+        /* If the first character of the file is '0'-'9', it's WINNT
+           format. */
+        if (c >= '0' && c <='9')
+          return ftp_parse_winnt_ls (file);
         else
           return ftp_parse_unix_ls (file, 1);
       }
@@ -850,16 +849,16 @@ ftp_index (const char *file, struct url *u, struct fileinfo *f)
 {
   FILE *fp;
   char *upwd;
-  char *htclfile;              /* HTML-clean file name */
+  char *htclfile;               /* HTML-clean file name */
 
   if (!output_stream)
     {
       fp = fopen (file, "wb");
       if (!fp)
-       {
-         logprintf (LOG_NOTQUIET, "%s: %s\n", file, strerror (errno));
-         return FOPENERR;
-       }
+        {
+          logprintf (LOG_NOTQUIET, "%s: %s\n", file, strerror (errno));
+          return FOPENERR;
+        }
     }
   else
     fp = output_stream;
@@ -870,9 +869,9 @@ ftp_index (const char *file, struct url *u, struct fileinfo *f)
       tmpu = url_escape (u->user);
       tmpp = u->passwd ? url_escape (u->passwd) : NULL;
       if (tmpp)
-       upwd = concat_strings (tmpu, ":", tmpp, "@", (char *) 0);
+        upwd = concat_strings (tmpu, ":", tmpp, "@", (char *) 0);
       else
-       upwd = concat_strings (tmpu, "@", (char *) 0);
+        upwd = concat_strings (tmpu, "@", (char *) 0);
       xfree (tmpu);
       xfree_null (tmpp);
     }
@@ -888,57 +887,57 @@ ftp_index (const char *file, struct url *u, struct fileinfo *f)
     {
       fprintf (fp, "  ");
       if (f->tstamp != -1)
-       {
-         /* #### Should we translate the months?  Or, even better, use
-            ISO 8601 dates?  */
-         static const char *months[] = {
-           "Jan", "Feb", "Mar", "Apr", "May", "Jun",
-           "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-         };
-         struct tm *ptm = localtime ((time_t *)&f->tstamp);
-
-         fprintf (fp, "%d %s %02d ", ptm->tm_year + 1900, months[ptm->tm_mon],
-                 ptm->tm_mday);
-         if (ptm->tm_hour)
-           fprintf (fp, "%02d:%02d  ", ptm->tm_hour, ptm->tm_min);
-         else
-           fprintf (fp, "       ");
-       }
+        {
+          /* #### Should we translate the months?  Or, even better, use
+             ISO 8601 dates?  */
+          static const char *months[] = {
+            "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
+          };
+          struct tm *ptm = localtime ((time_t *)&f->tstamp);
+
+          fprintf (fp, "%d %s %02d ", ptm->tm_year + 1900, months[ptm->tm_mon],
+                  ptm->tm_mday);
+          if (ptm->tm_hour)
+            fprintf (fp, "%02d:%02d  ", ptm->tm_hour, ptm->tm_min);
+          else
+            fprintf (fp, "       ");
+        }
       else
-       fprintf (fp, _("time unknown       "));
+        fprintf (fp, _("time unknown       "));
       switch (f->type)
-       {
-       case FT_PLAINFILE:
-         fprintf (fp, _("File        "));
-         break;
-       case FT_DIRECTORY:
-         fprintf (fp, _("Directory   "));
-         break;
-       case FT_SYMLINK:
-         fprintf (fp, _("Link        "));
-         break;
-       default:
-         fprintf (fp, _("Not sure    "));
-         break;
-       }
+        {
+        case FT_PLAINFILE:
+          fprintf (fp, _("File        "));
+          break;
+        case FT_DIRECTORY:
+          fprintf (fp, _("Directory   "));
+          break;
+        case FT_SYMLINK:
+          fprintf (fp, _("Link        "));
+          break;
+        default:
+          fprintf (fp, _("Not sure    "));
+          break;
+        }
       htclfile = html_quote_string (f->name);
       fprintf (fp, "<a href=\"ftp://%s%s:%d", upwd, u->host, u->port);
       if (*u->dir != '/')
-       putc ('/', fp);
+        putc ('/', fp);
       fprintf (fp, "%s", u->dir);
       if (*u->dir)
-       putc ('/', fp);
+        putc ('/', fp);
       fprintf (fp, "%s", htclfile);
       if (f->type == FT_DIRECTORY)
-       putc ('/', fp);
+        putc ('/', fp);
       fprintf (fp, "\">%s", htclfile);
       if (f->type == FT_DIRECTORY)
-       putc ('/', fp);
+        putc ('/', fp);
       fprintf (fp, "</a> ");
       if (f->type == FT_PLAINFILE)
-       fprintf (fp, _(" (%s bytes)"), number_to_static_string (f->size));
+        fprintf (fp, _(" (%s bytes)"), number_to_static_string (f->size));
       else if (f->type == FT_SYMLINK)
-       fprintf (fp, "-> %s", f->linkto ? f->linkto : "(nil)");
+        fprintf (fp, "-> %s", f->linkto ? f->linkto : "(nil)");
       putc ('\n', fp);
       xfree (htclfile);
       f = f->next;
index d5331ce155db416236e044ead051cf6485083e7a..8af58f90775cc9f3584de8f9d089871a9c074d81 100644 (file)
@@ -1,11 +1,12 @@
 /* Opie (s/key) support for FTP.
-   Copyright (C) 1998-2004 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,26 +15,25 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
-#include "wget.h"
 #include "gen-md5.h"
 #include "ftp.h"
 
@@ -2118,8 +2118,8 @@ extract (const unsigned char *s, int start, int length)
 static char *
 btoe (char *store, const unsigned char *c)
 {
-  unsigned char cp[10];                /* add in room for the parity 2 bits +
-                                  extract() slop.  */
+  unsigned char cp[10];         /* add in room for the parity 2 bits +
+                                   extract() slop.  */
   int p, i;
   char *store_beg = store;
 
@@ -2155,7 +2155,7 @@ btoe (char *store, const unsigned char *c)
   store += STRLEN_1_4 (store);
   *store++ = ' ';
   memcpy (store, &Wp[extract (cp, 55, 11)][0], 4);
-  store[4] = '\0';             /* make sure the string is terminated */
+  store[4] = '\0';              /* make sure the string is terminated */
 
   DEBUGP (("wrote `%s' to STORE\n", store_beg));
   return store_beg;
index d122f4dc7173530105a408779eec4a8e27598c2b..0321032168487d2eff9b66a13de03595b531ae4a 100644 (file)
--- a/src/ftp.c
+++ b/src/ftp.c
@@ -1,11 +1,12 @@
 /* File Transfer Protocol support.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -39,7 +40,6 @@ so, delete this exception statement from your version.  */
 #include <errno.h>
 #include <time.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "url.h"
 #include "retr.h"
@@ -47,22 +47,26 @@ so, delete this exception statement from your version.  */
 #include "connect.h"
 #include "host.h"
 #include "netrc.h"
-#include "convert.h"           /* for downloaded_file */
-#include "recur.h"             /* for INFINITE_RECURSION */
+#include "convert.h"            /* for downloaded_file */
+#include "recur.h"              /* for INFINITE_RECURSION */
 
 /* File where the "ls -al" listing will be saved.  */
+#ifdef MSDOS
+#define LIST_FILENAME "_listing"
+#else
 #define LIST_FILENAME ".listing"
+#endif
 
 typedef struct
 {
-  int st;                      /* connection status */
-  int cmd;                     /* command code */
-  int csock;                   /* control connection socket */
-  double dltime;               /* time of the download in msecs */
-  enum stype rs;               /* remote system reported by ftp server */ 
-  char *id;                    /* initial directory */
-  char *target;                        /* target file name */
-  struct url *proxy;           /* FTWK-style proxy */
+  int st;                       /* connection status */
+  int cmd;                      /* command code */
+  int csock;                    /* control connection socket */
+  double dltime;                /* time of the download in msecs */
+  enum stype rs;                /* remote system reported by ftp server */ 
+  char *id;                     /* initial directory */
+  char *target;                 /* target file name */
+  struct url *proxy;            /* FTWK-style proxy */
 } ccon;
 
 
@@ -77,23 +81,23 @@ ftp_expected_bytes (const char *s)
   while (1)
     {
       while (*s && *s != '(')
-       ++s;
+        ++s;
       if (!*s)
-       return 0;
-      ++s;                     /* skip the '(' */
+        return 0;
+      ++s;                      /* skip the '(' */
       res = str_to_wgint (s, (char **) &s, 10);
       if (!*s)
-       return 0;
-      while (*s && ISSPACE (*s))
-       ++s;
+        return 0;
+      while (*s && c_isspace (*s))
+        ++s;
       if (!*s)
-       return 0;
-      if (TOLOWER (*s) != 'b')
-       continue;
+        return 0;
+      if (c_tolower (*s) != 'b')
+        continue;
       if (strncasecmp (s, "byte", 4))
-       continue;
+        continue;
       else
-       break;
+        break;
     }
   return res;
 }
@@ -213,12 +217,12 @@ print_length (wgint size, wgint start, bool authoritative)
   if (start > 0)
     {
       if (start >= 1024)
-       logprintf (LOG_VERBOSE, _(", %s (%s) remaining"),
-                  number_to_static_string (size - start),
-                  human_readable (size - start));
+        logprintf (LOG_VERBOSE, _(", %s (%s) remaining"),
+                   number_to_static_string (size - start),
+                   human_readable (size - start));
       else
-       logprintf (LOG_VERBOSE, _(", %s remaining"),
-                  number_to_static_string (size - start));
+        logprintf (LOG_VERBOSE, _(", %s remaining"),
+                   number_to_static_string (size - start));
     }
   logputs (LOG_VERBOSE, !authoritative ? _(" (unauthoritative)\n") : "\n");
 }
@@ -230,7 +234,7 @@ static uerr_t
 getftp (struct url *u, wgint *len, wgint restval, ccon *con)
 {
   int csock, dtsock, local_sock, res;
-  uerr_t err = RETROK;         /* appease the compiler */
+  uerr_t err = RETROK;          /* appease the compiler */
   FILE *fp;
   char *user, *passwd, *respline;
   char *tms;
@@ -266,7 +270,7 @@ getftp (struct url *u, wgint *len, wgint restval, ccon *con)
 
   if (!(cmd & DO_LOGIN))
     csock = con->csock;
-  else                         /* cmd & DO_LOGIN */
+  else                          /* cmd & DO_LOGIN */
     {
       char type_char;
       char    *host = con->proxy ? con->proxy->host : u->host;
@@ -274,10 +278,10 @@ getftp (struct url *u, wgint *len, wgint restval, ccon *con)
       char *logname = user;
 
       if (con->proxy)
-       {
-         /* If proxy is in use, log in as username@target-site. */
-         logname = concat_strings (user, "@", u->host, (char *) 0);
-       }
+        {
+          /* If proxy is in use, log in as username@target-site. */
+          logname = concat_strings (user, "@", u->host, (char *) 0);
+        }
 
       /* Login to the server: */
 
@@ -285,296 +289,296 @@ getftp (struct url *u, wgint *len, wgint restval, ccon *con)
 
       csock = connect_to_host (host, port);
       if (csock == E_HOST)
-       return HOSTERR;
+        return HOSTERR;
       else if (csock < 0)
-       return (retryable_socket_connect_error (errno)
-               ? CONERROR : CONIMPOSSIBLE);
+        return (retryable_socket_connect_error (errno)
+                ? CONERROR : CONIMPOSSIBLE);
 
       if (cmd & LEAVE_PENDING)
-       con->csock = csock;
+        con->csock = csock;
       else
-       con->csock = -1;
+        con->csock = -1;
 
       /* Second: Login with proper USER/PASS sequence.  */
       logprintf (LOG_VERBOSE, _("Logging in as %s ... "), escnonprint (user));
       if (opt.server_response)
-       logputs (LOG_ALWAYS, "\n");
+        logputs (LOG_ALWAYS, "\n");
       err = ftp_login (csock, logname, passwd);
 
       if (con->proxy)
-       xfree (logname);
+        xfree (logname);
 
       /* FTPRERR, FTPSRVERR, WRITEFAILED, FTPLOGREFUSED, FTPLOGINC */
       switch (err)
-       {
-       case FTPRERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case FTPSRVERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("Error in server greeting.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case WRITEFAILED:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET,
-                  _("Write failed, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case FTPLOGREFUSED:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("The server refuses login.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return FTPLOGREFUSED;
-       case FTPLOGINC:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("Login incorrect.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return FTPLOGINC;
-       case FTPOK:
-         if (!opt.server_response)
-           logputs (LOG_VERBOSE, _("Logged in!\n"));
-         break;
-       default:
-         abort ();
-       }
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case FTPSRVERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("Error in server greeting.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case WRITEFAILED:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET,
+                   _("Write failed, closing control connection.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case FTPLOGREFUSED:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("The server refuses login.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          return FTPLOGREFUSED;
+        case FTPLOGINC:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("Login incorrect.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          return FTPLOGINC;
+        case FTPOK:
+          if (!opt.server_response)
+            logputs (LOG_VERBOSE, _("Logged in!\n"));
+          break;
+        default:
+          abort ();
+        }
       /* Third: Get the system type */
       if (!opt.server_response)
-       logprintf (LOG_VERBOSE, "==> SYST ... ");
+        logprintf (LOG_VERBOSE, "==> SYST ... ");
       err = ftp_syst (csock, &con->rs);
       /* FTPRERR */
       switch (err)
-       {
-       case FTPRERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case FTPSRVERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET,
-                  _("Server error, can't determine system type.\n"));
-         break;
-       case FTPOK:
-         /* Everything is OK.  */
-         break;
-       default:
-         abort ();
-       }
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case FTPSRVERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET,
+                   _("Server error, can't determine system type.\n"));
+          break;
+        case FTPOK:
+          /* Everything is OK.  */
+          break;
+        default:
+          abort ();
+        }
       if (!opt.server_response && err != FTPSRVERR)
-       logputs (LOG_VERBOSE, _("done.    "));
+        logputs (LOG_VERBOSE, _("done.    "));
 
       /* Fourth: Find the initial ftp directory */
 
       if (!opt.server_response)
-       logprintf (LOG_VERBOSE, "==> PWD ... ");
+        logprintf (LOG_VERBOSE, "==> PWD ... ");
       err = ftp_pwd (csock, &con->id);
       /* FTPRERR */
       switch (err)
-       {
-       case FTPRERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case FTPSRVERR :
-         /* PWD unsupported -- assume "/". */
-         xfree_null (con->id);
-         con->id = xstrdup ("/");
-         break;
-       case FTPOK:
-         /* Everything is OK.  */
-         break;
-       default:
-         abort ();
-       }
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case FTPSRVERR :
+          /* PWD unsupported -- assume "/". */
+          xfree_null (con->id);
+          con->id = xstrdup ("/");
+          break;
+        case FTPOK:
+          /* Everything is OK.  */
+          break;
+        default:
+          abort ();
+        }
       /* VMS will report something like "PUB$DEVICE:[INITIAL.FOLDER]".
          Convert it to "/INITIAL/FOLDER" */ 
       if (con->rs == ST_VMS)
         {
           char *path = strchr (con->id, '[');
-         char *pathend = path ? strchr (path + 1, ']') : NULL;
-         if (!path || !pathend)
-           DEBUGP (("Initial VMS directory not in the form [...]!\n"));
-         else
-           {
-             char *idir = con->id;
-             DEBUGP (("Preprocessing the initial VMS directory\n"));
-             DEBUGP (("  old = '%s'\n", con->id));
-             /* We do the conversion in-place by copying the stuff
-                between [ and ] to the beginning, and changing dots
-                to slashes at the same time.  */
-             *idir++ = '/';
-             for (++path; path < pathend; path++, idir++)
-               *idir = *path == '.' ? '/' : *path;
-             *idir = '\0';
-             DEBUGP (("  new = '%s'\n\n", con->id));
-           }
-       }
+          char *pathend = path ? strchr (path + 1, ']') : NULL;
+          if (!path || !pathend)
+            DEBUGP (("Initial VMS directory not in the form [...]!\n"));
+          else
+            {
+              char *idir = con->id;
+              DEBUGP (("Preprocessing the initial VMS directory\n"));
+              DEBUGP (("  old = '%s'\n", con->id));
+              /* We do the conversion in-place by copying the stuff
+                 between [ and ] to the beginning, and changing dots
+                 to slashes at the same time.  */
+              *idir++ = '/';
+              for (++path; path < pathend; path++, idir++)
+                *idir = *path == '.' ? '/' : *path;
+              *idir = '\0';
+              DEBUGP (("  new = '%s'\n\n", con->id));
+            }
+        }
       if (!opt.server_response)
-       logputs (LOG_VERBOSE, _("done.\n"));
+        logputs (LOG_VERBOSE, _("done.\n"));
 
       /* Fifth: Set the FTP type.  */
       type_char = ftp_process_type (u->params);
       if (!opt.server_response)
-       logprintf (LOG_VERBOSE, "==> TYPE %c ... ", type_char);
+        logprintf (LOG_VERBOSE, "==> TYPE %c ... ", type_char);
       err = ftp_type (csock, type_char);
       /* FTPRERR, WRITEFAILED, FTPUNKNOWNTYPE */
       switch (err)
-       {
-       case FTPRERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case WRITEFAILED:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET,
-                  _("Write failed, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case FTPUNKNOWNTYPE:
-         logputs (LOG_VERBOSE, "\n");
-         logprintf (LOG_NOTQUIET,
-                    _("Unknown type `%c', closing control connection.\n"),
-                    type_char);
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case FTPOK:
-         /* Everything is OK.  */
-         break;
-       default:
-         abort ();
-       }
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case WRITEFAILED:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET,
+                   _("Write failed, closing control connection.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case FTPUNKNOWNTYPE:
+          logputs (LOG_VERBOSE, "\n");
+          logprintf (LOG_NOTQUIET,
+                     _("Unknown type `%c', closing control connection.\n"),
+                     type_char);
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case FTPOK:
+          /* Everything is OK.  */
+          break;
+        default:
+          abort ();
+        }
       if (!opt.server_response)
-       logputs (LOG_VERBOSE, _("done.  "));
+        logputs (LOG_VERBOSE, _("done.  "));
     } /* do login */
 
   if (cmd & DO_CWD)
     {
       if (!*u->dir)
-       logputs (LOG_VERBOSE, _("==> CWD not needed.\n"));
+        logputs (LOG_VERBOSE, _("==> CWD not needed.\n"));
       else
-       {
-         char *target = u->dir;
-
-         DEBUGP (("changing working directory\n"));
-
-         /* Change working directory.  To change to a non-absolute
-            Unix directory, we need to prepend initial directory
-            (con->id) to it.  Absolute directories "just work".
-
-            A relative directory is one that does not begin with '/'
-            and, on non-Unix OS'es, one that doesn't begin with
-            "[a-z]:".
-
-            This is not done for OS400, which doesn't use
-            "/"-delimited directories, nor does it support directory
-            hierarchies.  "CWD foo" followed by "CWD bar" leaves us
-            in "bar", not in "foo/bar", as would be customary
-            elsewhere.  */
-
-         if (target[0] != '/'
-             && !(con->rs != ST_UNIX
-                  && ISALPHA (target[0])
-                  && target[1] == ':')
-             && con->rs != ST_OS400)
-           {
-             int idlen = strlen (con->id);
-             char *ntarget, *p;
-
-             /* Strip trailing slash(es) from con->id. */
-             while (idlen > 0 && con->id[idlen - 1] == '/')
-               --idlen;
-             p = ntarget = (char *)alloca (idlen + 1 + strlen (u->dir) + 1);
-             memcpy (p, con->id, idlen);
-             p += idlen;
-             *p++ = '/';
-             strcpy (p, target);
+        {
+          char *target = u->dir;
+
+          DEBUGP (("changing working directory\n"));
+
+          /* Change working directory.  To change to a non-absolute
+             Unix directory, we need to prepend initial directory
+             (con->id) to it.  Absolute directories "just work".
+
+             A relative directory is one that does not begin with '/'
+             and, on non-Unix OS'es, one that doesn't begin with
+             "[a-z]:".
+
+             This is not done for OS400, which doesn't use
+             "/"-delimited directories, nor does it support directory
+             hierarchies.  "CWD foo" followed by "CWD bar" leaves us
+             in "bar", not in "foo/bar", as would be customary
+             elsewhere.  */
+
+          if (target[0] != '/'
+              && !(con->rs != ST_UNIX
+                   && c_isalpha (target[0])
+                   && target[1] == ':')
+              && con->rs != ST_OS400)
+            {
+              int idlen = strlen (con->id);
+              char *ntarget, *p;
+
+              /* Strip trailing slash(es) from con->id. */
+              while (idlen > 0 && con->id[idlen - 1] == '/')
+                --idlen;
+              p = ntarget = (char *)alloca (idlen + 1 + strlen (u->dir) + 1);
+              memcpy (p, con->id, idlen);
+              p += idlen;
+              *p++ = '/';
+              strcpy (p, target);
 
               DEBUGP (("Prepended initial PWD to relative path:\n"));
               DEBUGP (("   pwd: '%s'\n   old: '%s'\n  new: '%s'\n",
-                      con->id, target, ntarget));
-             target = ntarget;
-           }
+                       con->id, target, ntarget));
+              target = ntarget;
+            }
 
-         /* If the FTP host runs VMS, we will have to convert the absolute
+          /* If the FTP host runs VMS, we will have to convert the absolute
              directory path in UNIX notation to absolute directory path in
              VMS notation as VMS FTP servers do not like UNIX notation of
              absolute paths.  "VMS notation" is [dir.subdir.subsubdir]. */
 
-         if (con->rs == ST_VMS)
-           {
-             char *tmpp;
-             char *ntarget = (char *)alloca (strlen (target) + 2);
-             /* We use a converted initial dir, so directories in
+          if (con->rs == ST_VMS)
+            {
+              char *tmpp;
+              char *ntarget = (char *)alloca (strlen (target) + 2);
+              /* We use a converted initial dir, so directories in
                  TARGET will be separated with slashes, something like
                  "/INITIAL/FOLDER/DIR/SUBDIR".  Convert that to
                  "[INITIAL.FOLDER.DIR.SUBDIR]".  */
-             strcpy (ntarget, target);
-             assert (*ntarget == '/');
-             *ntarget = '[';
-             for (tmpp = ntarget + 1; *tmpp; tmpp++)
-               if (*tmpp == '/')
-                 *tmpp = '.';
-             *tmpp++ = ']';
-             *tmpp = '\0';
+              strcpy (ntarget, target);
+              assert (*ntarget == '/');
+              *ntarget = '[';
+              for (tmpp = ntarget + 1; *tmpp; tmpp++)
+                if (*tmpp == '/')
+                  *tmpp = '.';
+              *tmpp++ = ']';
+              *tmpp = '\0';
               DEBUGP (("Changed file name to VMS syntax:\n"));
               DEBUGP (("  Unix: '%s'\n  VMS: '%s'\n", target, ntarget));
-             target = ntarget;
-           }
-
-         if (!opt.server_response)
-           logprintf (LOG_VERBOSE, "==> CWD %s ... ", escnonprint (target));
-         err = ftp_cwd (csock, target);
-         /* FTPRERR, WRITEFAILED, FTPNSFOD */
-         switch (err)
-           {
-           case FTPRERR:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET, _("\
+              target = ntarget;
+            }
+
+          if (!opt.server_response)
+            logprintf (LOG_VERBOSE, "==> CWD %s ... ", escnonprint (target));
+          err = ftp_cwd (csock, target);
+          /* FTPRERR, WRITEFAILED, FTPNSFOD */
+          switch (err)
+            {
+            case FTPRERR:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-             fd_close (csock);
-             con->csock = -1;
-             return err;
-           case WRITEFAILED:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET,
-                      _("Write failed, closing control connection.\n"));
-             fd_close (csock);
-             con->csock = -1;
-             return err;
-           case FTPNSFOD:
-             logputs (LOG_VERBOSE, "\n");
-             logprintf (LOG_NOTQUIET, _("No such directory `%s'.\n\n"),
-                        escnonprint (u->dir));
-             fd_close (csock);
-             con->csock = -1;
-             return err;
-           case FTPOK:
-             break;
-           default:
-             abort ();
-           }
-         if (!opt.server_response)
-           logputs (LOG_VERBOSE, _("done.\n"));
-       }
+              fd_close (csock);
+              con->csock = -1;
+              return err;
+            case WRITEFAILED:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET,
+                       _("Write failed, closing control connection.\n"));
+              fd_close (csock);
+              con->csock = -1;
+              return err;
+            case FTPNSFOD:
+              logputs (LOG_VERBOSE, "\n");
+              logprintf (LOG_NOTQUIET, _("No such directory `%s'.\n\n"),
+                         escnonprint (u->dir));
+              fd_close (csock);
+              con->csock = -1;
+              return err;
+            case FTPOK:
+              break;
+            default:
+              abort ();
+            }
+          if (!opt.server_response)
+            logputs (LOG_VERBOSE, _("done.\n"));
+        }
     }
   else /* do not CWD */
     logputs (LOG_VERBOSE, _("==> CWD not required.\n"));
@@ -582,302 +586,302 @@ Error in server response, closing control connection.\n"));
   if ((cmd & DO_RETR) && *len == 0)
     {
       if (opt.verbose)
-       {
+        {
           if (!opt.server_response)
-           logprintf (LOG_VERBOSE, "==> SIZE %s ... ", escnonprint (u->file));
-       }
+            logprintf (LOG_VERBOSE, "==> SIZE %s ... ", escnonprint (u->file));
+        }
 
       err = ftp_size (csock, u->file, len);
       /* FTPRERR */
       switch (err)
-       {
-       case FTPRERR:
-       case FTPSRVERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+        case FTPSRVERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         return err;
-       case FTPOK:
-         /* Everything is OK.  */
-         break;
-       default:
-         abort ();
-       }
-       if (!opt.server_response)
-         logprintf (LOG_VERBOSE, *len ? "%s\n" : _("done.\n"),
-                    number_to_static_string (*len));
+          fd_close (csock);
+          con->csock = -1;
+          return err;
+        case FTPOK:
+          /* Everything is OK.  */
+          break;
+        default:
+          abort ();
+        }
+        if (!opt.server_response)
+          logprintf (LOG_VERBOSE, *len ? "%s\n" : _("done.\n"),
+                     number_to_static_string (*len));
     }
 
   /* If anything is to be retrieved, PORT (or PASV) must be sent.  */
   if (cmd & (DO_LIST | DO_RETR))
     {
       if (opt.ftp_pasv)
-       {
-         ip_address passive_addr;
-         int        passive_port;
-         err = ftp_do_pasv (csock, &passive_addr, &passive_port);
-         /* FTPRERR, WRITEFAILED, FTPNOPASV, FTPINVPASV */
-         switch (err)
-           {
-           case FTPRERR:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET, _("\
+        {
+          ip_address passive_addr;
+          int        passive_port;
+          err = ftp_do_pasv (csock, &passive_addr, &passive_port);
+          /* FTPRERR, WRITEFAILED, FTPNOPASV, FTPINVPASV */
+          switch (err)
+            {
+            case FTPRERR:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-             fd_close (csock);
-             con->csock = -1;
-             return err;
-           case WRITEFAILED:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET,
-                      _("Write failed, closing control connection.\n"));
-             fd_close (csock);
-             con->csock = -1;
-             return err;
-           case FTPNOPASV:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET, _("Cannot initiate PASV transfer.\n"));
-             break;
-           case FTPINVPASV:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET, _("Cannot parse PASV response.\n"));
-             break;
-           case FTPOK:
-             break;
-           default:
-             abort ();
-           }   /* switch (err) */
-         if (err==FTPOK)
-           {
-             DEBUGP (("trying to connect to %s port %d\n", 
-                     print_address (&passive_addr), passive_port));
-             dtsock = connect_to_ip (&passive_addr, passive_port, NULL);
-             if (dtsock < 0)
-               {
-                 int save_errno = errno;
-                 fd_close (csock);
-                 con->csock = -1;
-                 logprintf (LOG_VERBOSE, _("couldn't connect to %s port %d: %s\n"),
-                            print_address (&passive_addr), passive_port,
-                            strerror (save_errno));
-                 return (retryable_socket_connect_error (save_errno)
-                         ? CONERROR : CONIMPOSSIBLE);
-               }
-
-             pasv_mode_open = true;  /* Flag to avoid accept port */
-             if (!opt.server_response)
-               logputs (LOG_VERBOSE, _("done.    "));
-           } /* err==FTP_OK */
-       }
+              fd_close (csock);
+              con->csock = -1;
+              return err;
+            case WRITEFAILED:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET,
+                       _("Write failed, closing control connection.\n"));
+              fd_close (csock);
+              con->csock = -1;
+              return err;
+            case FTPNOPASV:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET, _("Cannot initiate PASV transfer.\n"));
+              break;
+            case FTPINVPASV:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET, _("Cannot parse PASV response.\n"));
+              break;
+            case FTPOK:
+              break;
+            default:
+              abort ();
+            }   /* switch (err) */
+          if (err==FTPOK)
+            {
+              DEBUGP (("trying to connect to %s port %d\n", 
+                      print_address (&passive_addr), passive_port));
+              dtsock = connect_to_ip (&passive_addr, passive_port, NULL);
+              if (dtsock < 0)
+                {
+                  int save_errno = errno;
+                  fd_close (csock);
+                  con->csock = -1;
+                  logprintf (LOG_VERBOSE, _("couldn't connect to %s port %d: %s\n"),
+                             print_address (&passive_addr), passive_port,
+                             strerror (save_errno));
+                  return (retryable_socket_connect_error (save_errno)
+                          ? CONERROR : CONIMPOSSIBLE);
+                }
+
+              pasv_mode_open = true;  /* Flag to avoid accept port */
+              if (!opt.server_response)
+                logputs (LOG_VERBOSE, _("done.    "));
+            } /* err==FTP_OK */
+        }
 
       if (!pasv_mode_open)   /* Try to use a port command if PASV failed */
-       {
-         err = ftp_do_port (csock, &local_sock);
-         /* FTPRERR, WRITEFAILED, bindport (FTPSYSERR), HOSTERR,
-            FTPPORTERR */
-         switch (err)
-           {
-           case FTPRERR:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET, _("\
+        {
+          err = ftp_do_port (csock, &local_sock);
+          /* FTPRERR, WRITEFAILED, bindport (FTPSYSERR), HOSTERR,
+             FTPPORTERR */
+          switch (err)
+            {
+            case FTPRERR:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-             fd_close (csock);
-             con->csock = -1;
-             fd_close (dtsock);
-             fd_close (local_sock);
-             return err;
-           case WRITEFAILED:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET,
-                      _("Write failed, closing control connection.\n"));
-             fd_close (csock);
-             con->csock = -1;
-             fd_close (dtsock);
-             fd_close (local_sock);
-             return err;
-           case CONSOCKERR:
-             logputs (LOG_VERBOSE, "\n");
-             logprintf (LOG_NOTQUIET, "socket: %s\n", strerror (errno));
-             fd_close (csock);
-             con->csock = -1;
-             fd_close (dtsock);
-             fd_close (local_sock);
-             return err;
-           case FTPSYSERR:
-             logputs (LOG_VERBOSE, "\n");
-             logprintf (LOG_NOTQUIET, _("Bind error (%s).\n"),
-                        strerror (errno));
-             fd_close (dtsock);
-             return err;
-           case FTPPORTERR:
-             logputs (LOG_VERBOSE, "\n");
-             logputs (LOG_NOTQUIET, _("Invalid PORT.\n"));
-             fd_close (csock);
-             con->csock = -1;
-             fd_close (dtsock);
-             fd_close (local_sock);
-             return err;
-           case FTPOK:
-             break;
-           default:
-             abort ();
-           } /* port switch */
-         if (!opt.server_response)
-           logputs (LOG_VERBOSE, _("done.    "));
-       } /* dtsock == -1 */
+              fd_close (csock);
+              con->csock = -1;
+              fd_close (dtsock);
+              fd_close (local_sock);
+              return err;
+            case WRITEFAILED:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET,
+                       _("Write failed, closing control connection.\n"));
+              fd_close (csock);
+              con->csock = -1;
+              fd_close (dtsock);
+              fd_close (local_sock);
+              return err;
+            case CONSOCKERR:
+              logputs (LOG_VERBOSE, "\n");
+              logprintf (LOG_NOTQUIET, "socket: %s\n", strerror (errno));
+              fd_close (csock);
+              con->csock = -1;
+              fd_close (dtsock);
+              fd_close (local_sock);
+              return err;
+            case FTPSYSERR:
+              logputs (LOG_VERBOSE, "\n");
+              logprintf (LOG_NOTQUIET, _("Bind error (%s).\n"),
+                         strerror (errno));
+              fd_close (dtsock);
+              return err;
+            case FTPPORTERR:
+              logputs (LOG_VERBOSE, "\n");
+              logputs (LOG_NOTQUIET, _("Invalid PORT.\n"));
+              fd_close (csock);
+              con->csock = -1;
+              fd_close (dtsock);
+              fd_close (local_sock);
+              return err;
+            case FTPOK:
+              break;
+            default:
+              abort ();
+            } /* port switch */
+          if (!opt.server_response)
+            logputs (LOG_VERBOSE, _("done.    "));
+        } /* dtsock == -1 */
     } /* cmd & (DO_LIST | DO_RETR) */
 
   /* Restart if needed.  */
   if (restval && (cmd & DO_RETR))
     {
       if (!opt.server_response)
-       logprintf (LOG_VERBOSE, "==> REST %s ... ",
-                  number_to_static_string (restval));
+        logprintf (LOG_VERBOSE, "==> REST %s ... ",
+                   number_to_static_string (restval));
       err = ftp_rest (csock, restval);
 
       /* FTPRERR, WRITEFAILED, FTPRESTFAIL */
       switch (err)
-       {
-       case FTPRERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case WRITEFAILED:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET,
-                  _("Write failed, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case FTPRESTFAIL:
-         logputs (LOG_VERBOSE, _("\nREST failed, starting from scratch.\n"));
-         rest_failed = true;
-         break;
-       case FTPOK:
-         break;
-       default:
-         abort ();
-       }
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case WRITEFAILED:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET,
+                   _("Write failed, closing control connection.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case FTPRESTFAIL:
+          logputs (LOG_VERBOSE, _("\nREST failed, starting from scratch.\n"));
+          rest_failed = true;
+          break;
+        case FTPOK:
+          break;
+        default:
+          abort ();
+        }
       if (err != FTPRESTFAIL && !opt.server_response)
-       logputs (LOG_VERBOSE, _("done.    "));
+        logputs (LOG_VERBOSE, _("done.    "));
     } /* restval && cmd & DO_RETR */
 
   if (cmd & DO_RETR)
     {
       /* If we're in spider mode, don't really retrieve anything.  The
-        fact that we got to this point should be proof enough that
-        the file exists, vaguely akin to HTTP's concept of a "HEAD"
-        request.  */
+         fact that we got to this point should be proof enough that
+         the file exists, vaguely akin to HTTP's concept of a "HEAD"
+         request.  */
       if (opt.spider)
-       {
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return RETRFINISHED;
-       }
+        {
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return RETRFINISHED;
+        }
 
       if (opt.verbose)
-       {
-         if (!opt.server_response)
-           {
-             if (restval)
-               logputs (LOG_VERBOSE, "\n");
-             logprintf (LOG_VERBOSE, "==> RETR %s ... ", escnonprint (u->file));
-           }
-       }
+        {
+          if (!opt.server_response)
+            {
+              if (restval)
+                logputs (LOG_VERBOSE, "\n");
+              logprintf (LOG_VERBOSE, "==> RETR %s ... ", escnonprint (u->file));
+            }
+        }
 
       err = ftp_retr (csock, u->file);
       /* FTPRERR, WRITEFAILED, FTPNSFOD */
       switch (err)
-       {
-       case FTPRERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case WRITEFAILED:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET,
-                  _("Write failed, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case FTPNSFOD:
-         logputs (LOG_VERBOSE, "\n");
-         logprintf (LOG_NOTQUIET, _("No such file `%s'.\n\n"),
-                    escnonprint (u->file));
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case FTPOK:
-         break;
-       default:
-         abort ();
-       }
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case WRITEFAILED:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET,
+                   _("Write failed, closing control connection.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case FTPNSFOD:
+          logputs (LOG_VERBOSE, "\n");
+          logprintf (LOG_NOTQUIET, _("No such file `%s'.\n\n"),
+                     escnonprint (u->file));
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case FTPOK:
+          break;
+        default:
+          abort ();
+        }
 
       if (!opt.server_response)
-       logputs (LOG_VERBOSE, _("done.\n"));
+        logputs (LOG_VERBOSE, _("done.\n"));
       expected_bytes = ftp_expected_bytes (ftp_last_respline);
     } /* do retrieve */
 
   if (cmd & DO_LIST)
     {
       if (!opt.server_response)
-       logputs (LOG_VERBOSE, "==> LIST ... ");
+        logputs (LOG_VERBOSE, "==> LIST ... ");
       /* As Maciej W. Rozycki (macro@ds2.pg.gda.pl) says, `LIST'
-        without arguments is better than `LIST .'; confirmed by
-        RFC959.  */
+         without arguments is better than `LIST .'; confirmed by
+         RFC959.  */
       err = ftp_list (csock, NULL);
       /* FTPRERR, WRITEFAILED */
       switch (err)
-       {
-       case FTPRERR:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET, _("\
+        {
+        case FTPRERR:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET, _("\
 Error in server response, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case WRITEFAILED:
-         logputs (LOG_VERBOSE, "\n");
-         logputs (LOG_NOTQUIET,
-                  _("Write failed, closing control connection.\n"));
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case FTPNSFOD:
-         logputs (LOG_VERBOSE, "\n");
-         logprintf (LOG_NOTQUIET, _("No such file or directory `%s'.\n\n"),
-                    ".");
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return err;
-       case FTPOK:
-         break;
-       default:
-         abort ();
-       }
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case WRITEFAILED:
+          logputs (LOG_VERBOSE, "\n");
+          logputs (LOG_NOTQUIET,
+                   _("Write failed, closing control connection.\n"));
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case FTPNSFOD:
+          logputs (LOG_VERBOSE, "\n");
+          logprintf (LOG_NOTQUIET, _("No such file or directory `%s'.\n\n"),
+                     ".");
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return err;
+        case FTPOK:
+          break;
+        default:
+          abort ();
+        }
       if (!opt.server_response)
-       logputs (LOG_VERBOSE, _("done.\n"));
+        logputs (LOG_VERBOSE, _("done.\n"));
       expected_bytes = ftp_expected_bytes (ftp_last_respline);
     } /* cmd & DO_LIST */
 
@@ -895,16 +899,16 @@ Error in server response, closing control connection.\n"));
 
   /* If no transmission was required, then everything is OK.  */
   if (!pasv_mode_open)  /* we are not using pasive mode so we need
-                             to accept */
+                              to accept */
     {
       /* Wait for the server to connect to the address we're waiting
-        at.  */
+         at.  */
       dtsock = accept_connection (local_sock);
       if (dtsock < 0)
-       {
-         logprintf (LOG_NOTQUIET, "accept: %s\n", strerror (errno));
-         return err;
-       }
+        {
+          logprintf (LOG_NOTQUIET, "accept: %s\n", strerror (errno));
+          return err;
+        }
     }
 
   /* Open the file -- if output_stream is set, use it instead.  */
@@ -912,40 +916,40 @@ Error in server response, closing control connection.\n"));
     {
       mkalldirs (con->target);
       if (opt.backups)
-       rotate_backups (con->target);
+        rotate_backups (con->target);
 
-      if (restval)
-       fp = fopen (con->target, "ab");
+      if (restval && !(con->cmd & DO_LIST))
+        fp = fopen (con->target, "ab");
       else if (opt.noclobber || opt.always_rest || opt.timestamping || opt.dirstruct
-              || opt.output_document)
-       fp = fopen (con->target, "wb");
+               || opt.output_document)
+        fp = fopen (con->target, "wb");
       else
-       {
-         fp = fopen_excl (con->target, true);
-         if (!fp && errno == EEXIST)
-           {
-             /* We cannot just invent a new name and use it (which is
-                what functions like unique_create typically do)
-                because we told the user we'd use this name.
-                Instead, return and retry the download.  */
-             logprintf (LOG_NOTQUIET, _("%s has sprung into existence.\n"),
-                        con->target);
-             fd_close (csock);
-             con->csock = -1;
-             fd_close (dtsock);
-             fd_close (local_sock);
-             return FOPEN_EXCL_ERR;
-           }
-       }
+        {
+          fp = fopen_excl (con->target, true);
+          if (!fp && errno == EEXIST)
+            {
+              /* We cannot just invent a new name and use it (which is
+                 what functions like unique_create typically do)
+                 because we told the user we'd use this name.
+                 Instead, return and retry the download.  */
+              logprintf (LOG_NOTQUIET, _("%s has sprung into existence.\n"),
+                         con->target);
+              fd_close (csock);
+              con->csock = -1;
+              fd_close (dtsock);
+              fd_close (local_sock);
+              return FOPEN_EXCL_ERR;
+            }
+        }
       if (!fp)
-       {
-         logprintf (LOG_NOTQUIET, "%s: %s\n", con->target, strerror (errno));
-         fd_close (csock);
-         con->csock = -1;
-         fd_close (dtsock);
-         fd_close (local_sock);
-         return FOPENERR;
-       }
+        {
+          logprintf (LOG_NOTQUIET, "%s: %s\n", con->target, strerror (errno));
+          fd_close (csock);
+          con->csock = -1;
+          fd_close (dtsock);
+          fd_close (local_sock);
+          return FOPENERR;
+        }
     }
   else
     fp = output_stream;
@@ -953,7 +957,7 @@ Error in server response, closing control connection.\n"));
   if (*len)
     {
       print_length (*len, restval, true);
-      expected_bytes = *len;   /* for fd_read_body's progress bar */
+      expected_bytes = *len;    /* for fd_read_body's progress bar */
     }
   else if (expected_bytes)
     print_length (expected_bytes, restval, false);
@@ -965,10 +969,10 @@ Error in server response, closing control connection.\n"));
   *len = restval;
   rd_size = 0;
   res = fd_read_body (dtsock, fp,
-                     expected_bytes ? expected_bytes - restval : 0,
-                     restval, &rd_size, len, &con->dltime, flags);
+                      expected_bytes ? expected_bytes - restval : 0,
+                      restval, &rd_size, len, &con->dltime, flags);
 
-  tms = time_str (time (NULL));
+  tms = datetime_str (time (NULL));
   tmrate = retr_rate (rd_size, con->dltime);
   total_download_time += con->dltime;
 
@@ -981,7 +985,7 @@ Error in server response, closing control connection.\n"));
   if (res == -2)
     {
       logprintf (LOG_NOTQUIET, _("%s: %s, closing control connection.\n"),
-                con->target, strerror (errno));
+                 con->target, strerror (errno));
       fd_close (csock);
       con->csock = -1;
       fd_close (dtsock);
@@ -990,9 +994,9 @@ Error in server response, closing control connection.\n"));
   else if (res == -1)
     {
       logprintf (LOG_NOTQUIET, _("%s (%s) - Data connection: %s; "),
-                tms, tmrate, fd_errstr (dtsock));
+                 tms, tmrate, fd_errstr (dtsock));
       if (opt.server_response)
-       logputs (LOG_ALWAYS, "\n");
+        logputs (LOG_ALWAYS, "\n");
     }
   fd_close (dtsock);
 
@@ -1001,14 +1005,14 @@ Error in server response, closing control connection.\n"));
   if (err != FTPOK)
     {
       /* The control connection is decidedly closed.  Print the time
-        only if it hasn't already been printed.  */
+         only if it hasn't already been printed.  */
       if (res != -1)
-       logprintf (LOG_NOTQUIET, "%s (%s) - ", tms, tmrate);
+        logprintf (LOG_NOTQUIET, "%s (%s) - ", tms, tmrate);
       logputs (LOG_NOTQUIET, _("Control connection closed.\n"));
       /* If there is an error on the control connection, close it, but
-        return FTPRETRINT, since there is a possibility that the
-        whole file was retrieved nevertheless (but that is for
-        ftp_loop_internal to decide).  */
+         return FTPRETRINT, since there is a possibility that the
+         whole file was retrieved nevertheless (but that is for
+         ftp_loop_internal to decide).  */
       fd_close (csock);
       con->csock = -1;
       return FTPRETRINT;
@@ -1021,7 +1025,7 @@ Error in server response, closing control connection.\n"));
     {
       xfree (respline);
       if (res != -1)
-       logprintf (LOG_NOTQUIET, "%s (%s) - ", tms, tmrate);
+        logprintf (LOG_NOTQUIET, "%s (%s) - ", tms, tmrate);
       logputs (LOG_NOTQUIET, _("Data transfer aborted.\n"));
       return FTPRETRINT;
     }
@@ -1030,14 +1034,14 @@ Error in server response, closing control connection.\n"));
   if (res == -1)
     {
       /* What now?  The data connection was erroneous, whereas the
-        response says everything is OK.  We shall play it safe.  */
+         response says everything is OK.  We shall play it safe.  */
       return FTPRETRINT;
     }
 
   if (!(cmd & LEAVE_PENDING))
     {
       /* Closing the socket is faster than sending 'QUIT' and the
-        effect is the same.  */
+         effect is the same.  */
       fd_close (csock);
       con->csock = -1;
     }
@@ -1048,22 +1052,22 @@ Error in server response, closing control connection.\n"));
       mkalldirs (con->target);
       fp = fopen (con->target, "r");
       if (!fp)
-       logprintf (LOG_ALWAYS, "%s: %s\n", con->target, strerror (errno));
+        logprintf (LOG_ALWAYS, "%s: %s\n", con->target, strerror (errno));
       else
-       {
-         char *line;
-         /* The lines are being read with read_whole_line because of
-            no-buffering on opt.lfile.  */
-         while ((line = read_whole_line (fp)) != NULL)
-           {
-             char *p = strchr (line, '\0');
-             while (p > line && (p[-1] == '\n' || p[-1] == '\r'))
-               *--p = '\0';
-             logprintf (LOG_ALWAYS, "%s\n", escnonprint (line));
-             xfree (line);
-           }
-         fclose (fp);
-       }
+        {
+          char *line;
+          /* The lines are being read with read_whole_line because of
+             no-buffering on opt.lfile.  */
+          while ((line = read_whole_line (fp)) != NULL)
+            {
+              char *p = strchr (line, '\0');
+              while (p > line && (p[-1] == '\n' || p[-1] == '\r'))
+                *--p = '\0';
+              logprintf (LOG_ALWAYS, "%s\n", escnonprint (line));
+              xfree (line);
+            }
+          fclose (fp);
+        }
     } /* con->cmd & DO_LIST && server_response */
 
   return RETRFINISHED;
@@ -1090,7 +1094,7 @@ ftp_loop_internal (struct url *u, struct fileinfo *f, ccon *con)
   if (opt.noclobber && file_exists_p (con->target))
     {
       logprintf (LOG_VERBOSE,
-                _("File `%s' already there; not retrieving.\n"), con->target);
+                 _("File `%s' already there; not retrieving.\n"), con->target);
       /* If the file is there, we suppose it's retrieved OK.  */
       return RETROK;
     }
@@ -1116,171 +1120,173 @@ ftp_loop_internal (struct url *u, struct fileinfo *f, ccon *con)
       ++count;
       sleep_between_retrievals (count);
       if (con->st & ON_YOUR_OWN)
-       {
-         con->cmd = 0;
-         con->cmd |= (DO_RETR | LEAVE_PENDING);
-         if (con->csock != -1)
-           con->cmd &= ~ (DO_LOGIN | DO_CWD);
-         else
-           con->cmd |= (DO_LOGIN | DO_CWD);
-       }
+        {
+          con->cmd = 0;
+          con->cmd |= (DO_RETR | LEAVE_PENDING);
+          if (con->csock != -1)
+            con->cmd &= ~ (DO_LOGIN | DO_CWD);
+          else
+            con->cmd |= (DO_LOGIN | DO_CWD);
+        }
       else /* not on your own */
-       {
-         if (con->csock != -1)
-           con->cmd &= ~DO_LOGIN;
-         else
-           con->cmd |= DO_LOGIN;
-         if (con->st & DONE_CWD)
-           con->cmd &= ~DO_CWD;
-         else
-           con->cmd |= DO_CWD;
-       }
+        {
+          if (con->csock != -1)
+            con->cmd &= ~DO_LOGIN;
+          else
+            con->cmd |= DO_LOGIN;
+          if (con->st & DONE_CWD)
+            con->cmd &= ~DO_CWD;
+          else
+            con->cmd |= DO_CWD;
+        }
 
       /* Decide whether or not to restart.  */
-      if (opt.always_rest
-         && stat (locf, &st) == 0
-         && S_ISREG (st.st_mode))
-       /* When -c is used, continue from on-disk size.  (Can't use
-          hstat.len even if count>1 because we don't want a failed
-          first attempt to clobber existing data.)  */
-       restval = st.st_size;
+      if (con->cmd & DO_LIST)
+        restval = 0;
+      else if (opt.always_rest
+          && stat (locf, &st) == 0
+          && S_ISREG (st.st_mode))
+        /* When -c is used, continue from on-disk size.  (Can't use
+           hstat.len even if count>1 because we don't want a failed
+           first attempt to clobber existing data.)  */
+        restval = st.st_size;
       else if (count > 1)
-       restval = len;          /* start where the previous run left off */
+        restval = len;          /* start where the previous run left off */
       else
-       restval = 0;
+        restval = 0;
 
       /* Get the current time string.  */
-      tms = time_str (time (NULL));
+      tms = datetime_str (time (NULL));
       /* Print fetch message, if opt.verbose.  */
       if (opt.verbose)
-       {
-         char *hurl = url_string (u, true);
-         char tmp[256];
-         strcpy (tmp, "        ");
-         if (count > 1)
-           sprintf (tmp, _("(try:%2d)"), count);
-         logprintf (LOG_VERBOSE, "--%s--  %s\n  %s => `%s'\n",
-                    tms, hurl, tmp, locf);
+        {
+          char *hurl = url_string (u, URL_AUTH_HIDE_PASSWD);
+          char tmp[256];
+          strcpy (tmp, "        ");
+          if (count > 1)
+            sprintf (tmp, _("(try:%2d)"), count);
+          logprintf (LOG_VERBOSE, "--%s--  %s\n  %s => `%s'\n",
+                     tms, hurl, tmp, locf);
 #ifdef WINDOWS
-         ws_changetitle (hurl);
+          ws_changetitle (hurl);
 #endif
-         xfree (hurl);
-       }
+          xfree (hurl);
+        }
       /* Send getftp the proper length, if fileinfo was provided.  */
       if (f)
-       len = f->size;
+        len = f->size;
       else
-       len = 0;
+        len = 0;
       err = getftp (u, &len, restval, con);
 
       if (con->csock == -1)
-       con->st &= ~DONE_CWD;
+        con->st &= ~DONE_CWD;
       else
-       con->st |= DONE_CWD;
+        con->st |= DONE_CWD;
 
       switch (err)
-       {
-       case HOSTERR: case CONIMPOSSIBLE: case FWRITEERR: case FOPENERR:
-       case FTPNSFOD: case FTPLOGINC: case FTPNOPASV: case CONTNOTSUPPORTED:
-         /* Fatal errors, give up.  */
-         return err;
-       case CONSOCKERR: case CONERROR: case FTPSRVERR: case FTPRERR:
-       case WRITEFAILED: case FTPUNKNOWNTYPE: case FTPSYSERR:
-       case FTPPORTERR: case FTPLOGREFUSED: case FTPINVPASV:
-       case FOPEN_EXCL_ERR:
-         printwhat (count, opt.ntry);
-         /* non-fatal errors */
-         if (err == FOPEN_EXCL_ERR)
-           {
-             /* Re-determine the file name. */
-             xfree_null (con->target);
-             con->target = url_file_name (u);
-             locf = con->target;
-           }
-         continue;
-       case FTPRETRINT:
-         /* If the control connection was closed, the retrieval
-            will be considered OK if f->size == len.  */
-         if (!f || len != f->size)
-           {
-             printwhat (count, opt.ntry);
-             continue;
-           }
-         break;
-       case RETRFINISHED:
-         /* Great!  */
-         break;
-       default:
-         /* Not as great.  */
-         abort ();
-       }
-      tms = time_str (time (NULL));
+        {
+        case HOSTERR: case CONIMPOSSIBLE: case FWRITEERR: case FOPENERR:
+        case FTPNSFOD: case FTPLOGINC: case FTPNOPASV: case CONTNOTSUPPORTED:
+          /* Fatal errors, give up.  */
+          return err;
+        case CONSOCKERR: case CONERROR: case FTPSRVERR: case FTPRERR:
+        case WRITEFAILED: case FTPUNKNOWNTYPE: case FTPSYSERR:
+        case FTPPORTERR: case FTPLOGREFUSED: case FTPINVPASV:
+        case FOPEN_EXCL_ERR:
+          printwhat (count, opt.ntry);
+          /* non-fatal errors */
+          if (err == FOPEN_EXCL_ERR)
+            {
+              /* Re-determine the file name. */
+              xfree_null (con->target);
+              con->target = url_file_name (u);
+              locf = con->target;
+            }
+          continue;
+        case FTPRETRINT:
+          /* If the control connection was closed, the retrieval
+             will be considered OK if f->size == len.  */
+          if (!f || len != f->size)
+            {
+              printwhat (count, opt.ntry);
+              continue;
+            }
+          break;
+        case RETRFINISHED:
+          /* Great!  */
+          break;
+        default:
+          /* Not as great.  */
+          abort ();
+        }
+      tms = datetime_str (time (NULL));
       if (!opt.spider)
         tmrate = retr_rate (len - restval, con->dltime);
 
       /* If we get out of the switch above without continue'ing, we've
-        successfully downloaded a file.  Remember this fact. */
+         successfully downloaded a file.  Remember this fact. */
       downloaded_file (FILE_DOWNLOADED_NORMALLY, locf);
 
       if (con->st & ON_YOUR_OWN)
-       {
-         fd_close (con->csock);
-         con->csock = -1;
-       }
+        {
+          fd_close (con->csock);
+          con->csock = -1;
+        }
       if (!opt.spider)
         logprintf (LOG_VERBOSE, _("%s (%s) - `%s' saved [%s]\n\n"),
-                  tms, tmrate, locf, number_to_static_string (len));
+                   tms, tmrate, locf, number_to_static_string (len));
       if (!opt.verbose && !opt.quiet)
-       {
-         /* Need to hide the password from the URL.  The `if' is here
+        {
+          /* Need to hide the password from the URL.  The `if' is here
              so that we don't do the needless allocation every
              time. */
-         char *hurl = url_string (u, true);
-         logprintf (LOG_NONVERBOSE, "%s URL: %s [%s] -> \"%s\" [%d]\n",
-                    tms, hurl, number_to_static_string (len), locf, count);
-         xfree (hurl);
-       }
+          char *hurl = url_string (u, URL_AUTH_HIDE_PASSWD);
+          logprintf (LOG_NONVERBOSE, "%s URL: %s [%s] -> \"%s\" [%d]\n",
+                     tms, hurl, number_to_static_string (len), locf, count);
+          xfree (hurl);
+        }
 
       if ((con->cmd & DO_LIST))
-       /* This is a directory listing file. */
-       {
-         if (!opt.remove_listing)
-           /* --dont-remove-listing was specified, so do count this towards the
-              number of bytes and files downloaded. */
-           {
-             total_downloaded_bytes += len;
-             opt.numurls++;
-           }
-
-         /* Deletion of listing files is not controlled by --delete-after, but
-            by the more specific option --dont-remove-listing, and the code
-            to do this deletion is in another function. */
-       }
+        /* This is a directory listing file. */
+        {
+          if (!opt.remove_listing)
+            /* --dont-remove-listing was specified, so do count this towards the
+               number of bytes and files downloaded. */
+            {
+              total_downloaded_bytes += len;
+              opt.numurls++;
+            }
+
+          /* Deletion of listing files is not controlled by --delete-after, but
+             by the more specific option --dont-remove-listing, and the code
+             to do this deletion is in another function. */
+        }
       else if (!opt.spider)
-       /* This is not a directory listing file. */
-       {
-         /* Unlike directory listing files, don't pretend normal files weren't
-            downloaded if they're going to be deleted.  People seeding proxies,
-            for instance, may want to know how many bytes and files they've
-            downloaded through it. */
-         total_downloaded_bytes += len;
-         opt.numurls++;
-
-         if (opt.delete_after)
-           {
-             DEBUGP (("\
+        /* This is not a directory listing file. */
+        {
+          /* Unlike directory listing files, don't pretend normal files weren't
+             downloaded if they're going to be deleted.  People seeding proxies,
+             for instance, may want to know how many bytes and files they've
+             downloaded through it. */
+          total_downloaded_bytes += len;
+          opt.numurls++;
+
+          if (opt.delete_after)
+            {
+              DEBUGP (("\
 Removing file due to --delete-after in ftp_loop_internal():\n"));
-             logprintf (LOG_VERBOSE, _("Removing %s.\n"), locf);
-             if (unlink (locf))
-               logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
-           }
-       }
+              logprintf (LOG_VERBOSE, _("Removing %s.\n"), locf);
+              if (unlink (locf))
+                logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
+            }
+        }
 
       /* Restore the original leave-pendingness.  */
       if (orig_lp)
-       con->cmd |= LEAVE_PENDING;
+        con->cmd |= LEAVE_PENDING;
       else
-       con->cmd &= ~LEAVE_PENDING;
+        con->cmd &= ~LEAVE_PENDING;
       return RETROK;
     } while (!opt.ntry || (count < opt.ntry));
 
@@ -1298,8 +1304,8 @@ static uerr_t
 ftp_get_listing (struct url *u, ccon *con, struct fileinfo **f)
 {
   uerr_t err;
-  char *uf;                    /* url file name */
-  char *lf;                    /* list file name */
+  char *uf;                     /* url file name */
+  char *lf;                     /* list file name */
   char *old_target = con->target;
 
   con->st &= ~ON_YOUR_OWN;
@@ -1325,9 +1331,9 @@ ftp_get_listing (struct url *u, ccon *con, struct fileinfo **f)
   if (opt.remove_listing)
     {
       if (unlink (lf))
-       logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
+        logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
       else
-       logprintf (LOG_VERBOSE, _("Removed `%s'.\n"), lf);
+        logprintf (LOG_VERBOSE, _("Removed `%s'.\n"), lf);
     }
   xfree (lf);
   con->cmd &= ~DO_LIST;
@@ -1361,7 +1367,7 @@ ftp_retrieve_list (struct url *u, struct fileinfo *f, ccon *con)
   if (opt.reclevel != INFINITE_RECURSION && depth > opt.reclevel)
     {
       DEBUGP ((_("Recursion depth %d exceeded max. depth %d.\n"),
-              depth, opt.reclevel));
+               depth, opt.reclevel));
       --depth;
       return RECLEVELEXC;
     }
@@ -1381,17 +1387,17 @@ ftp_retrieve_list (struct url *u, struct fileinfo *f, ccon *con)
   else
     con->cmd &= ~DO_LOGIN;
 
-  err = RETROK;                        /* in case it's not used */
+  err = RETROK;                 /* in case it's not used */
 
   while (f)
     {
       char *old_target, *ofile;
 
       if (opt.quota && total_downloaded_bytes > opt.quota)
-       {
-         --depth;
-         return QUOTEXC;
-       }
+        {
+          --depth;
+          return QUOTEXC;
+        }
       old_target = con->target;
 
       ofile = xstrdup (u->file);
@@ -1403,38 +1409,38 @@ ftp_retrieve_list (struct url *u, struct fileinfo *f, ccon *con)
       dlthis = true;
       if (opt.timestamping && f->type == FT_PLAINFILE)
         {
-         struct_stat st;
-         /* If conversion of HTML files retrieved via FTP is ever implemented,
-            we'll need to stat() <file>.orig here when -K has been specified.
-            I'm not implementing it now since files on an FTP server are much
-            more likely than files on an HTTP server to legitimately have a
-            .orig suffix. */
-         if (!stat (con->target, &st))
-           {
+          struct_stat st;
+          /* If conversion of HTML files retrieved via FTP is ever implemented,
+             we'll need to stat() <file>.orig here when -K has been specified.
+             I'm not implementing it now since files on an FTP server are much
+             more likely than files on an HTTP server to legitimately have a
+             .orig suffix. */
+          if (!stat (con->target, &st))
+            {
               bool eq_size;
               bool cor_val;
-             /* Else, get it from the file.  */
-             local_size = st.st_size;
-             tml = st.st_mtime;
+              /* Else, get it from the file.  */
+              local_size = st.st_size;
+              tml = st.st_mtime;
 #ifdef WINDOWS
-             /* Modification time granularity is 2 seconds for Windows, so
-                increase local time by 1 second for later comparison. */
-             tml++;
+              /* Modification time granularity is 2 seconds for Windows, so
+                 increase local time by 1 second for later comparison. */
+              tml++;
 #endif
               /* Compare file sizes only for servers that tell us correct
                  values. Assume sizes being equal for servers that lie
                  about file size.  */
               cor_val = (con->rs == ST_UNIX || con->rs == ST_WINNT);
               eq_size = cor_val ? (local_size == f->size) : true;
-             if (f->tstamp <= tml && eq_size)
-               {
-                 /* Remote file is older, file sizes can be compared and
+              if (f->tstamp <= tml && eq_size)
+                {
+                  /* Remote file is older, file sizes can be compared and
                      are both equal. */
                   logprintf (LOG_VERBOSE, _("\
 Remote file no newer than local file `%s' -- not retrieving.\n"), con->target);
-                 dlthis = false;
-               }
-             else if (eq_size)
+                  dlthis = false;
+                }
+              else if (eq_size)
                 {
                   /* Remote file is newer or sizes cannot be matched */
                   logprintf (LOG_VERBOSE, _("\
@@ -1446,114 +1452,114 @@ Remote file is newer than local file `%s' -- retrieving.\n\n"),
                   /* Sizes do not match */
                   logprintf (LOG_VERBOSE, _("\
 The sizes do not match (local %s) -- retrieving.\n\n"),
-                            number_to_static_string (local_size));
+                             number_to_static_string (local_size));
                 }
             }
-       }       /* opt.timestamping && f->type == FT_PLAINFILE */
+        }       /* opt.timestamping && f->type == FT_PLAINFILE */
       switch (f->type)
-       {
-       case FT_SYMLINK:
-         /* If opt.retr_symlinks is defined, we treat symlinks as
-            if they were normal files.  There is currently no way
-            to distinguish whether they might be directories, and
-            follow them.  */
-         if (!opt.retr_symlinks)
-           {
+        {
+        case FT_SYMLINK:
+          /* If opt.retr_symlinks is defined, we treat symlinks as
+             if they were normal files.  There is currently no way
+             to distinguish whether they might be directories, and
+             follow them.  */
+          if (!opt.retr_symlinks)
+            {
 #ifdef HAVE_SYMLINK
-             if (!f->linkto)
-               logputs (LOG_NOTQUIET,
-                        _("Invalid name of the symlink, skipping.\n"));
-             else
-               {
+              if (!f->linkto)
+                logputs (LOG_NOTQUIET,
+                         _("Invalid name of the symlink, skipping.\n"));
+              else
+                {
                   struct_stat st;
-                 /* Check whether we already have the correct
+                  /* Check whether we already have the correct
                      symbolic link.  */
                   int rc = lstat (con->target, &st);
                   if (rc == 0)
-                   {
-                     size_t len = strlen (f->linkto) + 1;
-                     if (S_ISLNK (st.st_mode))
-                       {
-                         char *link_target = (char *)alloca (len);
-                         size_t n = readlink (con->target, link_target, len);
-                         if ((n == len - 1)
-                             && (memcmp (link_target, f->linkto, n) == 0))
-                           {
-                             logprintf (LOG_VERBOSE, _("\
+                    {
+                      size_t len = strlen (f->linkto) + 1;
+                      if (S_ISLNK (st.st_mode))
+                        {
+                          char *link_target = (char *)alloca (len);
+                          size_t n = readlink (con->target, link_target, len);
+                          if ((n == len - 1)
+                              && (memcmp (link_target, f->linkto, n) == 0))
+                            {
+                              logprintf (LOG_VERBOSE, _("\
 Already have correct symlink %s -> %s\n\n"),
-                                        con->target, escnonprint (f->linkto));
+                                         con->target, escnonprint (f->linkto));
                               dlthis = false;
-                             break;
-                           }
-                       }
-                   }
-                 logprintf (LOG_VERBOSE, _("Creating symlink %s -> %s\n"),
-                            con->target, escnonprint (f->linkto));
-                 /* Unlink before creating symlink!  */
-                 unlink (con->target);
-                 if (symlink (f->linkto, con->target) == -1)
-                   logprintf (LOG_NOTQUIET, "symlink: %s\n", strerror (errno));
-                 logputs (LOG_VERBOSE, "\n");
-               } /* have f->linkto */
+                              break;
+                            }
+                        }
+                    }
+                  logprintf (LOG_VERBOSE, _("Creating symlink %s -> %s\n"),
+                             con->target, escnonprint (f->linkto));
+                  /* Unlink before creating symlink!  */
+                  unlink (con->target);
+                  if (symlink (f->linkto, con->target) == -1)
+                    logprintf (LOG_NOTQUIET, "symlink: %s\n", strerror (errno));
+                  logputs (LOG_VERBOSE, "\n");
+                } /* have f->linkto */
 #else  /* not HAVE_SYMLINK */
-             logprintf (LOG_NOTQUIET,
-                        _("Symlinks not supported, skipping symlink `%s'.\n"),
-                        con->target);
+              logprintf (LOG_NOTQUIET,
+                         _("Symlinks not supported, skipping symlink `%s'.\n"),
+                         con->target);
 #endif /* not HAVE_SYMLINK */
-           }
-         else                /* opt.retr_symlinks */
-           {
-             if (dlthis)
-               err = ftp_loop_internal (u, f, con);
-           } /* opt.retr_symlinks */
-         break;
-       case FT_DIRECTORY:
-         if (!opt.recursive)
-           logprintf (LOG_NOTQUIET, _("Skipping directory `%s'.\n"),
-                      escnonprint (f->name));
-         break;
-       case FT_PLAINFILE:
-         /* Call the retrieve loop.  */
-         if (dlthis)
-           err = ftp_loop_internal (u, f, con);
-         break;
-       case FT_UNKNOWN:
-         logprintf (LOG_NOTQUIET, _("%s: unknown/unsupported file type.\n"),
-                    escnonprint (f->name));
-         break;
-       }       /* switch */
+            }
+          else                /* opt.retr_symlinks */
+            {
+              if (dlthis)
+                err = ftp_loop_internal (u, f, con);
+            } /* opt.retr_symlinks */
+          break;
+        case FT_DIRECTORY:
+          if (!opt.recursive)
+            logprintf (LOG_NOTQUIET, _("Skipping directory `%s'.\n"),
+                       escnonprint (f->name));
+          break;
+        case FT_PLAINFILE:
+          /* Call the retrieve loop.  */
+          if (dlthis)
+            err = ftp_loop_internal (u, f, con);
+          break;
+        case FT_UNKNOWN:
+          logprintf (LOG_NOTQUIET, _("%s: unknown/unsupported file type.\n"),
+                     escnonprint (f->name));
+          break;
+        }       /* switch */
 
       /* Set the time-stamp information to the local file.  Symlinks
-        are not to be stamped because it sets the stamp on the
-        original.  :( */
+         are not to be stamped because it sets the stamp on the
+         original.  :( */
       if (!(f->type == FT_SYMLINK && !opt.retr_symlinks)
-         && f->tstamp != -1
+          && f->tstamp != -1
           && dlthis
-         && file_exists_p (con->target))
-       {
-         /* #### This code repeats in http.c and ftp.c.  Move it to a
+          && file_exists_p (con->target))
+        {
+          /* #### This code repeats in http.c and ftp.c.  Move it to a
              function!  */
-         const char *fl = NULL;
-         if (opt.output_document)
-           {
-             if (output_stream_regular)
-               fl = opt.output_document;
-           }
-         else
-           fl = con->target;
-         if (fl)
-           touch (fl, f->tstamp);
-       }
+          const char *fl = NULL;
+          if (opt.output_document)
+            {
+              if (output_stream_regular)
+                fl = opt.output_document;
+            }
+          else
+            fl = con->target;
+          if (fl)
+            touch (fl, f->tstamp);
+        }
       else if (f->tstamp == -1)
-       logprintf (LOG_NOTQUIET, _("%s: corrupt time-stamp.\n"), con->target);
+        logprintf (LOG_NOTQUIET, _("%s: corrupt time-stamp.\n"), con->target);
 
       if (f->perms && f->type == FT_PLAINFILE && dlthis)
         {
-         if (opt.preserve_perm)
-           chmod (con->target, f->perms);
+          if (opt.preserve_perm)
+            chmod (con->target, f->perms);
         }
       else
-       DEBUGP (("Unrecognized permissions for %s.\n", con->target));
+        DEBUGP (("Unrecognized permissions for %s.\n", con->target));
 
       xfree (con->target);
       con->target = old_target;
@@ -1563,7 +1569,7 @@ Already have correct symlink %s -> %s\n\n"),
 
       /* Break on fatals.  */
       if (err == QUOTEXC || err == HOSTERR || err == FWRITEERR)
-       break;
+        break;
       con->cmd &= ~ (DO_CWD | DO_LOGIN);
       f = f->next;
     }
@@ -1574,7 +1580,7 @@ Already have correct symlink %s -> %s\n\n"),
     err = ftp_retrieve_dirs (u, orig, con);
   else if (opt.recursive)
     DEBUGP ((_("Will not retrieve dirs since depth is %d (max %d).\n"),
-            depth, opt.reclevel));
+             depth, opt.reclevel));
   --depth;
   return err;
 }
@@ -1595,44 +1601,44 @@ ftp_retrieve_dirs (struct url *u, struct fileinfo *f, ccon *con)
       char *odir, *newdir;
 
       if (opt.quota && total_downloaded_bytes > opt.quota)
-       break;
+        break;
       if (f->type != FT_DIRECTORY)
-       continue;
+        continue;
 
       /* Allocate u->dir off stack, but reallocate only if a larger
          string is needed.  It's a pity there's no "realloca" for an
          item on the bottom of the stack.  */
       size = strlen (u->dir) + 1 + strlen (f->name) + 1;
       if (size > container_size)
-       container = (char *)alloca (size);
+        container = (char *)alloca (size);
       newdir = container;
 
       odir = u->dir;
       if (*odir == '\0'
-         || (*odir == '/' && *(odir + 1) == '\0'))
-       /* If ODIR is empty or just "/", simply append f->name to
-          ODIR.  (In the former case, to preserve u->dir being
-          relative; in the latter case, to avoid double slash.)  */
-       sprintf (newdir, "%s%s", odir, f->name);
+          || (*odir == '/' && *(odir + 1) == '\0'))
+        /* If ODIR is empty or just "/", simply append f->name to
+           ODIR.  (In the former case, to preserve u->dir being
+           relative; in the latter case, to avoid double slash.)  */
+        sprintf (newdir, "%s%s", odir, f->name);
       else
-       /* Else, use a separator. */
-       sprintf (newdir, "%s/%s", odir, f->name);
+        /* Else, use a separator. */
+        sprintf (newdir, "%s/%s", odir, f->name);
 
       DEBUGP (("Composing new CWD relative to the initial directory.\n"));
       DEBUGP (("  odir = '%s'\n  f->name = '%s'\n  newdir = '%s'\n\n",
-              odir, f->name, newdir));
+               odir, f->name, newdir));
       if (!accdir (newdir))
-       {
-         logprintf (LOG_VERBOSE, _("\
+        {
+          logprintf (LOG_VERBOSE, _("\
 Not descending to `%s' as it is excluded/not-included.\n"),
-                    escnonprint (newdir));
-         continue;
-       }
+                     escnonprint (newdir));
+          continue;
+        }
 
       con->st &= ~DONE_CWD;
 
-      odir = xstrdup (u->dir); /* because url_set_dir will free
-                                  u->dir. */
+      odir = xstrdup (u->dir);  /* because url_set_dir will free
+                                   u->dir. */
       url_set_dir (u, newdir);
       ftp_retrieve_glob (u, con, GLOB_GETALL);
       url_set_dir (u, odir);
@@ -1686,81 +1692,97 @@ ftp_retrieve_glob (struct url *u, ccon *con, int action)
     {
       f = start;
       while (f)
-       {
-         if (f->type != FT_DIRECTORY && !acceptable (f->name))
-           {
-             logprintf (LOG_VERBOSE, _("Rejecting `%s'.\n"),
-                        escnonprint (f->name));
-             f = delelement (f, &start);
-           }
-         else
-           f = f->next;
-       }
+        {
+          if (f->type != FT_DIRECTORY && !acceptable (f->name))
+            {
+              logprintf (LOG_VERBOSE, _("Rejecting `%s'.\n"),
+                         escnonprint (f->name));
+              f = delelement (f, &start);
+            }
+          else
+            f = f->next;
+        }
     }
   /* Remove all files with possible harmful names */
   f = start;
   while (f)
     {
       if (has_insecure_name_p (f->name))
-       {
-         logprintf (LOG_VERBOSE, _("Rejecting `%s'.\n"),
-                    escnonprint (f->name));
-         f = delelement (f, &start);
-       }
+        {
+          logprintf (LOG_VERBOSE, _("Rejecting `%s'.\n"),
+                     escnonprint (f->name));
+          f = delelement (f, &start);
+        }
       else
-       f = f->next;
+        f = f->next;
     }
   /* Now weed out the files that do not match our globbing pattern.
      If we are dealing with a globbing pattern, that is.  */
-  if (*u->file && (action == GLOB_GLOBALL || action == GLOB_GETONE))
+  if (*u->file)
     {
-      int (*matcher) (const char *, const char *, int)
-       = opt.ignore_case ? fnmatch_nocase : fnmatch;
-      int matchres = 0;
-
-      f = start;
-      while (f)
-       {
-         matchres = matcher (u->file, f->name, 0);
-         if (matchres == -1)
-           {
-             logprintf (LOG_NOTQUIET, "%s: %s\n", con->target,
-                        strerror (errno));
-             break;
-           }
-         if (matchres == FNM_NOMATCH)
-           f = delelement (f, &start); /* delete the element from the list */
-         else
-           f = f->next;        /* leave the element in the list */
-       }
-      if (matchres == -1)
-       {
-         freefileinfo (start);
-         return RETRBADPATTERN;
-       }
+      if (action == GLOB_GLOBALL)
+        {
+          int (*matcher) (const char *, const char *, int)
+            = opt.ignore_case ? fnmatch_nocase : fnmatch;
+          int matchres = 0;
+
+          f = start;
+          while (f)
+            {
+              matchres = matcher (u->file, f->name, 0);
+              if (matchres == -1)
+                {
+                  logprintf (LOG_NOTQUIET, _("Error matching %s against %s: %s\n"),
+                             u->file, escnonprint (f->name), strerror (errno));
+                  break;
+                }
+              if (matchres == FNM_NOMATCH)
+                f = delelement (f, &start); /* delete the element from the list */
+              else
+                f = f->next;        /* leave the element in the list */
+            }
+          if (matchres == -1)
+            {
+              freefileinfo (start);
+              return RETRBADPATTERN;
+            }
+        }
+      else if (action == GLOB_GETONE)
+        {
+          int (*cmp) (const char *, const char *)
+            = opt.ignore_case ? strcasecmp : strcmp;
+          f = start;
+          while (f)
+            {
+              if (0 != cmp(u->file, f->name))
+                f = delelement (f, &start);
+              else
+                f = f->next;
+            }
+        }
     }
   if (start)
     {
       /* Just get everything.  */
       ftp_retrieve_list (u, start, con);
     }
-  else if (!start)
+  else
     {
       if (action == GLOB_GLOBALL)
-       {
-         /* No luck.  */
-         /* #### This message SUCKS.  We should see what was the
-            reason that nothing was retrieved.  */
-         logprintf (LOG_VERBOSE, _("No matches on pattern `%s'.\n"),
-                    escnonprint (u->file));
-       }
+        {
+          /* No luck.  */
+          /* #### This message SUCKS.  We should see what was the
+             reason that nothing was retrieved.  */
+          logprintf (LOG_VERBOSE, _("No matches on pattern `%s'.\n"),
+                     escnonprint (u->file));
+        }
       else /* GLOB_GETONE or GLOB_GETALL */
-       {
-         /* Let's try retrieving it anyway.  */
-         con->st |= ON_YOUR_OWN;
-         res = ftp_loop_internal (u, NULL, con);
-         return res;
-       }
+        {
+          /* Let's try retrieving it anyway.  */
+          con->st |= ON_YOUR_OWN;
+          res = ftp_loop_internal (u, NULL, con);
+          return res;
+        }
     }
   freefileinfo (start);
   if (opt.quota && total_downloaded_bytes > opt.quota)
@@ -1776,7 +1798,7 @@ ftp_retrieve_glob (struct url *u, ccon *con, int action)
 uerr_t
 ftp_loop (struct url *u, int *dt, struct url *proxy, bool recursive, bool glob)
 {
-  ccon con;                    /* FTP connection */
+  ccon con;                     /* FTP connection */
   uerr_t res;
 
   *dt = 0;
@@ -1798,62 +1820,62 @@ ftp_loop (struct url *u, int *dt, struct url *proxy, bool recursive, bool glob)
       res = ftp_get_listing (u, &con, &f);
 
       if (res == RETROK)
-       {
-         if (opt.htmlify && !opt.spider)
-           {
-             char *filename = (opt.output_document
-                               ? xstrdup (opt.output_document)
-                               : (con.target ? xstrdup (con.target)
-                                  : url_file_name (u)));
-             res = ftp_index (filename, u, f);
-             if (res == FTPOK && opt.verbose)
-               {
-                 if (!opt.output_document)
-                   {
-                     struct_stat st;
-                     wgint sz;
-                     if (stat (filename, &st) == 0)
-                       sz = st.st_size;
-                     else
-                       sz = -1;
-                     logprintf (LOG_NOTQUIET,
-                                _("Wrote HTML-ized index to `%s' [%s].\n"),
-                                filename, number_to_static_string (sz));
-                   }
-                 else
-                   logprintf (LOG_NOTQUIET,
-                              _("Wrote HTML-ized index to `%s'.\n"),
-                              filename);
-               }
-             xfree (filename);
-           }
-         freefileinfo (f);
-       }
+        {
+          if (opt.htmlify && !opt.spider)
+            {
+              char *filename = (opt.output_document
+                                ? xstrdup (opt.output_document)
+                                : (con.target ? xstrdup (con.target)
+                                   : url_file_name (u)));
+              res = ftp_index (filename, u, f);
+              if (res == FTPOK && opt.verbose)
+                {
+                  if (!opt.output_document)
+                    {
+                      struct_stat st;
+                      wgint sz;
+                      if (stat (filename, &st) == 0)
+                        sz = st.st_size;
+                      else
+                        sz = -1;
+                      logprintf (LOG_NOTQUIET,
+                                 _("Wrote HTML-ized index to `%s' [%s].\n"),
+                                 filename, number_to_static_string (sz));
+                    }
+                  else
+                    logprintf (LOG_NOTQUIET,
+                               _("Wrote HTML-ized index to `%s'.\n"),
+                               filename);
+                }
+              xfree (filename);
+            }
+          freefileinfo (f);
+        }
     }
   else
     {
       bool ispattern = false;
       if (glob)
-       {
-         /* Treat the URL as a pattern if the file name part of the
-            URL path contains wildcards.  (Don't check for u->file
-            because it is unescaped and therefore doesn't leave users
-            the option to escape literal '*' as %2A.)  */
-         char *file_part = strrchr (u->path, '/');
-         if (!file_part)
-           file_part = u->path;
-         ispattern = has_wildcards_p (file_part);
-       }
+        {
+          /* Treat the URL as a pattern if the file name part of the
+             URL path contains wildcards.  (Don't check for u->file
+             because it is unescaped and therefore doesn't leave users
+             the option to escape literal '*' as %2A.)  */
+          char *file_part = strrchr (u->path, '/');
+          if (!file_part)
+            file_part = u->path;
+          ispattern = has_wildcards_p (file_part);
+        }
       if (ispattern || recursive || opt.timestamping)
-       {
-         /* ftp_retrieve_glob is a catch-all function that gets called
-            if we need globbing, time-stamping or recursion.  Its
-            third argument is just what we really need.  */
-         res = ftp_retrieve_glob (u, &con,
-                                  ispattern ? GLOB_GLOBALL : GLOB_GETONE);
-       }
+        {
+          /* ftp_retrieve_glob is a catch-all function that gets called
+             if we need globbing, time-stamping or recursion.  Its
+             third argument is just what we really need.  */
+          res = ftp_retrieve_glob (u, &con,
+                                   ispattern ? GLOB_GLOBALL : GLOB_GETONE);
+        }
       else
-       res = ftp_loop_internal (u, NULL, &con);
+        res = ftp_loop_internal (u, NULL, &con);
     }
   if (res == FTPOK)
     res = RETROK;
@@ -1900,7 +1922,7 @@ freefileinfo (struct fileinfo *f)
       struct fileinfo *next = f->next;
       xfree (f->name);
       if (f->linkto)
-       xfree (f->linkto);
+        xfree (f->linkto);
       xfree (f);
       f = next;
     }
index 36bd2764dd11441f1bc0424dd0c361159e795741..02cd85e865d187afa92556eca304684906ab3cde 100644 (file)
--- a/src/ftp.h
+++ b/src/ftp.h
@@ -1,11 +1,12 @@
 /* Declarations for FTP support.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef FTP_H
 #define FTP_H
index 5580606f591e0cc66bd764b1a57f787e6fad7ad6..833f3f28278e5a0e7a59dce891f5915d2f26ea0e 100644 (file)
@@ -1,11 +1,12 @@
 /* General MD5 support.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,26 +15,25 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
-
-#include <config.h>
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
 #include "wget.h"
 
 #include "gen-md5.h"
 
 #ifdef HAVE_BUILTIN_MD5
-# include <gnu-md5.h>
+# include <md5.h>
 typedef struct md5_ctx gen_md5_context_imp;
 #endif
 
index 857bdfa85c41758eedc5dae171a76b7255b0243d..1c58969a2b15e5e8ec10ca715c81226cc7744854 100644 (file)
@@ -1,11 +1,12 @@
 /* General MD5 header file.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef GEN_MD5_H
 #define GEN_MD5_H
diff --git a/src/getopt.c b/src/getopt.c
deleted file mode 100644 (file)
index 8bc292f..0000000
+++ /dev/null
@@ -1,1072 +0,0 @@
-/* Getopt for GNU.
-   NOTE: The canonical source of this file is maintained with the GNU
-   C Library.  Bugs can be reported to bug-glibc@gnu.org.
-
-   Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
-       Free Software Foundation, Inc.
-
-   This program 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 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-\f
-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
-   Ditto for AIX 3.2 and <stdlib.h>.  */
-#ifndef _NO_PROTO
-# define _NO_PROTO
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#else
-# if !defined __STDC__ || !__STDC__
-/* This is a separate conditional since some stdc systems
-   reject `defined (const)'.  */
-#  ifndef const
-#   define const
-#  endif
-# endif
-#endif
-
-#include <stdio.h>
-
-/* 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.  */
-
-#define GETOPT_INTERFACE_VERSION 2
-#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
-# include <gnu-versions.h>
-# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
-#  define ELIDE_CODE
-# endif
-#endif
-
-#ifndef ELIDE_CODE
-
-
-/* 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 <stdlib.h>
-# include <unistd.h>
-#endif /* GNU C library.  */
-
-#ifdef VMS
-# include <unixlib.h>
-# if HAVE_STRING_H - 0
-#  include <string.h>
-# endif
-#endif
-
-#ifndef _
-/* This is for other GNU distributions with internationalized messages.
-   When compiling libc, the _ macro is predefined.  */
-# ifdef HAVE_LIBINTL_H
-#  include <libintl.h>
-#  define _(msgid)     gettext (msgid)
-# else
-#  define _(msgid)     (msgid)
-# endif
-#endif
-
-/* 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;
-
-/* 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 -1, 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.  */
-
-/* 1003.2 says this must be 1 before any call.  */
-int optind = 1;
-
-/* Formerly, initialization of getopt depended on optind==0, which
-   causes problems with re-calling getopt as programs generally don't
-   know that. */
-
-int __getopt_initialized;
-
-/* 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 -1 with `optind' != ARGC.  */
-
-static enum
-{
-  REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Value of POSIXLY_CORRECT environment variable.  */
-static char *posixly_correct;
-\f
-#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 <string.h>
-# define my_index      strchr
-#else
-
-#include <string.h>
-
-/* Avoid depending on library functions or files
-   whose names are inconsistent.  */
-
-#ifndef getenv
-extern char *getenv ();
-#endif
-
-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.  */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
-   That was relevant to code that was here before.  */
-# if (!defined __STDC__ || !__STDC__) && !defined strlen
-/* gcc with -traditional declares the built-in strlen to return int,
-   and has done so at least since version 2.4.5. -- rms.  */
-extern int strlen (const char *);
-# endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
-#endif /* not __GNU_LIBRARY__ */
-\f
-/* 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;
-
-#ifdef _LIBC
-/* Bash 2.0 gives us an environment variable containing flags
-   indicating ARGV elements that should not be considered arguments.  */
-
-/* Defined in getopt_init.c  */
-extern char *__getopt_nonoption_flags;
-
-static int nonoption_flags_max_len;
-static int nonoption_flags_len;
-
-static int original_argc;
-static char *const *original_argv;
-
-/* Make sure the environment variable bash 2.0 puts in the environment
-   is valid for the getopt call we must make sure that the ARGV passed
-   to getopt is that one passed to the process.  */
-static void
-__attribute__ ((unused))
-store_args_and_env (int argc, char *const *argv)
-{
-  /* XXX This is no good solution.  We should rather copy the args so
-     that we can compare them later.  But we must not use malloc(3).  */
-  original_argc = argc;
-  original_argv = argv;
-}
-# ifdef text_set_element
-text_set_element (__libc_subinit, store_args_and_env);
-# endif /* text_set_element */
-
-# define SWAP_FLAGS(ch1, ch2) \
-  if (nonoption_flags_len > 0)                                               \
-    {                                                                        \
-      char __tmp = __getopt_nonoption_flags[ch1];                            \
-      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];         \
-      __getopt_nonoption_flags[ch2] = __tmp;                                 \
-    }
-#else  /* !_LIBC */
-# define SWAP_FLAGS(ch1, ch2)
-#endif /* _LIBC */
-
-/* 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.  */
-
-#if defined __STDC__ && __STDC__
-static void exchange (char **);
-#endif
-
-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.  */
-
-#ifdef _LIBC
-  /* First make sure the handling of the `__getopt_nonoption_flags'
-     string can work normally.  Our top argument must be in the range
-     of the string.  */
-  if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
-    {
-      /* We must extend the array.  The user plays games with us and
-        presents new arguments.  */
-      char *new_str = malloc (top + 1);
-      if (new_str == NULL)
-       nonoption_flags_len = nonoption_flags_max_len = 0;
-      else
-       {
-         memset (__mempcpy (new_str, __getopt_nonoption_flags,
-                            nonoption_flags_max_len),
-                 '\0', top + 1 - nonoption_flags_max_len);
-         nonoption_flags_max_len = top + 1;
-         __getopt_nonoption_flags = new_str;
-       }
-    }
-#endif
-
-  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;
-             SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
-           }
-         /* 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;
-             SWAP_FLAGS (bottom + i, middle + i);
-           }
-         /* 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;
-}
-
-/* Initialize the internal data when the first call is made.  */
-
-#if defined __STDC__ && __STDC__
-static const char *_getopt_initialize (int, char *const *, const char *);
-#endif
-static const char *
-_getopt_initialize (argc, argv, optstring)
-     int argc;
-     char *const *argv;
-     const char *optstring;
-{
-  /* 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.  */
-
-  first_nonopt = last_nonopt = optind;
-
-  nextchar = NULL;
-
-  posixly_correct = getenv ("POSIXLY_CORRECT");
-
-  /* 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 (posixly_correct != NULL)
-    ordering = REQUIRE_ORDER;
-  else
-    ordering = PERMUTE;
-
-#ifdef _LIBC
-  if (posixly_correct == NULL
-      && argc == original_argc && argv == original_argv)
-    {
-      if (nonoption_flags_max_len == 0)
-       {
-         if (__getopt_nonoption_flags == NULL
-             || __getopt_nonoption_flags[0] == '\0')
-           nonoption_flags_max_len = -1;
-         else
-           {
-             const char *orig_str = __getopt_nonoption_flags;
-             int len = nonoption_flags_max_len = strlen (orig_str);
-             if (nonoption_flags_max_len < argc)
-               nonoption_flags_max_len = argc;
-             __getopt_nonoption_flags =
-               (char *) malloc (nonoption_flags_max_len);
-             if (__getopt_nonoption_flags == NULL)
-               nonoption_flags_max_len = -1;
-             else
-               memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
-                       '\0', nonoption_flags_max_len - len);
-           }
-       }
-      nonoption_flags_len = nonoption_flags_max_len;
-    }
-  else
-    nonoption_flags_len = 0;
-#endif
-
-  return optstring;
-}
-\f
-/* 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 -1.
-   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;
-{
-  optarg = NULL;
-
-  if (optind == 0 || !__getopt_initialized)
-    {
-      if (optind == 0)
-       optind = 1;     /* Don't scan ARGV[0], the program name.  */
-      optstring = _getopt_initialize (argc, argv, optstring);
-      __getopt_initialized = 1;
-    }
-
-  /* Test whether ARGV[optind] points to a non-option argument.
-     Either it does not have option syntax, or there is an environment flag
-     from the shell indicating it is not an option.  The later information
-     is only used when the used in the GNU libc.  */
-#ifdef _LIBC
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0'              \
-                     || (optind < nonoption_flags_len                        \
-                         && __getopt_nonoption_flags[optind] == '1'))
-#else
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
-#endif
-
-  if (nextchar == NULL || *nextchar == '\0')
-    {
-      /* Advance to the next ARGV-element.  */
-
-      /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
-        moved back by the user (who may also have changed the arguments).  */
-      if (last_nonopt > optind)
-       last_nonopt = optind;
-      if (first_nonopt > optind)
-       first_nonopt = optind;
-
-      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;
-
-         /* Skip any additional non-options
-            and extend the range of non-options previously skipped.  */
-
-         while (optind < argc && NONOPTION_P)
-           optind++;
-         last_nonopt = optind;
-       }
-
-      /* The 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 -1;
-       }
-
-      /* 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 (NONOPTION_P)
-       {
-         if (ordering == REQUIRE_ORDER)
-           return -1;
-         optarg = argv[optind++];
-         return 1;
-       }
-
-      /* We have found another option-ARGV-element.
-        Skip the initial punctuation.  */
-
-      nextchar = (argv[optind] + 1
-                 + (longopts != NULL && argv[optind][1] == '-'));
-    }
-
-  /* Decode the current option-ARGV-element.  */
-
-  /* Check whether the ARGV-element is a long option.
-
-     If long_only and the ARGV-element has the form "-f", where f is
-     a valid short option, don't consider it an abbreviated form of
-     a long option that starts with f.  Otherwise there would be no
-     way to give the -f short option.
-
-     On the other hand, if there's a long option "fubar" and
-     the ARGV-element is "-fu", do consider that an abbreviation of
-     the long option, just like "--fu", and not "-f" with arg "u".
-
-     This distinction seems to be the most useful approach.  */
-
-  if (longopts != NULL
-      && (argv[optind][1] == '-'
-         || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
-    {
-      char *nameend;
-      const struct option *p;
-      const struct option *pfound = NULL;
-      int exact = 0;
-      int ambig = 0;
-      int indfound = -1;
-      int option_index;
-
-      for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
-       /* Do nothing.  */ ;
-
-      /* Test all long options for either exact match
-        or abbreviated matches.  */
-      for (p = longopts, option_index = 0; p->name; p++, option_index++)
-       if (!strncmp (p->name, nextchar, nameend - nextchar))
-         {
-           if ((unsigned int) (nameend - nextchar)
-               == (unsigned int) 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 or later 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++;
-         optopt = 0;
-         return '?';
-       }
-
-      if (pfound != NULL)
-       {
-         option_index = indfound;
-         optind++;
-         if (*nameend)
-           {
-             /* Don't test has_arg with >, because some C compilers don't
-                allow it to be used on enums.  */
-             if (pfound->has_arg)
-               optarg = nameend + 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);
-
-                 optopt = pfound->val;
-                 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);
-                 optopt = pfound->val;
-                 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] == '-'
-         || 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++;
-         optopt = 0;
-         return '?';
-       }
-    }
-
-  /* Look at and handle the next short 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 (posixly_correct)
-             /* 1003.2 specifies the format of this message.  */
-             fprintf (stderr, _("%s: illegal option -- %c\n"),
-                      argv[0], c);
-           else
-             fprintf (stderr, _("%s: invalid option -- %c\n"),
-                      argv[0], c);
-         }
-       optopt = c;
-       return '?';
-      }
-    /* Convenience. Treat POSIX -W foo same as long option --foo */
-    if (temp[0] == 'W' && temp[1] == ';')
-      {
-       char *nameend;
-       const struct option *p;
-       const struct option *pfound = NULL;
-       int exact = 0;
-       int ambig = 0;
-       int indfound = 0;
-       int option_index;
-
-       /* 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)
-             {
-               /* 1003.2 specifies the format of this message.  */
-               fprintf (stderr, _("%s: option requires an argument -- %c\n"),
-                        argv[0], c);
-             }
-           optopt = c;
-           if (optstring[0] == ':')
-             c = ':';
-           else
-             c = '?';
-           return c;
-         }
-       else
-         /* We already incremented `optind' once;
-            increment it again when taking next ARGV-elt as argument.  */
-         optarg = argv[optind++];
-
-       /* optarg is now the argument, see if it's in the
-          table of longopts.  */
-
-       for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
-         /* Do nothing.  */ ;
-
-       /* Test all long options for either exact match
-          or abbreviated matches.  */
-       for (p = longopts, option_index = 0; p->name; p++, option_index++)
-         if (!strncmp (p->name, nextchar, nameend - nextchar))
-           {
-             if ((unsigned int) (nameend - 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 or later nonexact match found.  */
-               ambig = 1;
-           }
-       if (ambig && !exact)
-         {
-           if (opterr)
-             fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
-                      argv[0], argv[optind]);
-           nextchar += strlen (nextchar);
-           optind++;
-           return '?';
-         }
-       if (pfound != NULL)
-         {
-           option_index = indfound;
-           if (*nameend)
-             {
-               /* Don't test has_arg with >, because some C compilers don't
-                  allow it to be used on enums.  */
-               if (pfound->has_arg)
-                 optarg = nameend + 1;
-               else
-                 {
-                   if (opterr)
-                     fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
-                              argv[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;
-         }
-         nextchar = NULL;
-         return 'W';   /* Let the application handle it.   */
-      }
-    if (temp[1] == ':')
-      {
-       if (temp[2] == ':')
-         {
-           /* This is an option that accepts an argument optionally.  */
-           if (*nextchar != '\0')
-             {
-               optarg = nextchar;
-               optind++;
-             }
-           else
-             optarg = NULL;
-           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)
-                 {
-                   /* 1003.2 specifies the format of this message.  */
-                   fprintf (stderr,
-                          _("%s: option requires an argument -- %c\n"),
-                          argv[0], c);
-                 }
-               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);
-}
-
-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 /* Not ELIDE_CODE.  */
-\f
-#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 == -1)
-       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 --git a/src/getopt.h b/src/getopt.h
deleted file mode 100644 (file)
index c8e96c7..0000000
+++ /dev/null
@@ -1,125 +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 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-#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
-{
-  const char *name;
-  /* 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 */
diff --git a/src/gettext.h b/src/gettext.h
new file mode 100644 (file)
index 0000000..8874d9b
--- /dev/null
@@ -0,0 +1,265 @@
+/* Convenience header for conditional use of GNU <libintl.h>.
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006 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, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+   USA.  */
+
+#ifndef _LIBGETTEXT_H
+#define _LIBGETTEXT_H 1
+
+/* NLS can be disabled through the configure --disable-nls option.  */
+#if ENABLE_NLS
+
+/* Get declarations of GNU message catalog functions.  */
+# include <libintl.h>
+
+/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by
+   the gettext() and ngettext() macros.  This is an alternative to calling
+   textdomain(), and is useful for libraries.  */
+# ifdef DEFAULT_TEXT_DOMAIN
+#  undef gettext
+#  define gettext(Msgid) \
+     dgettext (DEFAULT_TEXT_DOMAIN, Msgid)
+#  undef ngettext
+#  define ngettext(Msgid1, Msgid2, N) \
+     dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N)
+# endif
+
+#else
+
+/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
+   chokes if dcgettext is defined as a macro.  So include it now, to make
+   later inclusions of <locale.h> a NOP.  We don't include <libintl.h>
+   as well because people using "gettext.h" will not include <libintl.h>,
+   and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
+   is OK.  */
+#if defined(__sun)
+# include <locale.h>
+#endif
+
+/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
+   <libintl.h>, which chokes if dcgettext is defined as a macro.  So include
+   it now, to make later inclusions of <libintl.h> a NOP.  */
+#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
+# include <cstdlib>
+# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
+#  include <libintl.h>
+# endif
+#endif
+
+/* Disabled NLS.
+   The casts to 'const char *' serve the purpose of producing warnings
+   for invalid uses of the value returned from these functions.
+   On pre-ANSI systems without 'const', the config.h file is supposed to
+   contain "#define const".  */
+# define gettext(Msgid) ((const char *) (Msgid))
+# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
+# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
+# define ngettext(Msgid1, Msgid2, N) \
+    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
+# define dngettext(Domainname, Msgid1, Msgid2, N) \
+    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
+# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
+# define textdomain(Domainname) ((const char *) (Domainname))
+# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
+# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
+
+#endif
+
+/* A pseudo function call that serves as a marker for the automated
+   extraction of messages, but does not call gettext().  The run-time
+   translation is done at a different place in the code.
+   The argument, String, should be a literal string.  Concatenated strings
+   and other string expressions won't work.
+   The macro's expansion is not parenthesized, so that it is suitable as
+   initializer for static 'char[]' or 'const char[]' variables.  */
+#define gettext_noop(String) String
+
+/* The separator between msgctxt and msgid in a .mo file.  */
+#define GETTEXT_CONTEXT_GLUE "\004"
+
+/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
+   MSGID.  MSGCTXT and MSGID must be string literals.  MSGCTXT should be
+   short and rarely need to change.
+   The letter 'p' stands for 'particular' or 'special'.  */
+#ifdef DEFAULT_TEXT_DOMAIN
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#else
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#endif
+#define dpgettext(Domainname, Msgctxt, Msgid) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
+#ifdef DEFAULT_TEXT_DOMAIN
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#else
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#endif
+#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+pgettext_aux (const char *domain,
+             const char *msg_ctxt_id, const char *msgid,
+             int category)
+{
+  const char *translation = dcgettext (domain, msg_ctxt_id, category);
+  if (translation == msg_ctxt_id)
+    return msgid;
+  else
+    return translation;
+}
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+npgettext_aux (const char *domain,
+              const char *msg_ctxt_id, const char *msgid,
+              const char *msgid_plural, unsigned long int n,
+              int category)
+{
+  const char *translation =
+    dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+  if (translation == msg_ctxt_id || translation == msgid_plural)
+    return (n == 1 ? msgid : msgid_plural);
+  else
+    return translation;
+}
+
+/* The same thing extended for non-constant arguments.  Here MSGCTXT and MSGID
+   can be arbitrary expressions.  But for string literals these macros are
+   less efficient than those above.  */
+
+#include <string.h>
+
+#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
+  (__GNUC__ >= 3 || __GNUG__ >= 2 /* || __STDC_VERSION__ >= 199901L */ )
+
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+#include <stdlib.h>
+#endif
+
+#define pgettext_expr(Msgctxt, Msgid) \
+  dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
+#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
+  dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcpgettext_expr (const char *domain,
+                const char *msgctxt, const char *msgid,
+                int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcgettext (domain, msg_ctxt_id, category);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+       free (msg_ctxt_id);
+#endif
+      if (translation != msg_ctxt_id)
+       return translation;
+    }
+  return msgid;
+}
+
+#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcnpgettext_expr (const char *domain,
+                 const char *msgctxt, const char *msgid,
+                 const char *msgid_plural, unsigned long int n,
+                 int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+       free (msg_ctxt_id);
+#endif
+      if (!(translation == msg_ctxt_id || translation == msgid_plural))
+       return translation;
+    }
+  return (n == 1 ? msgid : msgid_plural);
+}
+
+#endif /* _LIBGETTEXT_H */
diff --git a/src/gnu-md5.c b/src/gnu-md5.c
deleted file mode 100644 (file)
index 6abcecf..0000000
+++ /dev/null
@@ -1,400 +0,0 @@
-/* md5.c - Functions to compute MD5 message digest of files or memory blocks
-   according to the definition of MD5 in RFC 1321 from April 1992.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-   This file is part of the GNU C library.
-
-   The GNU C Library 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 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library 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 the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/* modified for Wget: depend on C89 */
-#include <stdlib.h>
-#include <string.h>
-
-#include "wget.h"
-#include "gnu-md5.h"
-
-#ifdef _LIBC
-# include <endian.h>
-# if __BYTE_ORDER == __BIG_ENDIAN
-#  define WORDS_BIGENDIAN 1
-# endif
-#endif
-
-#ifdef WORDS_BIGENDIAN
-# define SWAP(n)                                                       \
-    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
-#else
-# define SWAP(n) (n)
-#endif
-
-
-/* This array contains the bytes used to pad the buffer to the next
-   64-byte boundary.  (RFC 1321, 3.1: Step 1)  */
-static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ...  */ };
-
-
-/* Initialize structure containing state of computation.
-   (RFC 1321, 3.3: Step 3)  */
-void
-md5_init_ctx (struct md5_ctx *ctx)
-{
-  ctx->A = 0x67452301;
-  ctx->B = 0xefcdab89;
-  ctx->C = 0x98badcfe;
-  ctx->D = 0x10325476;
-
-  ctx->total[0] = ctx->total[1] = 0;
-  ctx->buflen = 0;
-}
-
-/* Put result from CTX in first 16 bytes following RESBUF.  The result
-   must be in little endian byte order.
-
-   IMPORTANT: On some systems it is required that RESBUF is correctly
-   aligned for a 32 bits value.  */
-void *
-md5_read_ctx (const struct md5_ctx *ctx, void *resbuf)
-{
-  ((md5_uint32 *) resbuf)[0] = SWAP (ctx->A);
-  ((md5_uint32 *) resbuf)[1] = SWAP (ctx->B);
-  ((md5_uint32 *) resbuf)[2] = SWAP (ctx->C);
-  ((md5_uint32 *) resbuf)[3] = SWAP (ctx->D);
-
-  return resbuf;
-}
-
-/* Process the remaining bytes in the internal buffer and the usual
-   prolog according to the standard and write the result to RESBUF.
-
-   IMPORTANT: On some systems it is required that RESBUF is correctly
-   aligned for a 32 bits value.  */
-void *
-md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
-{
-  /* Take yet unprocessed bytes into account.  */
-  md5_uint32 bytes = ctx->buflen;
-  size_t pad;
-
-  /* Now count remaining bytes.  */
-  ctx->total[0] += bytes;
-  if (ctx->total[0] < bytes)
-    ++ctx->total[1];
-
-  pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes;
-  memcpy (&ctx->buffer[bytes], fillbuf, pad);
-
-  /* Put the 64-bit file length in *bits* at the end of the buffer.  */
-  *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
-  *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
-                                                       (ctx->total[0] >> 29));
-
-  /* Process last bytes.  */
-  md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
-
-  return md5_read_ctx (ctx, resbuf);
-}
-
-/* Unused in Wget */
-#if 0
-/* Compute MD5 message digest for bytes read from STREAM.  The
-   resulting message digest number will be written into the 16 bytes
-   beginning at RESBLOCK.  */
-int
-md5_stream (FILE *stream, void *resblock)
-{
-  /* Important: BLOCKSIZE must be a multiple of 64.  */
-#define BLOCKSIZE 4096
-  struct md5_ctx ctx;
-  char buffer[BLOCKSIZE + 72];
-  size_t sum;
-
-  /* Initialize the computation context.  */
-  md5_init_ctx (&ctx);
-
-  /* Iterate over full file contents.  */
-  while (1)
-    {
-      /* We read the file in blocks of BLOCKSIZE bytes.  One call of the
-        computation function processes the whole buffer so that with the
-        next round of the loop another block can be read.  */
-      size_t n;
-      sum = 0;
-
-      /* Read block.  Take care for partial reads.  */
-      do
-       {
-         n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream);
-
-         sum += n;
-       }
-      while (sum < BLOCKSIZE && n != 0);
-      if (n == 0 && ferror (stream))
-        return 1;
-
-      /* If end of file is reached, end the loop.  */
-      if (n == 0)
-       break;
-
-      /* Process buffer with BLOCKSIZE bytes.  Note that
-                       BLOCKSIZE % 64 == 0
-       */
-      md5_process_block (buffer, BLOCKSIZE, &ctx);
-    }
-
-  /* Add the last bytes if necessary.  */
-  if (sum > 0)
-    md5_process_bytes (buffer, sum, &ctx);
-
-  /* Construct result in desired memory.  */
-  md5_finish_ctx (&ctx, resblock);
-  return 0;
-}
-
-/* Compute MD5 message digest for LEN bytes beginning at BUFFER.  The
-   result is always in little endian byte order, so that a byte-wise
-   output yields to the wanted ASCII representation of the message
-   digest.  */
-void *
-md5_buffer (const char *buffer, size_t len, void *resblock)
-{
-  struct md5_ctx ctx;
-
-  /* Initialize the computation context.  */
-  md5_init_ctx (&ctx);
-
-  /* Process whole buffer but last len % 64 bytes.  */
-  md5_process_bytes (buffer, len, &ctx);
-
-  /* Put result in desired memory area.  */
-  return md5_finish_ctx (&ctx, resblock);
-}
-#endif /* 0 */
-
-
-void
-md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
-{
-  /* When we already have some bits in our internal buffer concatenate
-     both inputs first.  */
-  if (ctx->buflen != 0)
-    {
-      size_t left_over = ctx->buflen;
-      size_t add = 128 - left_over > len ? len : 128 - left_over;
-
-      memcpy (&ctx->buffer[left_over], buffer, add);
-      ctx->buflen += add;
-
-      if (left_over + add > 64)
-       {
-         md5_process_block (ctx->buffer, (left_over + add) & ~63, ctx);
-         /* The regions in the following copy operation cannot overlap.  */
-         memcpy (ctx->buffer, &ctx->buffer[(left_over + add) & ~63],
-                 (left_over + add) & 63);
-         ctx->buflen = (left_over + add) & 63;
-       }
-
-      buffer = (const char *) buffer + add;
-      len -= add;
-    }
-
-  /* Process available complete blocks.  */
-  if (len > 64)
-    {
-      md5_process_block (buffer, len & ~63, ctx);
-      buffer = (const char *) buffer + (len & ~63);
-      len &= 63;
-    }
-
-  /* Move remaining bytes in internal buffer.  */
-  if (len > 0)
-    {
-      memcpy (ctx->buffer, buffer, len);
-      ctx->buflen = len;
-    }
-}
-
-
-/* These are the four functions used in the four steps of the MD5 algorithm
-   and defined in the RFC 1321.  The first function is a little bit optimized
-   (as found in Colin Plumbs public domain implementation).  */
-/* #define FF(b, c, d) ((b & c) | (~b & d)) */
-#define FF(b, c, d) (d ^ (b & (c ^ d)))
-#define FG(b, c, d) FF (d, b, c)
-#define FH(b, c, d) (b ^ c ^ d)
-#define FI(b, c, d) (c ^ (b | ~d))
-
-/* Process LEN bytes of BUFFER, accumulating context into CTX.
-   It is assumed that LEN % 64 == 0.  */
-
-void
-md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
-{
-  md5_uint32 correct_words[16];
-  const md5_uint32 *words = (md5_uint32 *)buffer;
-  size_t nwords = len / sizeof (md5_uint32);
-  const md5_uint32 *endp = words + nwords;
-  md5_uint32 A = ctx->A;
-  md5_uint32 B = ctx->B;
-  md5_uint32 C = ctx->C;
-  md5_uint32 D = ctx->D;
-
-  /* First increment the byte count.  RFC 1321 specifies the possible
-     length of the file up to 2^64 bits.  Here we only compute the
-     number of bytes.  Do a double word increment.  */
-  ctx->total[0] += len;
-  if (ctx->total[0] < len)
-    ++ctx->total[1];
-
-  /* Process all bytes in the buffer with 64 bytes in each round of
-     the loop.  */
-  while (words < endp)
-    {
-      md5_uint32 *cwp = correct_words;
-      md5_uint32 A_save = A;
-      md5_uint32 B_save = B;
-      md5_uint32 C_save = C;
-      md5_uint32 D_save = D;
-
-      /* First round: using the given function, the context and a constant
-        the next context is computed.  Because the algorithms processing
-        unit is a 32-bit word and it is determined to work on words in
-        little endian byte order we perhaps have to change the byte order
-        before the computation.  To reduce the work for the next steps
-        we store the swapped words in the array CORRECT_WORDS.  */
-
-#define OP(a, b, c, d, s, T)                                           \
-      do                                                               \
-        {                                                              \
-         a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T;             \
-         ++words;                                                      \
-         CYCLIC (a, s);                                                \
-         a += b;                                                       \
-        }                                                              \
-      while (0)
-
-      /* It is unfortunate that C does not provide an operator for
-        cyclic rotation.  Hope the C compiler is smart enough.  */
-#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s)))
-
-      /* Before we start, one word to the strange constants.
-        They are defined in RFC 1321 as
-
-        T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64
-       */
-
-      /* Round 1.  */
-      OP (A, B, C, D,  7, 0xd76aa478);
-      OP (D, A, B, C, 12, 0xe8c7b756);
-      OP (C, D, A, B, 17, 0x242070db);
-      OP (B, C, D, A, 22, 0xc1bdceee);
-      OP (A, B, C, D,  7, 0xf57c0faf);
-      OP (D, A, B, C, 12, 0x4787c62a);
-      OP (C, D, A, B, 17, 0xa8304613);
-      OP (B, C, D, A, 22, 0xfd469501);
-      OP (A, B, C, D,  7, 0x698098d8);
-      OP (D, A, B, C, 12, 0x8b44f7af);
-      OP (C, D, A, B, 17, 0xffff5bb1);
-      OP (B, C, D, A, 22, 0x895cd7be);
-      OP (A, B, C, D,  7, 0x6b901122);
-      OP (D, A, B, C, 12, 0xfd987193);
-      OP (C, D, A, B, 17, 0xa679438e);
-      OP (B, C, D, A, 22, 0x49b40821);
-
-      /* For the second to fourth round we have the possibly swapped words
-        in CORRECT_WORDS.  Redefine the macro to take an additional first
-        argument specifying the function to use.  */
-#undef OP
-#define OP(f, a, b, c, d, k, s, T)                                     \
-      do                                                               \
-       {                                                               \
-         a += f (b, c, d) + correct_words[k] + T;                      \
-         CYCLIC (a, s);                                                \
-         a += b;                                                       \
-       }                                                               \
-      while (0)
-
-      /* Round 2.  */
-      OP (FG, A, B, C, D,  1,  5, 0xf61e2562);
-      OP (FG, D, A, B, C,  6,  9, 0xc040b340);
-      OP (FG, C, D, A, B, 11, 14, 0x265e5a51);
-      OP (FG, B, C, D, A,  0, 20, 0xe9b6c7aa);
-      OP (FG, A, B, C, D,  5,  5, 0xd62f105d);
-      OP (FG, D, A, B, C, 10,  9, 0x02441453);
-      OP (FG, C, D, A, B, 15, 14, 0xd8a1e681);
-      OP (FG, B, C, D, A,  4, 20, 0xe7d3fbc8);
-      OP (FG, A, B, C, D,  9,  5, 0x21e1cde6);
-      OP (FG, D, A, B, C, 14,  9, 0xc33707d6);
-      OP (FG, C, D, A, B,  3, 14, 0xf4d50d87);
-      OP (FG, B, C, D, A,  8, 20, 0x455a14ed);
-      OP (FG, A, B, C, D, 13,  5, 0xa9e3e905);
-      OP (FG, D, A, B, C,  2,  9, 0xfcefa3f8);
-      OP (FG, C, D, A, B,  7, 14, 0x676f02d9);
-      OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a);
-
-      /* Round 3.  */
-      OP (FH, A, B, C, D,  5,  4, 0xfffa3942);
-      OP (FH, D, A, B, C,  8, 11, 0x8771f681);
-      OP (FH, C, D, A, B, 11, 16, 0x6d9d6122);
-      OP (FH, B, C, D, A, 14, 23, 0xfde5380c);
-      OP (FH, A, B, C, D,  1,  4, 0xa4beea44);
-      OP (FH, D, A, B, C,  4, 11, 0x4bdecfa9);
-      OP (FH, C, D, A, B,  7, 16, 0xf6bb4b60);
-      OP (FH, B, C, D, A, 10, 23, 0xbebfbc70);
-      OP (FH, A, B, C, D, 13,  4, 0x289b7ec6);
-      OP (FH, D, A, B, C,  0, 11, 0xeaa127fa);
-      OP (FH, C, D, A, B,  3, 16, 0xd4ef3085);
-      OP (FH, B, C, D, A,  6, 23, 0x04881d05);
-      OP (FH, A, B, C, D,  9,  4, 0xd9d4d039);
-      OP (FH, D, A, B, C, 12, 11, 0xe6db99e5);
-      OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8);
-      OP (FH, B, C, D, A,  2, 23, 0xc4ac5665);
-
-      /* Round 4.  */
-      OP (FI, A, B, C, D,  0,  6, 0xf4292244);
-      OP (FI, D, A, B, C,  7, 10, 0x432aff97);
-      OP (FI, C, D, A, B, 14, 15, 0xab9423a7);
-      OP (FI, B, C, D, A,  5, 21, 0xfc93a039);
-      OP (FI, A, B, C, D, 12,  6, 0x655b59c3);
-      OP (FI, D, A, B, C,  3, 10, 0x8f0ccc92);
-      OP (FI, C, D, A, B, 10, 15, 0xffeff47d);
-      OP (FI, B, C, D, A,  1, 21, 0x85845dd1);
-      OP (FI, A, B, C, D,  8,  6, 0x6fa87e4f);
-      OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0);
-      OP (FI, C, D, A, B,  6, 15, 0xa3014314);
-      OP (FI, B, C, D, A, 13, 21, 0x4e0811a1);
-      OP (FI, A, B, C, D,  4,  6, 0xf7537e82);
-      OP (FI, D, A, B, C, 11, 10, 0xbd3af235);
-      OP (FI, C, D, A, B,  2, 15, 0x2ad7d2bb);
-      OP (FI, B, C, D, A,  9, 21, 0xeb86d391);
-
-      /* Add the starting values of the context.  */
-      A += A_save;
-      B += B_save;
-      C += C_save;
-      D += D_save;
-    }
-
-  /* Put checksum in context given as argument.  */
-  ctx->A = A;
-  ctx->B = B;
-  ctx->C = C;
-  ctx->D = D;
-}
diff --git a/src/gnu-md5.h b/src/gnu-md5.h
deleted file mode 100644 (file)
index 1527ec5..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/* md5.h - Declaration of functions and data types used for MD5 sum
-   computing library functions.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-   NOTE: The canonical source of this file is maintained with the GNU C
-   Library.  Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-   This program 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 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifndef _MD5_H
-#define _MD5_H 1
-
-#include <limits.h>
-
-/* The following contortions are an attempt to use the C preprocessor
-   to determine an unsigned integral type that is 32 bits wide.  An
-   alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
-   doing that would require that the configure script compile and *run*
-   the resulting executable.  Locally running cross-compiled executables
-   is usually not possible.  */
-
-#ifdef _LIBC
-# include <sys/types.h>
-typedef u_int32_t md5_uint32;
-#else
-# if defined __STDC__ && __STDC__
-#  define UINT_MAX_32_BITS 4294967295U
-# else
-#  define UINT_MAX_32_BITS 0xFFFFFFFF
-# endif
-
-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
-   This should be valid for all systems GNU cares about because
-   that doesn't include 16-bit systems, and only modern systems
-   (that certainly have <limits.h>) have 64+-bit integral types.  */
-
-# ifndef UINT_MAX
-#  define UINT_MAX UINT_MAX_32_BITS
-# endif
-
-# if UINT_MAX == UINT_MAX_32_BITS
-   typedef unsigned int md5_uint32;
-# else
-#  if USHRT_MAX == UINT_MAX_32_BITS
-    typedef unsigned short md5_uint32;
-#  else
-#   if ULONG_MAX == UINT_MAX_32_BITS
-     typedef unsigned long md5_uint32;
-#   else
-     /* The following line is intended to evoke an error.
-        Using #error is not portable enough.  */
-     "Cannot determine unsigned 32-bit data type."
-#   endif
-#  endif
-# endif
-#endif
-
-/* Structure to save state of computation between the single steps.  */
-struct md5_ctx
-{
-  md5_uint32 A;
-  md5_uint32 B;
-  md5_uint32 C;
-  md5_uint32 D;
-
-  md5_uint32 total[2];
-  md5_uint32 buflen;
-  char buffer[128];
-};
-
-/*
- * The following three functions are build up the low level used in
- * the functions `md5_stream' and `md5_buffer'.
- */
-
-/* Initialize structure containing state of computation.
-   (RFC 1321, 3.3: Step 3)  */
-extern void md5_init_ctx (struct md5_ctx *ctx);
-
-/* Starting with the result of former calls of this function (or the
-   initialization function update the context for the next LEN bytes
-   starting at BUFFER.
-   It is necessary that LEN is a multiple of 64!!! */
-extern void md5_process_block (const void *buffer, size_t len,
-                              struct md5_ctx *ctx);
-
-/* Starting with the result of former calls of this function (or the
-   initialization function update the context for the next LEN bytes
-   starting at BUFFER.
-   It is NOT required that LEN is a multiple of 64.  */
-extern void md5_process_bytes (const void *buffer, size_t len,
-                              struct md5_ctx *ctx);
-
-/* Process the remaining bytes in the buffer and put result from CTX
-   in first 16 bytes following RESBUF.  The result is always in little
-   endian byte order, so that a byte-wise output yields to the wanted
-   ASCII representation of the message digest.
-
-   IMPORTANT: On some systems it is required that RESBUF is correctly
-   aligned for a 32 bits value.  */
-extern void *md5_finish_ctx (struct md5_ctx *ctx, void *resbuf);
-
-
-/* Put result from CTX in first 16 bytes following RESBUF.  The result is
-   always in little endian byte order, so that a byte-wise output yields
-   to the wanted ASCII representation of the message digest.
-
-   IMPORTANT: On some systems it is required that RESBUF is correctly
-   aligned for a 32 bits value.  */
-extern void *md5_read_ctx (const struct md5_ctx *ctx, void *resbuf);
-
-
-#if 0 /* Unused in Wget */
-/* Compute MD5 message digest for bytes read from STREAM.  The
-   resulting message digest number will be written into the 16 bytes
-   beginning at RESBLOCK.  */
-extern int md5_stream (FILE *stream, void *resblock);
-#endif
-
-/* Compute MD5 message digest for LEN bytes beginning at BUFFER.  The
-   result is always in little endian byte order, so that a byte-wise
-   output yields to the wanted ASCII representation of the message
-   digest.  */
-extern void *md5_buffer (const char *buffer, size_t len, void *resblock);
-
-#endif
index 05cd0df169bfd468e4d1e23219c43f50b2298585..6f40d3936e7a130882941e6510e61d746185e330 100644 (file)
@@ -1,11 +1,11 @@
 /* SSL support via GnuTLS library.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +14,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <assert.h>
 #include <errno.h>
@@ -40,7 +40,6 @@ so, delete this exception statement from your version.  */
 #include <gnutls/gnutls.h>
 #include <gnutls/x509.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "connect.h"
 #include "url.h"
@@ -60,13 +59,13 @@ ssl_init ()
   gnutls_certificate_allocate_credentials (&credentials);
   if (opt.ca_cert)
     gnutls_certificate_set_x509_trust_file (credentials, opt.ca_cert,
-                                           GNUTLS_X509_FMT_PEM);
+                                            GNUTLS_X509_FMT_PEM);
   return true;
 }
 
 struct wgnutls_transport_context {
-  gnutls_session session;      /* GnuTLS session handle */
-  int last_error;              /* last error returned by read/write/... */
+  gnutls_session session;       /* GnuTLS session handle */
+  int last_error;               /* last error returned by read/write/... */
 
   /* Since GnuTLS doesn't support the equivalent to recv(...,
      MSG_PEEK) or SSL_peek(), we have to do it ourselves.  Peeked data
@@ -93,9 +92,9 @@ wgnutls_read (int fd, char *buf, int bufsize, void *arg)
       memcpy (buf, ctx->peekbuf + ctx->peekstart, copysize);
       ctx->peeklen -= copysize;
       if (ctx->peeklen != 0)
-       ctx->peekstart += copysize;
+        ctx->peekstart += copysize;
       else
-       ctx->peekstart = 0;
+        ctx->peekstart = 0;
       return copysize;
     }
 
@@ -224,7 +223,7 @@ ssl_check_certificate (int fd, const char *host)
   if (err < 0)
     {
       logprintf (LOG_NOTQUIET, _("%s: No certificate presented by %s.\n"),
-                severity, escnonprint (host));
+                 severity, escnonprint (host));
       success = false;
       goto out;
     }
@@ -232,19 +231,19 @@ ssl_check_certificate (int fd, const char *host)
   if (status & GNUTLS_CERT_INVALID)
     {
       logprintf (LOG_NOTQUIET, _("%s: The certificate of `%s' is not trusted.\n"),
-                severity, escnonprint (host));
+                 severity, escnonprint (host));
       success = false;
     }
   if (status & GNUTLS_CERT_SIGNER_NOT_FOUND)
     {
       logprintf (LOG_NOTQUIET, _("%s: The certificate of `%s' hasn't got a known issuer.\n"),
-                severity, escnonprint (host));
+                 severity, escnonprint (host));
       success = false;
     }
   if (status & GNUTLS_CERT_REVOKED)
     {
       logprintf (LOG_NOTQUIET, _("%s: The certificate of `%s' has been revoked.\n"),
-                severity, escnonprint (host));
+                 severity, escnonprint (host));
       success = false;
     }
 
@@ -256,45 +255,45 @@ ssl_check_certificate (int fd, const char *host)
       unsigned int cert_list_size;
 
       if ((err = gnutls_x509_crt_init (&cert)) < 0)
-       {
-         logprintf (LOG_NOTQUIET, _("Error initializing X509 certificate: %s\n"),
-                    gnutls_strerror (err));
-         success = false;
-         goto out;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("Error initializing X509 certificate: %s\n"),
+                     gnutls_strerror (err));
+          success = false;
+          goto out;
+        }
 
       cert_list = gnutls_certificate_get_peers (ctx->session, &cert_list_size);
       if (!cert_list)
-       {
-         logprintf (LOG_NOTQUIET, _("No certificate found\n"));
-         success = false;
-         goto out;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("No certificate found\n"));
+          success = false;
+          goto out;
+        }
       err = gnutls_x509_crt_import (cert, cert_list, GNUTLS_X509_FMT_DER);
       if (err < 0)
-       {
-         logprintf (LOG_NOTQUIET, _("Error parsing certificate: %s\n"),
-                    gnutls_strerror (err));
-         success = false;
-         goto out;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("Error parsing certificate: %s\n"),
+                     gnutls_strerror (err));
+          success = false;
+          goto out;
+        }
       if (now < gnutls_x509_crt_get_activation_time (cert))
-       {
-         logprintf (LOG_NOTQUIET, _("The certificate has not yet been activated\n"));
-         success = false;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("The certificate has not yet been activated\n"));
+          success = false;
+        }
       if (now >= gnutls_x509_crt_get_expiration_time (cert))
-       {
-         logprintf (LOG_NOTQUIET, _("The certificate has expired\n"));
-         success = false;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("The certificate has expired\n"));
+          success = false;
+        }
       if (!gnutls_x509_crt_check_hostname (cert, host))
-       {
-         logprintf (LOG_NOTQUIET,
-                    _("The certificate's owner does not match hostname '%s'\n"),
-                    host);
-         success = false;
-       }
+        {
+          logprintf (LOG_NOTQUIET,
+                     _("The certificate's owner does not match hostname '%s'\n"),
+                     host);
+          success = false;
+        }
       gnutls_x509_crt_deinit (cert);
    }
 
index ccd0997d5f2260c2f37ecf60b5edebe4c16090ac..4697b779bf65ef1ba4ec99de4d8ff0d122e342d3 100644 (file)
@@ -1,11 +1,12 @@
 /* Hash tables.
-   Copyright (C) 2000-2006 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,24 +15,24 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* With -DSTANDALONE, this file can be compiled outside Wget source
    tree.  To test, also use -DTEST.  */
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
+#ifndef STANDALONE
+# include "wget.h"
 #endif
 
 #include <stdio.h>
@@ -42,7 +43,6 @@ so, delete this exception statement from your version.  */
 
 #ifndef STANDALONE
 /* Get Wget's utility headers. */
-# include "wget.h"
 # include "utils.h"
 #else
 /* Make do without them. */
@@ -54,7 +54,7 @@ so, delete this exception statement from your version.  */
 #  define countof(x) (sizeof (x) / sizeof ((x)[0]))
 # endif
 # include <ctype.h>
-# define TOLOWER(x) tolower ((unsigned char) (x))
+# define c_tolower(x) tolower ((unsigned char) (x))
 # if __STDC_VERSION__ >= 199901L
 #  include <stdint.h>  /* for uintptr_t */
 # else
@@ -157,14 +157,14 @@ struct hash_table {
   hashfun_t hash_function;
   testfun_t test_function;
 
-  struct cell *cells;          /* contiguous array of cells. */
-  int size;                    /* size of the array. */
+  struct cell *cells;           /* contiguous array of cells. */
+  int size;                     /* size of the array. */
 
-  int count;                   /* number of occupied entries. */
-  int resize_threshold;                /* after size exceeds this number of
-                                  entries, resize the table.  */
-  int prime_offset;            /* the offset of the current prime in
-                                  the prime table. */
+  int count;                    /* number of occupied entries. */
+  int resize_threshold;         /* after size exceeds this number of
+                                   entries, resize the table.  */
+  int prime_offset;             /* the offset of the current prime in
+                                   the prime table. */
 };
 
 /* We use the all-bits-set constant (INVALID_PTR) marker to mean that
@@ -196,7 +196,7 @@ struct hash_table {
 
 /* Loop over occupied cells starting at C, terminating the loop when
    an empty cell is encountered.  */
-#define FOREACH_OCCUPIED_ADJACENT(c, cells, size)                              \
+#define FOREACH_OCCUPIED_ADJACENT(c, cells, size)                               \
   for (; CELL_OCCUPIED (c); c = NEXT_CELL (c, cells, size))
 
 /* Return the position of KEY in hash table SIZE large, hash function
@@ -231,13 +231,13 @@ prime_size (int size, int *prime_offset)
   for (i = *prime_offset; i < countof (primes); i++)
     if (primes[i] >= size)
       {
-       /* Set the offset to the next prime.  That is safe because,
-          next time we are called, it will be with a larger SIZE,
-          which means we could never return the same prime anyway.
-          (If that is not the case, the caller can simply reset
-          *prime_offset.)  */
-       *prime_offset = i + 1;
-       return primes[i];
+        /* Set the offset to the next prime.  That is safe because,
+           next time we are called, it will be with a larger SIZE,
+           which means we could never return the same prime anyway.
+           (If that is not the case, the caller can simply reset
+           *prime_offset.)  */
+        *prime_offset = i + 1;
+        return primes[i];
       }
 
   abort ();
@@ -271,8 +271,8 @@ static int cmp_pointer (const void *, const void *);
 
 struct hash_table *
 hash_table_new (int items,
-               unsigned long (*hash_function) (const void *),
-               int (*test_function) (const void *, const void *))
+                unsigned long (*hash_function) (const void *),
+                int (*test_function) (const void *, const void *))
 {
   int size;
   struct hash_table *ht = xnew (struct hash_table);
@@ -352,15 +352,15 @@ hash_table_get (const struct hash_table *ht, const void *key)
 
 int
 hash_table_get_pair (const struct hash_table *ht, const void *lookup_key,
-                    void *orig_key, void *value)
+                     void *orig_key, void *value)
 {
   struct cell *c = find_cell (ht, lookup_key);
   if (CELL_OCCUPIED (c))
     {
       if (orig_key)
-       *(void **)orig_key = c->key;
+        *(void **)orig_key = c->key;
       if (value)
-       *(void **)value = c->value;
+        *(void **)value = c->value;
       return 1;
     }
   else
@@ -391,9 +391,9 @@ grow_hash_table (struct hash_table *ht)
   newsize = prime_size (ht->size * HASH_RESIZE_FACTOR, &ht->prime_offset);
 #if 0
   printf ("growing from %d to %d; fullness %.2f%% to %.2f%%\n",
-         ht->size, newsize,
-         100.0 * ht->count / ht->size,
-         100.0 * ht->count / newsize);
+          ht->size, newsize,
+          100.0 * ht->count / ht->size,
+          100.0 * ht->count / newsize);
 #endif
 
   ht->size = newsize;
@@ -406,14 +406,14 @@ grow_hash_table (struct hash_table *ht)
   for (c = old_cells; c < old_end; c++)
     if (CELL_OCCUPIED (c))
       {
-       struct cell *new_c;
-       /* We don't need to test for uniqueness of keys because they
-          come from the hash table and are therefore known to be
-          unique.  */
-       new_c = cells + HASH_POSITION (c->key, hasher, newsize);
-       FOREACH_OCCUPIED_ADJACENT (new_c, cells, newsize)
-         ;
-       *new_c = *c;
+        struct cell *new_c;
+        /* We don't need to test for uniqueness of keys because they
+           come from the hash table and are therefore known to be
+           unique.  */
+        new_c = cells + HASH_POSITION (c->key, hasher, newsize);
+        FOREACH_OCCUPIED_ADJACENT (new_c, cells, newsize)
+          ;
+        *new_c = *c;
       }
 
   xfree (old_cells);
@@ -444,7 +444,7 @@ hash_table_put (struct hash_table *ht, const void *key, void *value)
 
   /* add new item */
   ++ht->count;
-  c->key   = (void *)key;      /* const? */
+  c->key   = (void *)key;       /* const? */
   c->value = value;
 }
 
@@ -467,30 +467,30 @@ hash_table_remove (struct hash_table *ht, const void *key)
       --ht->count;
 
       /* Rehash all the entries following C.  The alternative
-        approach is to mark the entry as deleted, i.e. create a
-        "tombstone".  That speeds up removal, but leaves a lot of
-        garbage and slows down hash_table_get and hash_table_put.  */
+         approach is to mark the entry as deleted, i.e. create a
+         "tombstone".  That speeds up removal, but leaves a lot of
+         garbage and slows down hash_table_get and hash_table_put.  */
 
       c = NEXT_CELL (c, cells, size);
       FOREACH_OCCUPIED_ADJACENT (c, cells, size)
-       {
-         const void *key2 = c->key;
-         struct cell *c_new;
-
-         /* Find the new location for the key. */
-         c_new = cells + HASH_POSITION (key2, hasher, size);
-         FOREACH_OCCUPIED_ADJACENT (c_new, cells, size)
-           if (key2 == c_new->key)
-             /* The cell C (key2) is already where we want it (in
-                C_NEW's "chain" of keys.)  */
-             goto next_rehash;
-
-         *c_new = *c;
-         CLEAR_CELL (c);
-
-       next_rehash:
-         ;
-       }
+        {
+          const void *key2 = c->key;
+          struct cell *c_new;
+
+          /* Find the new location for the key. */
+          c_new = cells + HASH_POSITION (key2, hasher, size);
+          FOREACH_OCCUPIED_ADJACENT (c_new, cells, size)
+            if (key2 == c_new->key)
+              /* The cell C (key2) is already where we want it (in
+                 C_NEW's "chain" of keys.)  */
+              goto next_rehash;
+
+          *c_new = *c;
+          CLEAR_CELL (c);
+
+        next_rehash:
+          ;
+        }
       return 1;
     }
 }
@@ -519,7 +519,7 @@ hash_table_clear (struct hash_table *ht)
 
 void
 hash_table_for_each (struct hash_table *ht,
-                    int (*fn) (void *, void *, void *), void *arg)
+                     int (*fn) (void *, void *, void *), void *arg)
 {
   struct cell *c = ht->cells;
   struct cell *end = ht->cells + ht->size;
@@ -527,14 +527,14 @@ hash_table_for_each (struct hash_table *ht,
   for (; c < end; c++)
     if (CELL_OCCUPIED (c))
       {
-       void *key;
+        void *key;
       repeat:
-       key = c->key;
-       if (fn (key, c->value, arg))
-         return;
-       /* hash_table_remove might have moved the adjacent cells. */
-       if (c->key != key && CELL_OCCUPIED (c))
-         goto repeat;
+        key = c->key;
+        if (fn (key, c->value, arg))
+          return;
+        /* hash_table_remove might have moved the adjacent cells. */
+        if (c->key != key && CELL_OCCUPIED (c))
+          goto repeat;
       }
 }
 
@@ -572,10 +572,10 @@ hash_table_iter_next (hash_table_iterator *iter)
   for (; c < end; c++)
     if (CELL_OCCUPIED (c))
       {
-       iter->key = c->key;
-       iter->value = c->value;
-       iter->pos = c + 1;
-       return 1;
+        iter->key = c->key;
+        iter->value = c->value;
+        iter->pos = c + 1;
+        return 1;
       }
   return 0;
 }
@@ -680,11 +680,11 @@ static unsigned long
 hash_string_nocase (const void *key)
 {
   const char *p = key;
-  unsigned int h = TOLOWER (*p);
+  unsigned int h = c_tolower (*p);
   
   if (h)
     for (p += 1; *p != '\0'; p++)
-      h = (h << 5) - h + TOLOWER (*p);
+      h = (h << 5) - h + c_tolower (*p);
   
   return h;
 }
@@ -771,20 +771,20 @@ main (void)
     {
       int len = strlen (line);
       if (len <= 1)
-       continue;
+        continue;
       line[--len] = '\0';
       if (!hash_table_contains (ht, line))
-       hash_table_put (ht, strdup (line), "here I am!");
+        hash_table_put (ht, strdup (line), "here I am!");
 #if 1
       if (len % 5 == 0)
-       {
-         char *line_copy;
-         if (hash_table_get_pair (ht, line, &line_copy, NULL))
-           {
-             hash_table_remove (ht, line);
-             xfree (line_copy);
-           }
-       }
+        {
+          char *line_copy;
+          if (hash_table_get_pair (ht, line, &line_copy, NULL))
+            {
+              hash_table_remove (ht, line);
+              xfree (line_copy);
+            }
+        }
 #endif
     }
 #if 0
index 61977df101bf881c476b4c1a447bbe14e82f6954..6a9254158246b77168b7a144f07ef1eb92972b56 100644 (file)
@@ -1,11 +1,11 @@
 /* Hash table declarations.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef HASH_H
 #define HASH_H
index 7c8adba1c55f8954136b94e1a318593f46a548e4..5a530221da17969cdd17ba42cbc86a305e699771 100644 (file)
@@ -1,11 +1,12 @@
 /* Host name resolution and matching.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -48,7 +49,6 @@ so, delete this exception statement from your version.  */
 
 #include <errno.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "host.h"
 #include "url.h"
@@ -62,16 +62,16 @@ so, delete this exception statement from your version.  */
    lookup_host for details.  */
 
 struct address_list {
-  int count;                   /* number of adrresses */
-  ip_address *addresses;       /* pointer to the string of addresses */
+  int count;                    /* number of adrresses */
+  ip_address *addresses;        /* pointer to the string of addresses */
 
-  int faulty;                  /* number of addresses known not to work. */
-  bool connected;              /* whether we were able to connect to
-                                  one of the addresses in the list,
-                                  at least once. */
+  int faulty;                   /* number of addresses known not to work. */
+  bool connected;               /* whether we were able to connect to
+                                   one of the addresses in the list,
+                                   at least once. */
 
-  int refcount;                        /* reference count; when it drops to
-                                  0, the entry is freed. */
+  int refcount;                 /* reference count; when it drops to
+                                   0, the entry is freed. */
 };
 
 /* Get the bounds of the address list.  */
@@ -102,25 +102,25 @@ address_list_contains (const struct address_list *al, const ip_address *ip)
     {
     case AF_INET:
       for (i = 0; i < al->count; i++)
-       {
-         ip_address *cur = al->addresses + i;
-         if (cur->family == AF_INET
-             && (cur->data.d4.s_addr == ip->data.d4.s_addr))
-           return true;
-       }
+        {
+          ip_address *cur = al->addresses + i;
+          if (cur->family == AF_INET
+              && (cur->data.d4.s_addr == ip->data.d4.s_addr))
+            return true;
+        }
       return false;
 #ifdef ENABLE_IPV6
     case AF_INET6:
       for (i = 0; i < al->count; i++)
-       {
-         ip_address *cur = al->addresses + i;
-         if (cur->family == AF_INET6
+        {
+          ip_address *cur = al->addresses + i;
+          if (cur->family == AF_INET6
 #ifdef HAVE_SOCKADDR_IN6_SCOPE_ID
-             && cur->ipv6_scope == ip->ipv6_scope
+              && cur->ipv6_scope == ip->ipv6_scope
 #endif
-             && IN6_ARE_ADDR_EQUAL (&cur->data.d6, &ip->data.d6))
-           return true;
-       }
+              && IN6_ARE_ADDR_EQUAL (&cur->data.d6, &ip->data.d6))
+            return true;
+        }
       return false;
 #endif /* ENABLE_IPV6 */
     default:
@@ -194,22 +194,22 @@ address_list_from_addrinfo (const struct addrinfo *ai)
   for (ptr = ai; ptr != NULL; ptr = ptr->ai_next)
     if (ptr->ai_family == AF_INET6) 
       {
-       const struct sockaddr_in6 *sin6 =
-         (const struct sockaddr_in6 *)ptr->ai_addr;
-       ip->family = AF_INET6;
-       ip->data.d6 = sin6->sin6_addr;
+        const struct sockaddr_in6 *sin6 =
+          (const struct sockaddr_in6 *)ptr->ai_addr;
+        ip->family = AF_INET6;
+        ip->data.d6 = sin6->sin6_addr;
 #ifdef HAVE_SOCKADDR_IN6_SCOPE_ID
-       ip->ipv6_scope = sin6->sin6_scope_id;
+        ip->ipv6_scope = sin6->sin6_scope_id;
 #endif
-       ++ip;
+        ++ip;
       } 
     else if (ptr->ai_family == AF_INET)
       {
-       const struct sockaddr_in *sin =
-         (const struct sockaddr_in *)ptr->ai_addr;
-       ip->family = AF_INET;
-       ip->data.d4 = sin->sin_addr;
-       ++ip;
+        const struct sockaddr_in *sin =
+          (const struct sockaddr_in *)ptr->ai_addr;
+        ip->family = AF_INET;
+        ip->data.d4 = sin->sin_addr;
+        ++ip;
       }
   assert (ip - al->addresses == cnt);
   return al;
@@ -289,7 +289,7 @@ address_list_release (struct address_list *al)
 {
   --al->refcount;
   DEBUGP (("Releasing 0x%0*lx (new refcount %d).\n", PTR_FORMAT (al),
-          al->refcount));
+           al->refcount));
   if (al->refcount <= 0)
     {
       DEBUGP (("Deleting unused 0x%0*lx.\n", PTR_FORMAT (al)));
@@ -377,8 +377,8 @@ getaddrinfo_with_timeout_callback (void *arg)
 
 static int
 getaddrinfo_with_timeout (const char *node, const char *service,
-                         const struct addrinfo *hints, struct addrinfo **res,
-                         double timeout)
+                          const struct addrinfo *hints, struct addrinfo **res,
+                          double timeout)
 {
   struct gaiwt_context ctx;
   ctx.node = node;
@@ -428,27 +428,27 @@ is_valid_ipv4_address (const char *str, const char *end)
       int ch = *str++;
 
       if (ch >= '0' && ch <= '9')
-       {
-         val = val * 10 + (ch - '0');
-
-         if (val > 255)
-           return false;
-         if (!saw_digit)
-           {
-             if (++octets > 4)
-               return false;
-             saw_digit = true;
-           }
-       }
+        {
+          val = val * 10 + (ch - '0');
+
+          if (val > 255)
+            return false;
+          if (!saw_digit)
+            {
+              if (++octets > 4)
+                return false;
+              saw_digit = true;
+            }
+        }
       else if (ch == '.' && saw_digit)
-       {
-         if (octets == 4)
-           return false;
-         val = 0;
-         saw_digit = false;
-       }
+        {
+          if (octets == 4)
+            return false;
+          val = 0;
+          saw_digit = false;
+        }
       else
-       return false;
+        return false;
     }
   if (octets < 4)
     return false;
@@ -483,7 +483,7 @@ is_valid_ipv6_address (const char *str, const char *end)
     {
       ++str;
       if (str == end || *str != ':')
-       return false;
+        return false;
     }
 
   curtok = str;
@@ -495,45 +495,45 @@ is_valid_ipv6_address (const char *str, const char *end)
       int ch = *str++;
 
       /* if ch is a number, add it to val. */
-      if (ISXDIGIT (ch))
-       {
-         val <<= 4;
-         val |= XDIGIT_TO_NUM (ch);
-         if (val > 0xffff)
-           return false;
-         saw_xdigit = true;
-         continue;
-       }
+      if (c_isxdigit (ch))
+        {
+          val <<= 4;
+          val |= XDIGIT_TO_NUM (ch);
+          if (val > 0xffff)
+            return false;
+          saw_xdigit = true;
+          continue;
+        }
 
       /* if ch is a colon ... */
       if (ch == ':')
-       {
-         curtok = str;
-         if (!saw_xdigit)
-           {
-             if (colonp != NULL)
-               return false;
-             colonp = str + tp;
-             continue;
-           }
-         else if (str == end)
-           return false;
-         if (tp > ns_in6addrsz - ns_int16sz)
-           return false;
-         tp += ns_int16sz;
-         saw_xdigit = false;
-         val = 0;
-         continue;
-       }
+        {
+          curtok = str;
+          if (!saw_xdigit)
+            {
+              if (colonp != NULL)
+                return false;
+              colonp = str + tp;
+              continue;
+            }
+          else if (str == end)
+            return false;
+          if (tp > ns_in6addrsz - ns_int16sz)
+            return false;
+          tp += ns_int16sz;
+          saw_xdigit = false;
+          val = 0;
+          continue;
+        }
 
       /* if ch is a dot ... */
       if (ch == '.' && (tp <= ns_in6addrsz - ns_inaddrsz)
-         && is_valid_ipv4_address (curtok, end) == 1)
-       {
-         tp += ns_inaddrsz;
-         saw_xdigit = false;
-         break;
-       }
+          && is_valid_ipv4_address (curtok, end) == 1)
+        {
+          tp += ns_inaddrsz;
+          saw_xdigit = false;
+          break;
+        }
     
       return false;
     }
@@ -541,14 +541,14 @@ is_valid_ipv6_address (const char *str, const char *end)
   if (saw_xdigit)
     {
       if (tp > ns_in6addrsz - ns_int16sz) 
-       return false;
+        return false;
       tp += ns_int16sz;
     }
 
   if (colonp != NULL)
     {
       if (tp == ns_in6addrsz) 
-       return false;
+        return false;
       tp = ns_in6addrsz;
     }
 
@@ -603,7 +603,7 @@ cache_store (const char *host, struct address_list *al)
       int i;
       debug_logprintf ("Caching %s =>", host);
       for (i = 0; i < al->count; i++)
-       debug_logprintf (" %s", print_address (al->addresses + i));
+        debug_logprintf (" %s", print_address (al->addresses + i));
       debug_logprintf ("\n");
     }
 }
@@ -643,7 +643,7 @@ cache_remove (const char *host)
      LH_SILENT  - don't print the "resolving ... done" messages.
      LH_BIND    - resolve addresses for use with bind, which under
                   IPv6 means to use AI_PASSIVE flag to getaddrinfo.
-                 Passive lookups are not cached under IPv6.
+                  Passive lookups are not cached under IPv6.
      LH_REFRESH - if HOST is cached, remove the entry from the cache
                   and resolve it anew.  */
 
@@ -665,12 +665,12 @@ lookup_host (const char *host, int flags)
     uint32_t addr_ipv4 = (uint32_t)inet_addr (host);
     if (addr_ipv4 != (uint32_t) -1)
       {
-       /* No need to cache host->addr relation, just return the
-          address.  */
-       char *vec[2];
-       vec[0] = (char *)&addr_ipv4;
-       vec[1] = NULL;
-       return address_list_from_ipv4_addresses (vec);
+        /* No need to cache host->addr relation, just return the
+           address.  */
+        char *vec[2];
+        vec[0] = (char *)&addr_ipv4;
+        vec[1] = NULL;
+        return address_list_from_ipv4_addresses (vec);
       }
   }
 #else  /* ENABLE_IPV6 */
@@ -700,13 +700,13 @@ lookup_host (const char *host, int flags)
   if (use_cache)
     {
       if (!(flags & LH_REFRESH))
-       {
-         al = cache_query (host);
-         if (al)
-           return al;
-       }
+        {
+          al = cache_query (host);
+          if (al)
+            return al;
+        }
       else
-       cache_remove (host);
+        cache_remove (host);
     }
 
   /* No luck with the cache; resolve HOST. */
@@ -727,9 +727,9 @@ lookup_host (const char *host, int flags)
       hints.ai_family = AF_INET6;
     else
       /* We tried using AI_ADDRCONFIG, but removed it because: it
-        misinterprets IPv6 loopbacks, it is broken on AIX 5.1, and
-        it's unneeded since we sort the addresses anyway.  */
-       hints.ai_family = AF_UNSPEC;
+         misinterprets IPv6 loopbacks, it is broken on AIX 5.1, and
+         it's unneeded since we sort the addresses anyway.  */
+        hints.ai_family = AF_UNSPEC;
 
     if (flags & LH_BIND)
       hints.ai_flags |= AI_PASSIVE;
@@ -737,30 +737,30 @@ lookup_host (const char *host, int flags)
 #ifdef AI_NUMERICHOST
     if (numeric_address)
       {
-       /* Where available, the AI_NUMERICHOST hint can prevent costly
-          access to DNS servers.  */
-       hints.ai_flags |= AI_NUMERICHOST;
-       timeout = 0;            /* no timeout needed when "resolving"
-                                  numeric hosts -- avoid setting up
-                                  signal handlers and such. */
+        /* Where available, the AI_NUMERICHOST hint can prevent costly
+           access to DNS servers.  */
+        hints.ai_flags |= AI_NUMERICHOST;
+        timeout = 0;            /* no timeout needed when "resolving"
+                                   numeric hosts -- avoid setting up
+                                   signal handlers and such. */
       }
 #endif
 
     err = getaddrinfo_with_timeout (host, NULL, &hints, &res, timeout);
     if (err != 0 || res == NULL)
       {
-       if (!silent)
-         logprintf (LOG_VERBOSE, _("failed: %s.\n"),
-                    err != EAI_SYSTEM ? gai_strerror (err) : strerror (errno));
-       return NULL;
+        if (!silent)
+          logprintf (LOG_VERBOSE, _("failed: %s.\n"),
+                     err != EAI_SYSTEM ? gai_strerror (err) : strerror (errno));
+        return NULL;
       }
     al = address_list_from_addrinfo (res);
     freeaddrinfo (res);
     if (!al)
       {
-       logprintf (LOG_VERBOSE,
-                  _("failed: No IPv4/IPv6 addresses for host.\n"));
-       return NULL;
+        logprintf (LOG_VERBOSE,
+                   _("failed: No IPv4/IPv6 addresses for host.\n"));
+        return NULL;
       }
 
     /* Reorder addresses so that IPv4 ones (or IPv6 ones, as per
@@ -768,23 +768,23 @@ lookup_host (const char *host, int flags)
        the addresses with the same family is undisturbed.  */
     if (al->count > 1 && opt.prefer_family != prefer_none)
       stable_sort (al->addresses, al->count, sizeof (ip_address),
-                  opt.prefer_family == prefer_ipv4
-                  ? cmp_prefer_ipv4 : cmp_prefer_ipv6);
+                   opt.prefer_family == prefer_ipv4
+                   ? cmp_prefer_ipv4 : cmp_prefer_ipv6);
   }
 #else  /* not ENABLE_IPV6 */
   {
     struct hostent *hptr = gethostbyname_with_timeout (host, timeout);
     if (!hptr)
       {
-       if (!silent)
-         {
-           if (errno != ETIMEDOUT)
-             logprintf (LOG_VERBOSE, _("failed: %s.\n"),
-                        host_errstr (h_errno));
-           else
-             logputs (LOG_VERBOSE, _("failed: timed out.\n"));
-         }
-       return NULL;
+        if (!silent)
+          {
+            if (errno != ETIMEDOUT)
+              logprintf (LOG_VERBOSE, _("failed: %s.\n"),
+                         host_errstr (h_errno));
+            else
+              logputs (LOG_VERBOSE, _("failed: timed out.\n"));
+          }
+        return NULL;
       }
     /* Do older systems have h_addr_list?  */
     al = address_list_from_ipv4_addresses (hptr->h_addr_list);
@@ -798,13 +798,13 @@ lookup_host (const char *host, int flags)
       int i;
       int printmax = al->count <= 3 ? al->count : 3;
       for (i = 0; i < printmax; i++)
-       {
-         logputs (LOG_VERBOSE, print_address (al->addresses + i));
-         if (i < printmax - 1)
-           logputs (LOG_VERBOSE, ", ");
-       }
+        {
+          logputs (LOG_VERBOSE, print_address (al->addresses + i));
+          if (i < printmax - 1)
+            logputs (LOG_VERBOSE, ", ");
+        }
       if (printmax != al->count)
-       logputs (LOG_VERBOSE, ", ...");
+        logputs (LOG_VERBOSE, ", ...");
       logputs (LOG_VERBOSE, "\n");
     }
 
@@ -824,12 +824,12 @@ accept_domain (struct url *u)
   if (opt.domains)
     {
       if (!sufmatch ((const char **)opt.domains, u->host))
-       return false;
+        return false;
     }
   if (opt.exclude_domains)
     {
       if (sufmatch ((const char **)opt.exclude_domains, u->host))
-       return false;
+        return false;
     }
   return true;
 }
@@ -848,11 +848,11 @@ sufmatch (const char **list, const char *what)
   for (i = 0; list[i]; i++)
     {
       for (j = strlen (list[i]), k = lw; j >= 0 && k >= 0; j--, k--)
-       if (TOLOWER (list[i][j]) != TOLOWER (what[k]))
-         break;
+        if (c_tolower (list[i][j]) != c_tolower (what[k]))
+          break;
       /* The domain must be first to reach to beginning.  */
       if (j == -1)
-       return true;
+        return true;
     }
   return false;
 }
@@ -864,15 +864,15 @@ host_cleanup (void)
     {
       hash_table_iterator iter;
       for (hash_table_iterate (host_name_addresses_map, &iter);
-          hash_table_iter_next (&iter);
-          )
-       {
-         char *host = iter.key;
-         struct address_list *al = iter.value;
-         xfree (host);
-         assert (al->refcount == 1);
-         address_list_delete (al);
-       }
+           hash_table_iter_next (&iter);
+           )
+        {
+          char *host = iter.key;
+          struct address_list *al = iter.value;
+          xfree (host);
+          assert (al->refcount == 1);
+          address_list_delete (al);
+        }
       hash_table_destroy (host_name_addresses_map);
       host_name_addresses_map = NULL;
     }
index 4bf259701f9346e74831b3ee39c226566d980fcb..5141a6f7d207426fafa71fa1404980d1e0088113 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for host.c
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef HOST_H
 #define HOST_H
index 8254c6dc15d416d42909aec750028b697bf0557a..f744597b364f9d8b51b76643164a9573fd275950 100644 (file)
@@ -1,11 +1,12 @@
 /* HTML parser for Wget.
-   Copyright (C) 1998-2006 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* The only entry point to this module is map_html_tags(), which see.  */
 
@@ -88,7 +89,7 @@ so, delete this exception statement from your version.  */
 /* To test as standalone, compile with `-DSTANDALONE -I.'.  You'll
    still need Wget headers to compile.  */
 
-#include <config.h>
+#include "wget.h"
 
 #ifdef STANDALONE
 # define I_REALLY_WANT_CTYPE_MACROS
@@ -99,7 +100,6 @@ so, delete this exception statement from your version.  */
 #include <string.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "html-parse.h"
 
 #ifdef STANDALONE
@@ -110,21 +110,21 @@ so, delete this exception statement from your version.  */
 # define xrealloc realloc
 # define xfree free
 
-# undef ISSPACE
-# undef ISDIGIT
-# undef ISXDIGIT
-# undef ISALPHA
-# undef ISALNUM
-# undef TOLOWER
-# undef TOUPPER
-
-# define ISSPACE(x) isspace (x)
-# define ISDIGIT(x) isdigit (x)
-# define ISXDIGIT(x) isxdigit (x)
-# define ISALPHA(x) isalpha (x)
-# define ISALNUM(x) isalnum (x)
-# define TOLOWER(x) tolower (x)
-# define TOUPPER(x) toupper (x)
+# undef c_isspace
+# undef c_isdigit
+# undef c_isxdigit
+# undef c_isalpha
+# undef c_isalnum
+# undef c_tolower
+# undef c_toupper
+
+# define c_isspace(x) isspace (x)
+# define c_isdigit(x) isdigit (x)
+# define c_isxdigit(x) isxdigit (x)
+# define c_isalpha(x) isalpha (x)
+# define c_isalnum(x) isalnum (x)
+# define c_tolower(x) tolower (x)
+# define c_toupper(x) toupper (x)
 
 struct hash_table {
   int dummy;
@@ -150,13 +150,13 @@ hash_table_get (const struct hash_table *ht, void *ptr)
    allocation because the entire pool is kept on the stack.  */
 
 struct pool {
-  char *contents;              /* pointer to the contents. */
-  int size;                    /* size of the pool. */
-  int tail;                    /* next available position index. */
-  bool resized;                        /* whether the pool has been resized
-                                  using malloc. */
+  char *contents;               /* pointer to the contents. */
+  int size;                     /* size of the pool. */
+  int tail;                     /* next available position index. */
+  bool resized;                 /* whether the pool has been resized
+                                   using malloc. */
 
-  char *orig_contents;         /* original pool contents, usually
+  char *orig_contents;          /* original pool contents, usually
                                    stack-allocated.  used by POOL_FREE
                                    to restore the pool to the initial
                                    state. */
@@ -165,41 +165,41 @@ struct pool {
 
 /* Initialize the pool to hold INITIAL_SIZE bytes of storage. */
 
-#define POOL_INIT(p, initial_storage, initial_size) do {       \
-  struct pool *P = (p);                                                \
-  P->contents = (initial_storage);                             \
-  P->size = (initial_size);                                    \
-  P->tail = 0;                                                 \
-  P->resized = false;                                          \
-  P->orig_contents = P->contents;                              \
-  P->orig_size = P->size;                                      \
+#define POOL_INIT(p, initial_storage, initial_size) do {        \
+  struct pool *P = (p);                                         \
+  P->contents = (initial_storage);                              \
+  P->size = (initial_size);                                     \
+  P->tail = 0;                                                  \
+  P->resized = false;                                           \
+  P->orig_contents = P->contents;                               \
+  P->orig_size = P->size;                                       \
 } while (0)
 
 /* Grow the pool to accomodate at least SIZE new bytes.  If the pool
    already has room to accomodate SIZE bytes of data, this is a no-op.  */
 
-#define POOL_GROW(p, increase)                                 \
-  GROW_ARRAY ((p)->contents, (p)->size, (p)->tail + (increase),        \
-             (p)->resized, char)
+#define POOL_GROW(p, increase)                                  \
+  GROW_ARRAY ((p)->contents, (p)->size, (p)->tail + (increase), \
+              (p)->resized, char)
 
 /* Append text in the range [beg, end) to POOL.  No zero-termination
    is done.  */
 
-#define POOL_APPEND(p, beg, end) do {                  \
-  const char *PA_beg = (beg);                          \
-  int PA_size = (end) - PA_beg;                                \
-  POOL_GROW (p, PA_size);                              \
-  memcpy ((p)->contents + (p)->tail, PA_beg, PA_size); \
-  (p)->tail += PA_size;                                        \
+#define POOL_APPEND(p, beg, end) do {                   \
+  const char *PA_beg = (beg);                           \
+  int PA_size = (end) - PA_beg;                         \
+  POOL_GROW (p, PA_size);                               \
+  memcpy ((p)->contents + (p)->tail, PA_beg, PA_size);  \
+  (p)->tail += PA_size;                                 \
 } while (0)
 
 /* Append one character to the pool.  Can be used to zero-terminate
    pool strings.  */
 
-#define POOL_APPEND_CHR(p, ch) do {            \
-  char PAC_char = (ch);                                \
-  POOL_GROW (p, 1);                            \
-  (p)->contents[(p)->tail++] = PAC_char;       \
+#define POOL_APPEND_CHR(p, ch) do {             \
+  char PAC_char = (ch);                         \
+  POOL_GROW (p, 1);                             \
+  (p)->contents[(p)->tail++] = PAC_char;        \
 } while (0)
 
 /* Forget old pool contents.  The allocated memory is not freed. */
@@ -211,14 +211,14 @@ struct pool {
    values.  That way after POOL_FREE, the pool is fully usable, just
    as if it were freshly initialized with POOL_INIT.  */
 
-#define POOL_FREE(p) do {                      \
-  struct pool *P = p;                          \
-  if (P->resized)                              \
-    xfree (P->contents);                       \
-  P->contents = P->orig_contents;              \
-  P->size = P->orig_size;                      \
-  P->tail = 0;                                 \
-  P->resized = false;                          \
+#define POOL_FREE(p) do {                       \
+  struct pool *P = p;                           \
+  if (P->resized)                               \
+    xfree (P->contents);                        \
+  P->contents = P->orig_contents;               \
+  P->size = P->orig_size;                       \
+  P->tail = 0;                                  \
+  P->resized = false;                           \
 } while (0)
 
 /* Used for small stack-allocated memory chunks that might grow.  Like
@@ -233,24 +233,24 @@ struct pool {
    After the first resize, subsequent ones are performed with realloc,
    just like DO_REALLOC.  */
 
-#define GROW_ARRAY(basevar, sizevar, needed_size, resized, type) do {          \
-  long ga_needed_size = (needed_size);                                         \
-  long ga_newsize = (sizevar);                                                 \
-  while (ga_newsize < ga_needed_size)                                          \
-    ga_newsize <<= 1;                                                          \
-  if (ga_newsize != (sizevar))                                                 \
-    {                                                                          \
-      if (resized)                                                             \
-       basevar = xrealloc (basevar, ga_newsize * sizeof (type));               \
-      else                                                                     \
-       {                                                                       \
-         void *ga_new = xmalloc (ga_newsize * sizeof (type));                  \
-         memcpy (ga_new, basevar, (sizevar) * sizeof (type));                  \
-         (basevar) = ga_new;                                                   \
-         resized = true;                                                       \
-       }                                                                       \
-      (sizevar) = ga_newsize;                                                  \
-    }                                                                          \
+#define GROW_ARRAY(basevar, sizevar, needed_size, resized, type) do {           \
+  long ga_needed_size = (needed_size);                                          \
+  long ga_newsize = (sizevar);                                                  \
+  while (ga_newsize < ga_needed_size)                                           \
+    ga_newsize <<= 1;                                                           \
+  if (ga_newsize != (sizevar))                                                  \
+    {                                                                           \
+      if (resized)                                                              \
+        basevar = xrealloc (basevar, ga_newsize * sizeof (type));               \
+      else                                                                      \
+        {                                                                       \
+          void *ga_new = xmalloc (ga_newsize * sizeof (type));                  \
+          memcpy (ga_new, basevar, (sizevar) * sizeof (type));                  \
+          (basevar) = ga_new;                                                   \
+          resized = true;                                                       \
+        }                                                                       \
+      (sizevar) = ga_newsize;                                                   \
+    }                                                                           \
 } while (0)
 \f
 /* Test whether n+1-sized entity name fits in P.  We don't support
@@ -258,7 +258,7 @@ struct pool {
    However, "&lt;foo" will work, as will "&lt!foo", "&lt", etc.  In
    other words an entity needs to be terminated by either a
    non-alphanumeric or the end of string.  */
-#define FITS(p, n) (p + n == end || (p + n < end && !ISALNUM (p[n])))
+#define FITS(p, n) (p + n == end || (p + n < end && !c_isalnum (p[n])))
 
 /* Macros that test entity names by returning true if P is followed by
    the specified characters.  */
@@ -381,42 +381,42 @@ decode_entity (const char **ptr, const char *end)
     case '#':
       /* Process numeric entities "&#DDD;" and "&#xHH;".  */
       {
-       int digits = 0;
-       value = 0;
-       if (*p == 'x')
-         for (++p; value < 256 && p < end && ISXDIGIT (*p); p++, digits++)
-           value = (value << 4) + XDIGIT_TO_NUM (*p);
-       else
-         for (; value < 256 && p < end && ISDIGIT (*p); p++, digits++)
-           value = (value * 10) + (*p - '0');
-       if (!digits)
-         return -1;
-       /* Don't interpret 128+ codes and NUL because we cannot
-          portably reinserted them into HTML.  */
-       if (!value || (value & ~0x7f))
-         return -1;
-       *ptr = SKIP_SEMI (p, 0);
-       return value;
+        int digits = 0;
+        value = 0;
+        if (*p == 'x')
+          for (++p; value < 256 && p < end && c_isxdigit (*p); p++, digits++)
+            value = (value << 4) + XDIGIT_TO_NUM (*p);
+        else
+          for (; value < 256 && p < end && c_isdigit (*p); p++, digits++)
+            value = (value * 10) + (*p - '0');
+        if (!digits)
+          return -1;
+        /* Don't interpret 128+ codes and NUL because we cannot
+           portably reinserted them into HTML.  */
+        if (!value || (value & ~0x7f))
+          return -1;
+        *ptr = SKIP_SEMI (p, 0);
+        return value;
       }
     /* Process named ASCII entities.  */
     case 'g':
       if (ENT1 (p, 't'))
-       value = '>', *ptr = SKIP_SEMI (p, 1);
+        value = '>', *ptr = SKIP_SEMI (p, 1);
       break;
     case 'l':
       if (ENT1 (p, 't'))
-       value = '<', *ptr = SKIP_SEMI (p, 1);
+        value = '<', *ptr = SKIP_SEMI (p, 1);
       break;
     case 'a':
       if (ENT2 (p, 'm', 'p'))
-       value = '&', *ptr = SKIP_SEMI (p, 2);
+        value = '&', *ptr = SKIP_SEMI (p, 2);
       else if (ENT3 (p, 'p', 'o', 's'))
-       /* handle &apos for the sake of the XML/XHTML crowd. */
-       value = '\'', *ptr = SKIP_SEMI (p, 3);
+        /* handle &apos for the sake of the XML/XHTML crowd. */
+        value = '\'', *ptr = SKIP_SEMI (p, 3);
       break;
     case 'q':
       if (ENT3 (p, 'u', 'o', 't'))
-       value = '\"', *ptr = SKIP_SEMI (p, 3);
+        value = '\"', *ptr = SKIP_SEMI (p, 3);
       break;
     }
   return value;
@@ -428,9 +428,9 @@ decode_entity (const char **ptr, const char *end)
 #undef SKIP_SEMI
 
 enum {
-  AP_DOWNCASE          = 1,
-  AP_DECODE_ENTITIES   = 2,
-  AP_TRIM_BLANKS       = 4
+  AP_DOWNCASE           = 1,
+  AP_DECODE_ENTITIES    = 2,
+  AP_TRIM_BLANKS        = 4
 };
 
 /* Copy the text in the range [BEG, END) to POOL, optionally
@@ -456,21 +456,21 @@ convert_and_copy (struct pool *pool, const char *beg, const char *end, int flags
      `&#32;'.  */
   if (flags & AP_TRIM_BLANKS)
     {
-      while (beg < end && ISSPACE (*beg))
-       ++beg;
-      while (end > beg && ISSPACE (end[-1]))
-       --end;
+      while (beg < end && c_isspace (*beg))
+        ++beg;
+      while (end > beg && c_isspace (end[-1]))
+        --end;
     }
 
   if (flags & AP_DECODE_ENTITIES)
     {
       /* Grow the pool, then copy the text to the pool character by
-        character, processing the encountered entities as we go
-        along.
+         character, processing the encountered entities as we go
+         along.
 
-        It's safe (and necessary) to grow the pool in advance because
-        processing the entities can only *shorten* the string, it can
-        never lengthen it.  */
+         It's safe (and necessary) to grow the pool in advance because
+         processing the entities can only *shorten* the string, it can
+         never lengthen it.  */
       const char *from = beg;
       char *to;
       bool squash_newlines = !!(flags & AP_TRIM_BLANKS);
@@ -479,26 +479,26 @@ convert_and_copy (struct pool *pool, const char *beg, const char *end, int flags
       to = pool->contents + pool->tail;
 
       while (from < end)
-       {
-         if (*from == '&')
-           {
-             int entity = decode_entity (&from, end);
-             if (entity != -1)
-               *to++ = entity;
-             else
-               *to++ = *from++;
-           }
-         else if ((*from == '\n' || *from == '\r') && squash_newlines)
-           ++from;
-         else
-           *to++ = *from++;
-       }
+        {
+          if (*from == '&')
+            {
+              int entity = decode_entity (&from, end);
+              if (entity != -1)
+                *to++ = entity;
+              else
+                *to++ = *from++;
+            }
+          else if ((*from == '\n' || *from == '\r') && squash_newlines)
+            ++from;
+          else
+            *to++ = *from++;
+        }
       /* Verify that we haven't exceeded the original size.  (It
-        shouldn't happen, hence the assert.)  */
+         shouldn't happen, hence the assert.)  */
       assert (to - (pool->contents + pool->tail) <= end - beg);
 
       /* Make POOL's tail point to the position following the string
-        we've written.  */
+         we've written.  */
       pool->tail = to - pool->contents;
       POOL_APPEND_CHR (pool, '\0');
     }
@@ -513,7 +513,7 @@ convert_and_copy (struct pool *pool, const char *beg, const char *end, int flags
     {
       char *p = pool->contents + old_tail;
       for (; *p; p++)
-       *p = TOLOWER (*p);
+        *p = c_tolower (*p);
     }
 }
 \f
@@ -532,8 +532,8 @@ convert_and_copy (struct pool *pool, const char *beg, const char *end, int flags
    This only affects attribute and tag names; attribute values allow
    an even greater variety of characters.  */
 
-#define NAME_CHAR_P(x) ((x) > 32 && (x) < 127                          \
-                       && (x) != '=' && (x) != '>' && (x) != '/')
+#define NAME_CHAR_P(x) ((x) > 32 && (x) < 127                           \
+                        && (x) != '=' && (x) != '>' && (x) != '/')
 
 #ifdef STANDALONE
 static int comment_backout_count;
@@ -562,7 +562,7 @@ static const char *
 advance_declaration (const char *beg, const char *end)
 {
   const char *p = beg;
-  char quote_char = '\0';      /* shut up, gcc! */
+  char quote_char = '\0';       /* shut up, gcc! */
   char ch;
 
   enum {
@@ -591,122 +591,122 @@ advance_declaration (const char *beg, const char *end)
   while (state != AC_S_DONE && state != AC_S_BACKOUT)
     {
       if (p == end)
-       state = AC_S_BACKOUT;
+        state = AC_S_BACKOUT;
       switch (state)
-       {
-       case AC_S_DONE:
-       case AC_S_BACKOUT:
-         break;
-       case AC_S_BANG:
-         if (ch == '!')
-           {
-             ch = *p++;
-             state = AC_S_DEFAULT;
-           }
-         else
-           state = AC_S_BACKOUT;
-         break;
-       case AC_S_DEFAULT:
-         switch (ch)
-           {
-           case '-':
-             state = AC_S_DASH1;
-             break;
-           case ' ':
-           case '\t':
-           case '\r':
-           case '\n':
-             ch = *p++;
-             break;
-           case '>':
-             state = AC_S_DONE;
-             break;
-           case '\'':
-           case '\"':
-             state = AC_S_QUOTE1;
-             break;
-           default:
-             if (NAME_CHAR_P (ch))
-               state = AC_S_DCLNAME;
-             else
-               state = AC_S_BACKOUT;
-             break;
-           }
-         break;
-       case AC_S_DCLNAME:
-         if (ch == '-')
-           state = AC_S_DASH1;
-         else if (NAME_CHAR_P (ch))
-           ch = *p++;
-         else
-           state = AC_S_DEFAULT;
-         break;
-       case AC_S_QUOTE1:
-         /* We must use 0x22 because broken assert macros choke on
-            '"' and '\"'.  */
-         assert (ch == '\'' || ch == 0x22);
-         quote_char = ch;      /* cheating -- I really don't feel like
-                                  introducing more different states for
-                                  different quote characters. */
-         ch = *p++;
-         state = AC_S_IN_QUOTE;
-         break;
-       case AC_S_IN_QUOTE:
-         if (ch == quote_char)
-           state = AC_S_QUOTE2;
-         else
-           ch = *p++;
-         break;
-       case AC_S_QUOTE2:
-         assert (ch == quote_char);
-         ch = *p++;
-         state = AC_S_DEFAULT;
-         break;
-       case AC_S_DASH1:
-         assert (ch == '-');
-         ch = *p++;
-         state = AC_S_DASH2;
-         break;
-       case AC_S_DASH2:
-         switch (ch)
-           {
-           case '-':
-             ch = *p++;
-             state = AC_S_COMMENT;
-             break;
-           default:
-             state = AC_S_BACKOUT;
-           }
-         break;
-       case AC_S_COMMENT:
-         switch (ch)
-           {
-           case '-':
-             state = AC_S_DASH3;
-             break;
-           default:
-             ch = *p++;
-             break;
-           }
-         break;
-       case AC_S_DASH3:
-         assert (ch == '-');
-         ch = *p++;
-         state = AC_S_DASH4;
-         break;
-       case AC_S_DASH4:
-         switch (ch)
-           {
-           case '-':
-             ch = *p++;
-             state = AC_S_DEFAULT;
-             break;
-           default:
-             state = AC_S_COMMENT;
-             break;
-           }
-         break;
-       }
+        {
+        case AC_S_DONE:
+        case AC_S_BACKOUT:
+          break;
+        case AC_S_BANG:
+          if (ch == '!')
+            {
+              ch = *p++;
+              state = AC_S_DEFAULT;
+            }
+          else
+            state = AC_S_BACKOUT;
+          break;
+        case AC_S_DEFAULT:
+          switch (ch)
+            {
+            case '-':
+              state = AC_S_DASH1;
+              break;
+            case ' ':
+            case '\t':
+            case '\r':
+            case '\n':
+              ch = *p++;
+              break;
+            case '>':
+              state = AC_S_DONE;
+              break;
+            case '\'':
+            case '\"':
+              state = AC_S_QUOTE1;
+              break;
+            default:
+              if (NAME_CHAR_P (ch))
+                state = AC_S_DCLNAME;
+              else
+                state = AC_S_BACKOUT;
+              break;
+            }
+          break;
+        case AC_S_DCLNAME:
+          if (ch == '-')
+            state = AC_S_DASH1;
+          else if (NAME_CHAR_P (ch))
+            ch = *p++;
+          else
+            state = AC_S_DEFAULT;
+          break;
+        case AC_S_QUOTE1:
+          /* We must use 0x22 because broken assert macros choke on
+             '"' and '\"'.  */
+          assert (ch == '\'' || ch == 0x22);
+          quote_char = ch;      /* cheating -- I really don't feel like
+                                   introducing more different states for
+                                   different quote characters. */
+          ch = *p++;
+          state = AC_S_IN_QUOTE;
+          break;
+        case AC_S_IN_QUOTE:
+          if (ch == quote_char)
+            state = AC_S_QUOTE2;
+          else
+            ch = *p++;
+          break;
+        case AC_S_QUOTE2:
+          assert (ch == quote_char);
+          ch = *p++;
+          state = AC_S_DEFAULT;
+          break;
+        case AC_S_DASH1:
+          assert (ch == '-');
+          ch = *p++;
+          state = AC_S_DASH2;
+          break;
+        case AC_S_DASH2:
+          switch (ch)
+            {
+            case '-':
+              ch = *p++;
+              state = AC_S_COMMENT;
+              break;
+            default:
+              state = AC_S_BACKOUT;
+            }
+          break;
+        case AC_S_COMMENT:
+          switch (ch)
+            {
+            case '-':
+              state = AC_S_DASH3;
+              break;
+            default:
+              ch = *p++;
+              break;
+            }
+          break;
+        case AC_S_DASH3:
+          assert (ch == '-');
+          ch = *p++;
+          state = AC_S_DASH4;
+          break;
+        case AC_S_DASH4:
+          switch (ch)
+            {
+            case '-':
+              ch = *p++;
+              state = AC_S_DEFAULT;
+              break;
+            default:
+              state = AC_S_COMMENT;
+              break;
+            }
+          break;
+        }
     }
 
   if (state == AC_S_BACKOUT)
@@ -736,34 +736,34 @@ find_comment_end (const char *beg, const char *end)
     switch (p[0])
       {
       case '>':
-       if (p[-1] == '-' && p[-2] == '-')
-         return p + 1;
-       break;
+        if (p[-1] == '-' && p[-2] == '-')
+          return p + 1;
+        break;
       case '-':
       at_dash:
-       if (p[-1] == '-')
-         {
-         at_dash_dash:
-           if (++p == end) return NULL;
-           switch (p[0])
-             {
-             case '>': return p + 1;
-             case '-': goto at_dash_dash;
-             }
-         }
-       else
-         {
-           if ((p += 2) >= end) return NULL;
-           switch (p[0])
-             {
-             case '>':
-               if (p[-1] == '-')
-                 return p + 1;
-               break;
-             case '-':
-               goto at_dash;
-             }
-         }
+        if (p[-1] == '-')
+          {
+          at_dash_dash:
+            if (++p == end) return NULL;
+            switch (p[0])
+              {
+              case '>': return p + 1;
+              case '-': goto at_dash_dash;
+              }
+          }
+        else
+          {
+            if ((p += 2) >= end) return NULL;
+            switch (p[0])
+              {
+              case '>':
+                if (p[-1] == '-')
+                  return p + 1;
+                break;
+              case '-':
+                goto at_dash;
+              }
+          }
       }
   return NULL;
 }
@@ -784,26 +784,26 @@ name_allowed (const struct hash_table *ht, const char *b, const char *e)
 /* Advance P (a char pointer), with the explicit intent of being able
    to read the next character.  If this is not possible, go to finish.  */
 
-#define ADVANCE(p) do {                                \
-  ++p;                                         \
-  if (p >= end)                                        \
-    goto finish;                               \
+#define ADVANCE(p) do {                         \
+  ++p;                                          \
+  if (p >= end)                                 \
+    goto finish;                                \
 } while (0)
 
 /* Skip whitespace, if any. */
 
-#define SKIP_WS(p) do {                                \
-  while (ISSPACE (*p)) {                       \
-    ADVANCE (p);                               \
-  }                                            \
+#define SKIP_WS(p) do {                         \
+  while (c_isspace (*p)) {                        \
+    ADVANCE (p);                                \
+  }                                             \
 } while (0)
 
 /* Skip non-whitespace, if any. */
 
-#define SKIP_NON_WS(p) do {                    \
-  while (!ISSPACE (*p)) {                      \
-    ADVANCE (p);                               \
-  }                                            \
+#define SKIP_NON_WS(p) do {                     \
+  while (!c_isspace (*p)) {                       \
+    ADVANCE (p);                                \
+  }                                             \
 } while (0)
 
 #ifdef STANDALONE
@@ -826,10 +826,10 @@ static int tag_backout_count;
 
 void
 map_html_tags (const char *text, int size,
-              void (*mapfun) (struct taginfo *, void *), void *maparg,
-              int flags,
-              const struct hash_table *allowed_tags,
-              const struct hash_table *allowed_attributes)
+               void (*mapfun) (struct taginfo *, void *), void *maparg,
+               int flags,
+               const struct hash_table *allowed_tags,
+               const struct hash_table *allowed_attributes)
 {
   /* storage for strings passed to MAPFUN callback; if 256 bytes is
      too little, POOL_APPEND allocates more with malloc. */
@@ -877,34 +877,34 @@ map_html_tags (const char *text, int size,
        declaration).  */
     if (*p == '!')
       {
-       if (!(flags & MHT_STRICT_COMMENTS)
-           && p < end + 3 && p[1] == '-' && p[2] == '-')
-         {
-           /* If strict comments are not enforced and if we know
-              we're looking at a comment, simply look for the
-              terminating "-->".  Non-strict is the default because
-              it works in other browsers and most HTML writers can't
-              be bothered with getting the comments right.  */
-           const char *comment_end = find_comment_end (p + 3, end);
-           if (comment_end)
-             p = comment_end;
-         }
-       else
-         {
-           /* Either in strict comment mode or looking at a non-empty
-              declaration.  Real declarations are much less likely to
-              be misused the way comments are, so advance over them
-              properly regardless of strictness.  */
-           p = advance_declaration (p, end);
-         }
-       if (p == end)
-         goto finish;
-       goto look_for_tag;
+        if (!(flags & MHT_STRICT_COMMENTS)
+            && p < end + 3 && p[1] == '-' && p[2] == '-')
+          {
+            /* If strict comments are not enforced and if we know
+               we're looking at a comment, simply look for the
+               terminating "-->".  Non-strict is the default because
+               it works in other browsers and most HTML writers can't
+               be bothered with getting the comments right.  */
+            const char *comment_end = find_comment_end (p + 3, end);
+            if (comment_end)
+              p = comment_end;
+          }
+        else
+          {
+            /* Either in strict comment mode or looking at a non-empty
+               declaration.  Real declarations are much less likely to
+               be misused the way comments are, so advance over them
+               properly regardless of strictness.  */
+            p = advance_declaration (p, end);
+          }
+        if (p == end)
+          goto finish;
+        goto look_for_tag;
       }
     else if (*p == '/')
       {
-       end_tag = 1;
-       ADVANCE (p);
+        end_tag = 1;
+        ADVANCE (p);
       }
     tag_name_begin = p;
     while (NAME_CHAR_P (*p))
@@ -934,156 +934,156 @@ map_html_tags (const char *text, int size,
       uninteresting_tag = true;
     else
       {
-       uninteresting_tag = false;
-       convert_and_copy (&pool, tag_name_begin, tag_name_end, AP_DOWNCASE);
+        uninteresting_tag = false;
+        convert_and_copy (&pool, tag_name_begin, tag_name_end, AP_DOWNCASE);
       }
 
     /* Find the attributes. */
     while (1)
       {
-       const char *attr_name_begin, *attr_name_end;
-       const char *attr_value_begin, *attr_value_end;
-       const char *attr_raw_value_begin, *attr_raw_value_end;
-       int operation = AP_DOWNCASE; /* stupid compiler. */
-
-       SKIP_WS (p);
-
-       if (*p == '/')
-         {
-           /* A slash at this point means the tag is about to be
-              closed.  This is legal in XML and has been popularized
-              in HTML via XHTML.  */
-           /* <foo a=b c=d /> */
-           /*              ^  */
-           ADVANCE (p);
-           SKIP_WS (p);
-           if (*p != '>')
-             goto backout_tag;
-         }
-
-       /* Check for end of tag definition. */
-       if (*p == '>')
-         break;
-
-       /* Establish bounds of attribute name. */
-       attr_name_begin = p;    /* <foo bar ...> */
-                               /*      ^        */
-       while (NAME_CHAR_P (*p))
-         ADVANCE (p);
-       attr_name_end = p;      /* <foo bar ...> */
-                               /*         ^     */
-       if (attr_name_begin == attr_name_end)
-         goto backout_tag;
-
-       /* Establish bounds of attribute value. */
-       SKIP_WS (p);
-       if (NAME_CHAR_P (*p) || *p == '/' || *p == '>')
-         {
-           /* Minimized attribute syntax allows `=' to be omitted.
+        const char *attr_name_begin, *attr_name_end;
+        const char *attr_value_begin, *attr_value_end;
+        const char *attr_raw_value_begin, *attr_raw_value_end;
+        int operation = AP_DOWNCASE; /* stupid compiler. */
+
+        SKIP_WS (p);
+
+        if (*p == '/')
+          {
+            /* A slash at this point means the tag is about to be
+               closed.  This is legal in XML and has been popularized
+               in HTML via XHTML.  */
+            /* <foo a=b c=d /> */
+            /*              ^  */
+            ADVANCE (p);
+            SKIP_WS (p);
+            if (*p != '>')
+              goto backout_tag;
+          }
+
+        /* Check for end of tag definition. */
+        if (*p == '>')
+          break;
+
+        /* Establish bounds of attribute name. */
+        attr_name_begin = p;    /* <foo bar ...> */
+                                /*      ^        */
+        while (NAME_CHAR_P (*p))
+          ADVANCE (p);
+        attr_name_end = p;      /* <foo bar ...> */
+                                /*         ^     */
+        if (attr_name_begin == attr_name_end)
+          goto backout_tag;
+
+        /* Establish bounds of attribute value. */
+        SKIP_WS (p);
+        if (NAME_CHAR_P (*p) || *p == '/' || *p == '>')
+          {
+            /* Minimized attribute syntax allows `=' to be omitted.
                For example, <UL COMPACT> is a valid shorthand for <UL
                COMPACT="compact">.  Even if such attributes are not
                useful to Wget, we need to support them, so that the
                tags containing them can be parsed correctly. */
-           attr_raw_value_begin = attr_value_begin = attr_name_begin;
-           attr_raw_value_end = attr_value_end = attr_name_end;
-         }
-       else if (*p == '=')
-         {
-           ADVANCE (p);
-           SKIP_WS (p);
-           if (*p == '\"' || *p == '\'')
-             {
-               bool newline_seen = false;
-               char quote_char = *p;
-               attr_raw_value_begin = p;
-               ADVANCE (p);
-               attr_value_begin = p; /* <foo bar="baz"> */
-                                     /*           ^     */
-               while (*p != quote_char)
-                 {
-                   if (!newline_seen && *p == '\n')
-                     {
-                       /* If a newline is seen within the quotes, it
-                          is most likely that someone forgot to close
-                          the quote.  In that case, we back out to
-                          the value beginning, and terminate the tag
-                          at either `>' or the delimiter, whichever
-                          comes first.  Such a tag terminated at `>'
-                          is discarded.  */
-                       p = attr_value_begin;
-                       newline_seen = true;
-                       continue;
-                     }
-                   else if (newline_seen && *p == '>')
-                     break;
-                   ADVANCE (p);
-                 }
-               attr_value_end = p; /* <foo bar="baz"> */
-                                   /*              ^  */
-               if (*p == quote_char)
-                 ADVANCE (p);
-               else
-                 goto look_for_tag;
-               attr_raw_value_end = p; /* <foo bar="baz"> */
-                                       /*               ^ */
-               operation = AP_DECODE_ENTITIES;
-               if (flags & MHT_TRIM_VALUES)
-                 operation |= AP_TRIM_BLANKS;
-             }
-           else
-             {
-               attr_value_begin = p; /* <foo bar=baz> */
-                                     /*          ^    */
-               /* According to SGML, a name token should consist only
-                  of alphanumerics, . and -.  However, this is often
-                  violated by, for instance, `%' in `width=75%'.
-                  We'll be liberal and allow just about anything as
-                  an attribute value.  */
-               while (!ISSPACE (*p) && *p != '>')
-                 ADVANCE (p);
-               attr_value_end = p; /* <foo bar=baz qux=quix> */
-                                   /*             ^          */
-               if (attr_value_begin == attr_value_end)
-                 /* <foo bar=> */
-                 /*          ^ */
-                 goto backout_tag;
-               attr_raw_value_begin = attr_value_begin;
-               attr_raw_value_end = attr_value_end;
-               operation = AP_DECODE_ENTITIES;
-             }
-         }
-       else
-         {
-           /* We skipped the whitespace and found something that is
-              neither `=' nor the beginning of the next attribute's
-              name.  Back out.  */
-           goto backout_tag;   /* <foo bar [... */
-                               /*          ^    */
-         }
-
-       /* If we're not interested in the tag, don't bother with any
+            attr_raw_value_begin = attr_value_begin = attr_name_begin;
+            attr_raw_value_end = attr_value_end = attr_name_end;
+          }
+        else if (*p == '=')
+          {
+            ADVANCE (p);
+            SKIP_WS (p);
+            if (*p == '\"' || *p == '\'')
+              {
+                bool newline_seen = false;
+                char quote_char = *p;
+                attr_raw_value_begin = p;
+                ADVANCE (p);
+                attr_value_begin = p; /* <foo bar="baz"> */
+                                      /*           ^     */
+                while (*p != quote_char)
+                  {
+                    if (!newline_seen && *p == '\n')
+                      {
+                        /* If a newline is seen within the quotes, it
+                           is most likely that someone forgot to close
+                           the quote.  In that case, we back out to
+                           the value beginning, and terminate the tag
+                           at either `>' or the delimiter, whichever
+                           comes first.  Such a tag terminated at `>'
+                           is discarded.  */
+                        p = attr_value_begin;
+                        newline_seen = true;
+                        continue;
+                      }
+                    else if (newline_seen && *p == '>')
+                      break;
+                    ADVANCE (p);
+                  }
+                attr_value_end = p; /* <foo bar="baz"> */
+                                    /*              ^  */
+                if (*p == quote_char)
+                  ADVANCE (p);
+                else
+                  goto look_for_tag;
+                attr_raw_value_end = p; /* <foo bar="baz"> */
+                                        /*               ^ */
+                operation = AP_DECODE_ENTITIES;
+                if (flags & MHT_TRIM_VALUES)
+                  operation |= AP_TRIM_BLANKS;
+              }
+            else
+              {
+                attr_value_begin = p; /* <foo bar=baz> */
+                                      /*          ^    */
+                /* According to SGML, a name token should consist only
+                   of alphanumerics, . and -.  However, this is often
+                   violated by, for instance, `%' in `width=75%'.
+                   We'll be liberal and allow just about anything as
+                   an attribute value.  */
+                while (!c_isspace (*p) && *p != '>')
+                  ADVANCE (p);
+                attr_value_end = p; /* <foo bar=baz qux=quix> */
+                                    /*             ^          */
+                if (attr_value_begin == attr_value_end)
+                  /* <foo bar=> */
+                  /*          ^ */
+                  goto backout_tag;
+                attr_raw_value_begin = attr_value_begin;
+                attr_raw_value_end = attr_value_end;
+                operation = AP_DECODE_ENTITIES;
+              }
+          }
+        else
+          {
+            /* We skipped the whitespace and found something that is
+               neither `=' nor the beginning of the next attribute's
+               name.  Back out.  */
+            goto backout_tag;   /* <foo bar [... */
+                                /*          ^    */
+          }
+
+        /* If we're not interested in the tag, don't bother with any
            of the attributes.  */
-       if (uninteresting_tag)
-         continue;
+        if (uninteresting_tag)
+          continue;
 
-       /* If we aren't interested in the attribute, skip it.  We
+        /* If we aren't interested in the attribute, skip it.  We
            cannot do this test any sooner, because our text pointer
            needs to correctly advance over the attribute.  */
-       if (!name_allowed (allowed_attributes, attr_name_begin, attr_name_end))
-         continue;
+        if (!name_allowed (allowed_attributes, attr_name_begin, attr_name_end))
+          continue;
 
-       GROW_ARRAY (pairs, attr_pair_size, nattrs + 1, attr_pair_resized,
-                   struct attr_pair);
+        GROW_ARRAY (pairs, attr_pair_size, nattrs + 1, attr_pair_resized,
+                    struct attr_pair);
 
-       pairs[nattrs].name_pool_index = pool.tail;
-       convert_and_copy (&pool, attr_name_begin, attr_name_end, AP_DOWNCASE);
+        pairs[nattrs].name_pool_index = pool.tail;
+        convert_and_copy (&pool, attr_name_begin, attr_name_end, AP_DOWNCASE);
 
-       pairs[nattrs].value_pool_index = pool.tail;
-       convert_and_copy (&pool, attr_value_begin, attr_value_end, operation);
-       pairs[nattrs].value_raw_beginning = attr_raw_value_begin;
-       pairs[nattrs].value_raw_size = (attr_raw_value_end
-                                       - attr_raw_value_begin);
-       ++nattrs;
+        pairs[nattrs].value_pool_index = pool.tail;
+        convert_and_copy (&pool, attr_value_begin, attr_value_end, operation);
+        pairs[nattrs].value_raw_beginning = attr_raw_value_begin;
+        pairs[nattrs].value_raw_size = (attr_raw_value_end
+                                        - attr_raw_value_begin);
+        ++nattrs;
       }
 
     if (!end_tag && tail && (tail->tagname_begin == tag_name_begin))
@@ -1093,8 +1093,8 @@ map_html_tags (const char *text, int size,
 
     if (uninteresting_tag)
       {
-       ADVANCE (p);
-       goto look_for_tag;
+        ADVANCE (p);
+        goto look_for_tag;
       }
 
     /* By now, we have a valid tag with a name and zero or more
@@ -1108,14 +1108,14 @@ map_html_tags (const char *text, int size,
       taginfo.end_tag_p = end_tag;
       taginfo.nattrs    = nattrs;
       /* We fill in the char pointers only now, when pool can no
-        longer get realloc'ed.  If we did that above, we could get
-        hosed by reallocation.  Obviously, after this point, the pool
-        may no longer be grown.  */
+         longer get realloc'ed.  If we did that above, we could get
+         hosed by reallocation.  Obviously, after this point, the pool
+         may no longer be grown.  */
       for (i = 0; i < nattrs; i++)
-       {
-         pairs[i].name = pool.contents + pairs[i].name_pool_index;
-         pairs[i].value = pool.contents + pairs[i].value_pool_index;
-       }
+        {
+          pairs[i].name = pool.contents + pairs[i].name_pool_index;
+          pairs[i].value = pool.contents + pairs[i].value_pool_index;
+        }
       taginfo.attrs = pairs;
       taginfo.start_position = tag_start_position;
       taginfo.end_position   = p + 1;
index 371a4f86a61987163a1a21019c8687f2521e01a7..ed1c685562a868a39f2c55dbbcbf802f7e904b4a 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for html-parse.c.
-   Copyright (C) 1998-2006 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef HTML_PARSE_H
 #define HTML_PARSE_H
index ebf8494db99b29f3e6941e70e96b3dbe8e8fc6b0..c9cf28f6df39fd470966b236b13d16c7e0f184b0 100644 (file)
@@ -1,11 +1,12 @@
 /* Collect URLs from HTML source.
-   Copyright (C) 1998-2006 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -35,7 +36,6 @@ so, delete this exception statement from your version.  */
 #include <errno.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "html-parse.h"
 #include "url.h"
 #include "utils.h"
@@ -47,7 +47,7 @@ so, delete this exception statement from your version.  */
 
 typedef void (*tag_handler_t) (int, struct taginfo *, struct map_context *);
 
-#define DECLARE_TAG_HANDLER(fun)                               \
+#define DECLARE_TAG_HANDLER(fun)                                \
   static void fun (int, struct taginfo *, struct map_context *)
 
 DECLARE_TAG_HANDLER (tag_find_urls);
@@ -88,28 +88,28 @@ static struct known_tag {
   const char *name;
   tag_handler_t handler;
 } known_tags[] = {
-  { TAG_A,      "a",           tag_find_urls },
-  { TAG_APPLET,         "applet",      tag_find_urls },
-  { TAG_AREA,   "area",        tag_find_urls },
-  { TAG_BASE,   "base",        tag_handle_base },
-  { TAG_BGSOUND, "bgsound",    tag_find_urls },
-  { TAG_BODY,   "body",        tag_find_urls },
-  { TAG_EMBED,  "embed",       tag_find_urls },
-  { TAG_FIG,    "fig",         tag_find_urls },
-  { TAG_FORM,   "form",        tag_handle_form },
-  { TAG_FRAME,  "frame",       tag_find_urls },
-  { TAG_IFRAME,         "iframe",      tag_find_urls },
-  { TAG_IMG,    "img",         tag_find_urls },
-  { TAG_INPUT,  "input",       tag_find_urls },
-  { TAG_LAYER,  "layer",       tag_find_urls },
-  { TAG_LINK,   "link",        tag_handle_link },
-  { TAG_META,   "meta",        tag_handle_meta },
-  { TAG_OBJECT,  "object",     tag_find_urls },
-  { TAG_OVERLAY, "overlay",    tag_find_urls },
-  { TAG_SCRIPT,         "script",      tag_find_urls },
-  { TAG_TABLE,  "table",       tag_find_urls },
-  { TAG_TD,     "td",          tag_find_urls },
-  { TAG_TH,     "th",          tag_find_urls }
+  { TAG_A,       "a",           tag_find_urls },
+  { TAG_APPLET,  "applet",      tag_find_urls },
+  { TAG_AREA,    "area",        tag_find_urls },
+  { TAG_BASE,    "base",        tag_handle_base },
+  { TAG_BGSOUND, "bgsound",     tag_find_urls },
+  { TAG_BODY,    "body",        tag_find_urls },
+  { TAG_EMBED,   "embed",       tag_find_urls },
+  { TAG_FIG,     "fig",         tag_find_urls },
+  { TAG_FORM,    "form",        tag_handle_form },
+  { TAG_FRAME,   "frame",       tag_find_urls },
+  { TAG_IFRAME,  "iframe",      tag_find_urls },
+  { TAG_IMG,     "img",         tag_find_urls },
+  { TAG_INPUT,   "input",       tag_find_urls },
+  { TAG_LAYER,   "layer",       tag_find_urls },
+  { TAG_LINK,    "link",        tag_handle_link },
+  { TAG_META,    "meta",        tag_handle_meta },
+  { TAG_OBJECT,  "object",      tag_find_urls },
+  { TAG_OVERLAY, "overlay",     tag_find_urls },
+  { TAG_SCRIPT,  "script",      tag_find_urls },
+  { TAG_TABLE,   "table",       tag_find_urls },
+  { TAG_TD,      "td",          tag_find_urls },
+  { TAG_TH,      "th",          tag_find_urls }
 };
 
 /* tag_url_attributes documents which attributes of which tags contain
@@ -120,14 +120,14 @@ static struct known_tag {
 /* The link is "inline", i.e. needs to be retrieved for this document
    to be correctly rendered.  Inline links include inlined images,
    stylesheets, children frames, etc.  */
-#define ATTR_INLINE    1
+#define ATTR_INLINE     1
 
 /* The link is expected to yield HTML contents.  It's important not to
    try to follow HTML obtained by following e.g. <img src="...">
    regardless of content-type.  Doing this causes infinite loops for
    "images" that return non-404 error pages with links to the same
    image.  */
-#define ATTR_HTML      2
+#define ATTR_HTML       2
 
 /* For tags handled by tag_find_urls: attributes that contain URLs to
    download. */
@@ -136,39 +136,39 @@ static struct {
   const char *attr_name;
   int flags;
 } tag_url_attributes[] = {
-  { TAG_A,             "href",         ATTR_HTML },
-  { TAG_APPLET,                "code",         ATTR_INLINE },
-  { TAG_AREA,          "href",         ATTR_HTML },
-  { TAG_BGSOUND,       "src",          ATTR_INLINE },
-  { TAG_BODY,          "background",   ATTR_INLINE },
-  { TAG_EMBED,         "href",         ATTR_HTML },
-  { TAG_EMBED,         "src",          ATTR_INLINE | ATTR_HTML },
-  { TAG_FIG,           "src",          ATTR_INLINE },
-  { TAG_FRAME,         "src",          ATTR_INLINE | ATTR_HTML },
-  { TAG_IFRAME,                "src",          ATTR_INLINE | ATTR_HTML },
-  { TAG_IMG,           "href",         ATTR_INLINE },
-  { TAG_IMG,           "lowsrc",       ATTR_INLINE },
-  { TAG_IMG,           "src",          ATTR_INLINE },
-  { TAG_INPUT,         "src",          ATTR_INLINE },
-  { TAG_LAYER,         "src",          ATTR_INLINE | ATTR_HTML },
-  { TAG_OBJECT,                "data",         ATTR_INLINE },
-  { TAG_OVERLAY,       "src",          ATTR_INLINE | ATTR_HTML },
-  { TAG_SCRIPT,                "src",          ATTR_INLINE },
-  { TAG_TABLE,         "background",   ATTR_INLINE },
-  { TAG_TD,            "background",   ATTR_INLINE },
-  { TAG_TH,            "background",   ATTR_INLINE }
+  { TAG_A,              "href",         ATTR_HTML },
+  { TAG_APPLET,         "code",         ATTR_INLINE },
+  { TAG_AREA,           "href",         ATTR_HTML },
+  { TAG_BGSOUND,        "src",          ATTR_INLINE },
+  { TAG_BODY,           "background",   ATTR_INLINE },
+  { TAG_EMBED,          "href",         ATTR_HTML },
+  { TAG_EMBED,          "src",          ATTR_INLINE | ATTR_HTML },
+  { TAG_FIG,            "src",          ATTR_INLINE },
+  { TAG_FRAME,          "src",          ATTR_INLINE | ATTR_HTML },
+  { TAG_IFRAME,         "src",          ATTR_INLINE | ATTR_HTML },
+  { TAG_IMG,            "href",         ATTR_INLINE },
+  { TAG_IMG,            "lowsrc",       ATTR_INLINE },
+  { TAG_IMG,            "src",          ATTR_INLINE },
+  { TAG_INPUT,          "src",          ATTR_INLINE },
+  { TAG_LAYER,          "src",          ATTR_INLINE | ATTR_HTML },
+  { TAG_OBJECT,         "data",         ATTR_INLINE },
+  { TAG_OVERLAY,        "src",          ATTR_INLINE | ATTR_HTML },
+  { TAG_SCRIPT,         "src",          ATTR_INLINE },
+  { TAG_TABLE,          "background",   ATTR_INLINE },
+  { TAG_TD,             "background",   ATTR_INLINE },
+  { TAG_TH,             "background",   ATTR_INLINE }
 };
 
 /* The lists of interesting tags and attributes are built dynamically,
    from the information above.  However, some places in the code refer
    to the attributes not mentioned here.  We add them manually.  */
 static const char *additional_attributes[] = {
-  "rel",                       /* used by tag_handle_link  */
-  "http-equiv",                        /* used by tag_handle_meta  */
-  "name",                      /* used by tag_handle_meta  */
-  "content",                   /* used by tag_handle_meta  */
-  "action",                    /* used by tag_handle_form  */
-  "style"                      /* used by check_style_attr */
+  "rel",                        /* used by tag_handle_link  */
+  "http-equiv",                 /* used by tag_handle_meta  */
+  "name",                       /* used by tag_handle_meta  */
+  "content",                    /* used by tag_handle_meta  */
+  "action",                     /* used by tag_handle_form  */
+  "style"                       /* used by check_style_attr */
 };
 
 static struct hash_table *interesting_tags;
@@ -199,23 +199,23 @@ init_interesting (void)
     {
       char **ignored;
       for (ignored = opt.ignore_tags; *ignored; ignored++)
-       hash_table_remove (interesting_tags, *ignored);
+        hash_table_remove (interesting_tags, *ignored);
     }
 
   /* If --follow-tags is specified, use only those tags.  */
   if (opt.follow_tags)
     {
       /* Create a new table intersecting --follow-tags and known_tags,
-        and use it as interesting_tags.  */
+         and use it as interesting_tags.  */
       struct hash_table *intersect = make_nocase_string_hash_table (0);
       char **followed;
       for (followed = opt.follow_tags; *followed; followed++)
-       {
-         struct known_tag *t = hash_table_get (interesting_tags, *followed);
-         if (!t)
-           continue;           /* ignore unknown --follow-tags entries. */
-         hash_table_put (intersect, *followed, t);
-       }
+        {
+          struct known_tag *t = hash_table_get (interesting_tags, *followed);
+          if (!t)
+            continue;           /* ignore unknown --follow-tags entries. */
+          hash_table_put (intersect, *followed, t);
+        }
       hash_table_destroy (interesting_tags);
       interesting_tags = intersect;
     }
@@ -226,7 +226,7 @@ init_interesting (void)
     hash_table_put (interesting_attributes, additional_attributes[i], "1");
   for (i = 0; i < countof (tag_url_attributes); i++)
     hash_table_put (interesting_attributes,
-                   tag_url_attributes[i].attr_name, "1");
+                    tag_url_attributes[i].attr_name, "1");
 }
 
 /* Find the value of attribute named NAME in the taginfo TAG.  If the
@@ -240,9 +240,9 @@ find_attr (struct taginfo *tag, const char *name, int *attrind)
   for (i = 0; i < tag->nattrs; i++)
     if (!strcasecmp (tag->attrs[i].name, name))
       {
-       if (attrind)
-         *attrind = i;
-       return tag->attrs[i].value;
+        if (attrind)
+          *attrind = i;
+        return tag->attrs[i].value;
       }
   return NULL;
 }
@@ -270,47 +270,47 @@ append_url (const char *link_uri, int position, int size,
   if (!base)
     {
       DEBUGP (("%s: no base, merge will use \"%s\".\n",
-              ctx->document_file, link_uri));
+               ctx->document_file, link_uri));
 
       if (!link_has_scheme)
-       {
-         /* Base URL is unavailable, and the link does not have a
-            location attached to it -- we have to give up.  Since
-            this can only happen when using `--force-html -i', print
-            a warning.  */
-         logprintf (LOG_NOTQUIET,
-                    _("%s: Cannot resolve incomplete link %s.\n"),
-                    ctx->document_file, link_uri);
-         return NULL;
-       }
+        {
+          /* Base URL is unavailable, and the link does not have a
+             location attached to it -- we have to give up.  Since
+             this can only happen when using `--force-html -i', print
+             a warning.  */
+          logprintf (LOG_NOTQUIET,
+                     _("%s: Cannot resolve incomplete link %s.\n"),
+                     ctx->document_file, link_uri);
+          return NULL;
+        }
 
       url = url_parse (link_uri, NULL);
       if (!url)
-       {
-         DEBUGP (("%s: link \"%s\" doesn't parse.\n",
-                  ctx->document_file, link_uri));
-         return NULL;
-       }
+        {
+          DEBUGP (("%s: link \"%s\" doesn't parse.\n",
+                   ctx->document_file, link_uri));
+          return NULL;
+        }
     }
   else
     {
       /* Merge BASE with LINK_URI, but also make sure the result is
-        canonicalized, i.e. that "../" have been resolved.
-        (parse_url will do that for us.) */
+         canonicalized, i.e. that "../" have been resolved.
+         (parse_url will do that for us.) */
 
       char *complete_uri = uri_merge (base, link_uri);
 
       DEBUGP (("%s: merge(\"%s\", \"%s\") -> %s\n",
-              ctx->document_file, base, link_uri, complete_uri));
+               ctx->document_file, base, link_uri, complete_uri));
 
       url = url_parse (complete_uri, NULL);
       if (!url)
-       {
-         DEBUGP (("%s: merged link \"%s\" doesn't parse.\n",
-                  ctx->document_file, complete_uri));
-         xfree (complete_uri);
-         return NULL;
-       }
+        {
+          DEBUGP (("%s: merged link \"%s\" doesn't parse.\n",
+                   ctx->document_file, complete_uri));
+          xfree (complete_uri);
+          return NULL;
+        }
       xfree (complete_uri);
     }
 
@@ -366,10 +366,10 @@ tag_find_urls (int tagid, struct taginfo *tag, struct map_context *ctx)
   for (i = 0; i < countof (tag_url_attributes); i++)
     if (tag_url_attributes[i].tagid == tagid)
       {
-       /* We've found the index of tag_url_attributes where the
-          attributes of our tag begin.  */
-       first = i;
-       break;
+        /* We've found the index of tag_url_attributes where the
+           attributes of our tag begin.  */
+        first = i;
+        break;
       }
   assert (first != -1);
 
@@ -385,31 +385,31 @@ tag_find_urls (int tagid, struct taginfo *tag, struct map_context *ctx)
   for (attrind = 0; attrind < tag->nattrs; attrind++)
     {
       /* Find whether TAG/ATTRIND is a combination that contains a
-        URL. */
+         URL. */
       char *link = tag->attrs[attrind].value;
       const int size = countof (tag_url_attributes);
 
       /* If you're cringing at the inefficiency of the nested loops,
-        remember that they both iterate over a very small number of
-        items.  The worst-case inner loop is for the IMG tag, which
-        has three attributes.  */
+         remember that they both iterate over a very small number of
+         items.  The worst-case inner loop is for the IMG tag, which
+         has three attributes.  */
       for (i = first; i < size && tag_url_attributes[i].tagid == tagid; i++)
-       {
-         if (0 == strcasecmp (tag->attrs[attrind].name,
-                              tag_url_attributes[i].attr_name))
-           {
-             struct urlpos *up = append_url (link, ATTR_POS(tag,attrind,ctx),
+        {
+          if (0 == strcasecmp (tag->attrs[attrind].name,
+                               tag_url_attributes[i].attr_name))
+            {
+              struct urlpos *up = append_url (link, ATTR_POS(tag,attrind,ctx),
                                               ATTR_SIZE(tag,attrind), ctx);
-             if (up)
-               {
-                 int flags = tag_url_attributes[i].flags;
-                 if (flags & ATTR_INLINE)
-                   up->link_inline_p = 1;
-                 if (flags & ATTR_HTML)
-                   up->link_expect_html = 1;
-               }
-           }
-       }
+              if (up)
+                {
+                  int flags = tag_url_attributes[i].flags;
+                  if (flags & ATTR_INLINE)
+                    up->link_inline_p = 1;
+                  if (flags & ATTR_HTML)
+                    up->link_expect_html = 1;
+                }
+            }
+        }
     }
 }
 
@@ -452,7 +452,7 @@ tag_handle_form (int tagid, struct taginfo *tag, struct map_context *ctx)
       struct urlpos *up = append_url (action, ATTR_POS(tag,attrind,ctx),
                                       ATTR_SIZE(tag,attrind), ctx);
       if (up)
-       up->ignore_when_downloading = 1;
+        up->ignore_when_downloading = 1;
     }
 }
 
@@ -476,25 +476,25 @@ tag_handle_link (int tagid, struct taginfo *tag, struct map_context *ctx)
       struct urlpos *up = append_url (href, ATTR_POS(tag,attrind,ctx),
                                       ATTR_SIZE(tag,attrind), ctx);
       if (up)
-       {
-         char *rel = find_attr (tag, "rel", NULL);
-         if (rel)
+        {
+          char *rel = find_attr (tag, "rel", NULL);
+          if (rel)
             {
-             if (0 == strcasecmp (rel, "stylesheet"))
+              if (0 == strcasecmp (rel, "stylesheet"))
                 {
                   up->link_inline_p = 1;
                   up->link_expect_css = 1;
                 }
-             else if (0 == strcasecmp (rel, "shortcut icon"))
+              else if (0 == strcasecmp (rel, "shortcut icon"))
                 {
                   up->link_inline_p = 1;
                 }
             }
-         else
-           /* The external ones usually point to HTML pages, such as
-              <link rel="next" href="..."> */
-           up->link_expect_html = 1;
-       }
+          else
+            /* The external ones usually point to HTML pages, such as
+               <link rel="next" href="..."> */
+            up->link_expect_html = 1;
+        }
     }
 }
 
@@ -510,13 +510,13 @@ tag_handle_meta (int tagid, struct taginfo *tag, struct map_context *ctx)
   if (http_equiv && 0 == strcasecmp (http_equiv, "refresh"))
     {
       /* Some pages use a META tag to specify that the page be
-        refreshed by a new page after a given number of seconds.  The
-        general format for this is:
+         refreshed by a new page after a given number of seconds.  The
+         general format for this is:
 
-          <meta http-equiv=Refresh content="NUMBER; URL=index2.html">
+           <meta http-equiv=Refresh content="NUMBER; URL=index2.html">
 
-        So we just need to skip past the "NUMBER; URL=" garbage to
-        get to the URL.  */
+         So we just need to skip past the "NUMBER; URL=" garbage to
+         get to the URL.  */
 
       struct urlpos *entry;
       int attrind;
@@ -525,58 +525,58 @@ tag_handle_meta (int tagid, struct taginfo *tag, struct map_context *ctx)
 
       char *refresh = find_attr (tag, "content", &attrind);
       if (!refresh)
-       return;
+        return;
 
-      for (p = refresh; ISDIGIT (*p); p++)
-       timeout = 10 * timeout + *p - '0';
+      for (p = refresh; c_isdigit (*p); p++)
+        timeout = 10 * timeout + *p - '0';
       if (*p++ != ';')
-       return;
-
-      while (ISSPACE (*p))
-       ++p;
-      if (!(   TOUPPER (*p)       == 'U'
-           && TOUPPER (*(p + 1)) == 'R'
-           && TOUPPER (*(p + 2)) == 'L'
-           &&          *(p + 3)  == '='))
-       return;
+        return;
+
+      while (c_isspace (*p))
+        ++p;
+      if (!(   c_toupper (*p)       == 'U'
+            && c_toupper (*(p + 1)) == 'R'
+            && c_toupper (*(p + 2)) == 'L'
+            &&          *(p + 3)  == '='))
+        return;
       p += 4;
-      while (ISSPACE (*p))
-       ++p;
+      while (c_isspace (*p))
+        ++p;
 
       entry = append_url (p, ATTR_POS(tag,attrind,ctx),
                           ATTR_SIZE(tag,attrind), ctx);
       if (entry)
-       {
-         entry->link_refresh_p = 1;
-         entry->refresh_timeout = timeout;
-         entry->link_expect_html = 1;
-       }
+        {
+          entry->link_refresh_p = 1;
+          entry->refresh_timeout = timeout;
+          entry->link_expect_html = 1;
+        }
     }
   else if (name && 0 == strcasecmp (name, "robots"))
     {
       /* Handle stuff like:
-        <meta name="robots" content="index,nofollow"> */
+         <meta name="robots" content="index,nofollow"> */
       char *content = find_attr (tag, "content", NULL);
       if (!content)
-       return;
+        return;
       if (!strcasecmp (content, "none"))
-       ctx->nofollow = true;
+        ctx->nofollow = true;
       else
-       {
-         while (*content)
-           {
-             /* Find the next occurrence of ',' or the end of
-                the string.  */
-             char *end = strchr (content, ',');
-             if (end)
-               ++end;
-             else
-               end = content + strlen (content);
-             if (!strncasecmp (content, "nofollow", end - content))
-               ctx->nofollow = true;
-             content = end;
-           }
-       }
+        {
+          while (*content)
+            {
+              /* Find the next occurrence of ',' or the end of
+                 the string.  */
+              char *end = strchr (content, ',');
+              if (end)
+                ++end;
+              else
+                end = content + strlen (content);
+              if (!strncasecmp (content, "nofollow", end - content))
+                ctx->nofollow = true;
+              content = end;
+            }
+        }
     }
 }
 
@@ -654,7 +654,7 @@ get_urls_html (const char *file, const char *url, bool *meta_disallow_follow)
 
   /* the NULL here used to be interesting_tags */
   map_html_tags (fm->content, fm->length, collect_tags_mapper, &ctx, flags,
-                NULL, interesting_attributes);
+                 NULL, interesting_attributes);
 
   DEBUGP (("no-follow in %s: %d\n", file, ctx.nofollow));
   if (meta_disallow_follow)
@@ -697,51 +697,51 @@ get_urls_file (const char *file)
       const char *line_beg = text;
       const char *line_end = memchr (text, '\n', text_end - text);
       if (!line_end)
-       line_end = text_end;
+        line_end = text_end;
       else
-       ++line_end;
+        ++line_end;
       text = line_end;
 
       /* Strip whitespace from the beginning and end of line. */
-      while (line_beg < line_end && ISSPACE (*line_beg))
-       ++line_beg;
-      while (line_end > line_beg && ISSPACE (*(line_end - 1)))
-       --line_end;
+      while (line_beg < line_end && c_isspace (*line_beg))
+        ++line_beg;
+      while (line_end > line_beg && c_isspace (*(line_end - 1)))
+        --line_end;
 
       if (line_beg == line_end)
-       continue;
+        continue;
 
       /* The URL is in the [line_beg, line_end) region. */
 
       /* We must copy the URL to a zero-terminated string, and we
-        can't use alloca because we're in a loop.  *sigh*.  */
+         can't use alloca because we're in a loop.  *sigh*.  */
       url_text = strdupdelim (line_beg, line_end);
 
       if (opt.base_href)
-       {
-         /* Merge opt.base_href with URL. */
-         char *merged = uri_merge (opt.base_href, url_text);
-         xfree (url_text);
-         url_text = merged;
-       }
+        {
+          /* Merge opt.base_href with URL. */
+          char *merged = uri_merge (opt.base_href, url_text);
+          xfree (url_text);
+          url_text = merged;
+        }
 
       url = url_parse (url_text, &up_error_code);
       if (!url)
-       {
-         logprintf (LOG_NOTQUIET, _("%s: Invalid URL %s: %s\n"),
-                    file, url_text, url_error (up_error_code));
-         xfree (url_text);
-         continue;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("%s: Invalid URL %s: %s\n"),
+                     file, url_text, url_error (up_error_code));
+          xfree (url_text);
+          continue;
+        }
       xfree (url_text);
 
       entry = xnew0 (struct urlpos);
       entry->url = url;
 
       if (!head)
-       head = entry;
+        head = entry;
       else
-       tail->next = entry;
+        tail->next = entry;
       tail = entry;
     }
   read_file_free (fm);
index a28984114c0e7f74f733eea0fc857df4adeafaf9..def832be9bc6975b9e73f4bc85237c5924dce8fb 100644 (file)
@@ -1,12 +1,12 @@
 /* NTLM code.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
    Contributed by Daniel Stenberg.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -15,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 /* NTLM details:
    
@@ -43,8 +43,8 @@ so, delete this exception statement from your version.  */
 
 #include <openssl/des.h>
 #include <openssl/md4.h>
+#include <openssl/opensslv.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "http-ntlm.h"
 
@@ -121,7 +121,7 @@ ntlm_input (struct ntlmdata *ntlm, const char *header)
     return false;
 
   header += 4;
-  while (*header && ISSPACE(*header))
+  while (*header && c_isspace(*header))
     header++;
 
   if (*header)
@@ -146,7 +146,7 @@ ntlm_input (struct ntlmdata *ntlm, const char *header)
 
       size = base64_decode (header, buffer);
       if (size < 0)
-       return false;           /* malformed base64 from server */
+        return false;           /* malformed base64 from server */
 
       ntlm->state = NTLMSTATE_TYPE2; /* we got a type-2 */
 
@@ -159,10 +159,10 @@ ntlm_input (struct ntlmdata *ntlm, const char *header)
   else
     {
       if (ntlm->state >= NTLMSTATE_TYPE1)
-       {
-         DEBUGP (("Unexpected empty NTLM message.\n"));
-         return false; /* this is an error */
-       }
+        {
+          DEBUGP (("Unexpected empty NTLM message.\n"));
+          return false; /* this is an error */
+        }
 
       DEBUGP (("Empty NTLM message, starting transaction.\n"));
       ntlm->state = NTLMSTATE_TYPE1; /* we should sent away a type-1 */
@@ -177,7 +177,7 @@ ntlm_input (struct ntlmdata *ntlm, const char *header)
  */
 static void
 setup_des_key(unsigned char *key_56,
-             DES_key_schedule DESKEYARG(ks))
+              DES_key_schedule DESKEYARG(ks))
 {
   DES_cblock key;
 
@@ -222,8 +222,8 @@ calc_resp(unsigned char *keys, unsigned char *plaintext, unsigned char *results)
  */
 static void
 mkhash(const char *password,
-       unsigned char *nonce,   /* 8 bytes */
-       unsigned char *lmresp   /* must fit 0x18 bytes */
+       unsigned char *nonce,    /* 8 bytes */
+       unsigned char *lmresp    /* must fit 0x18 bytes */
 #ifdef USE_NTRESPONSES
        , unsigned char *ntresp  /* must fit 0x18 bytes */
 #endif
@@ -247,7 +247,7 @@ mkhash(const char *password,
     len = 14;
   
   for (i=0; i<len; i++)
-    pw[i] = TOUPPER (password[i]);
+    pw[i] = c_toupper (password[i]);
 
   for (; i<14; i++)
     pw[i] = 0;
@@ -299,7 +299,7 @@ mkhash(const char *password,
 /* this is for creating ntlm header output */
 char *
 ntlm_output (struct ntlmdata *ntlm, const char *user, const char *passwd,
-            bool *ready)
+             bool *ready)
 {
   const char *domain=""; /* empty */
   const char *host=""; /* empty */
@@ -346,35 +346,35 @@ ntlm_output (struct ntlmdata *ntlm, const char *user, const char *passwd,
     */
 
     snprintf (ntlmbuf, sizeof(ntlmbuf), "NTLMSSP%c"
-             "\x01%c%c%c" /* 32-bit type = 1 */
-             "%c%c%c%c"   /* 32-bit NTLM flag field */
-             "%c%c"  /* domain length */
-             "%c%c"  /* domain allocated space */
-             "%c%c"  /* domain name offset */
-             "%c%c"  /* 2 zeroes */
-             "%c%c"  /* host length */
-             "%c%c"  /* host allocated space */
-             "%c%c"  /* host name offset */
-             "%c%c"  /* 2 zeroes */
-             "%s"   /* host name */
-             "%s",  /* domain string */
-             0,     /* trailing zero */
-             0,0,0, /* part of type-1 long */
-
-             LONGQUARTET(
-               NTLMFLAG_NEGOTIATE_OEM|      /*   2 */
-               NTLMFLAG_NEGOTIATE_NTLM_KEY  /* 200 */
-               /* equals 0x0202 */
-               ),
-             SHORTPAIR(domlen),
-             SHORTPAIR(domlen),
-             SHORTPAIR(domoff),
-             0,0,
-             SHORTPAIR(hostlen),
-             SHORTPAIR(hostlen),
-             SHORTPAIR(hostoff),
-             0,0,
-             host, domain);
+              "\x01%c%c%c" /* 32-bit type = 1 */
+              "%c%c%c%c"   /* 32-bit NTLM flag field */
+              "%c%c"  /* domain length */
+              "%c%c"  /* domain allocated space */
+              "%c%c"  /* domain name offset */
+              "%c%c"  /* 2 zeroes */
+              "%c%c"  /* host length */
+              "%c%c"  /* host allocated space */
+              "%c%c"  /* host name offset */
+              "%c%c"  /* 2 zeroes */
+              "%s"   /* host name */
+              "%s",  /* domain string */
+              0,     /* trailing zero */
+              0,0,0, /* part of type-1 long */
+
+              LONGQUARTET(
+                NTLMFLAG_NEGOTIATE_OEM|      /*   2 */
+                NTLMFLAG_NEGOTIATE_NTLM_KEY  /* 200 */
+                /* equals 0x0202 */
+                ),
+              SHORTPAIR(domlen),
+              SHORTPAIR(domlen),
+              SHORTPAIR(domoff),
+              0,0,
+              SHORTPAIR(hostlen),
+              SHORTPAIR(hostlen),
+              SHORTPAIR(hostoff),
+              0,0,
+              host, domain);
 
     /* initial packet length */
     size = 32 + hostlen + domlen;
@@ -444,81 +444,81 @@ ntlm_output (struct ntlmdata *ntlm, const char *user, const char *passwd,
     /* Create the big type-3 message binary blob */
 
     size = snprintf (ntlmbuf, sizeof(ntlmbuf),
-                    "NTLMSSP%c"
-                    "\x03%c%c%c" /* type-3, 32 bits */
-
-                    "%c%c%c%c" /* LanManager length + allocated space */
-                    "%c%c" /* LanManager offset */
-                    "%c%c" /* 2 zeroes */
-
-                    "%c%c" /* NT-response length */
-                    "%c%c" /* NT-response allocated space */
-                    "%c%c" /* NT-response offset */
-                    "%c%c" /* 2 zeroes */
-
-                    "%c%c"  /* domain length */
-                    "%c%c"  /* domain allocated space */
-                    "%c%c"  /* domain name offset */
-                    "%c%c"  /* 2 zeroes */
+                     "NTLMSSP%c"
+                     "\x03%c%c%c" /* type-3, 32 bits */
+
+                     "%c%c%c%c" /* LanManager length + allocated space */
+                     "%c%c" /* LanManager offset */
+                     "%c%c" /* 2 zeroes */
+
+                     "%c%c" /* NT-response length */
+                     "%c%c" /* NT-response allocated space */
+                     "%c%c" /* NT-response offset */
+                     "%c%c" /* 2 zeroes */
+
+                     "%c%c"  /* domain length */
+                     "%c%c"  /* domain allocated space */
+                     "%c%c"  /* domain name offset */
+                     "%c%c"  /* 2 zeroes */
                     
-                    "%c%c"  /* user length */
-                    "%c%c"  /* user allocated space */
-                    "%c%c"  /* user offset */
-                    "%c%c"  /* 2 zeroes */
+                     "%c%c"  /* user length */
+                     "%c%c"  /* user allocated space */
+                     "%c%c"  /* user offset */
+                     "%c%c"  /* 2 zeroes */
                     
-                    "%c%c"  /* host length */
-                    "%c%c"  /* host allocated space */
-                    "%c%c"  /* host offset */
-                    "%c%c%c%c%c%c"  /* 6 zeroes */
+                     "%c%c"  /* host length */
+                     "%c%c"  /* host allocated space */
+                     "%c%c"  /* host offset */
+                     "%c%c%c%c%c%c"  /* 6 zeroes */
                     
-                    "\xff\xff"  /* message length */
-                    "%c%c"  /* 2 zeroes */
+                     "\xff\xff"  /* message length */
+                     "%c%c"  /* 2 zeroes */
                     
-                    "\x01\x82" /* flags */
-                    "%c%c"  /* 2 zeroes */
-
-                    /* domain string */
-                    /* user string */
-                    /* host string */
-                    /* LanManager response */
-                    /* NT response */
-                    ,
-                    0, /* zero termination */
-                    0,0,0, /* type-3 long, the 24 upper bits */
-
-                    SHORTPAIR(0x18),  /* LanManager response length, twice */
-                    SHORTPAIR(0x18),
-                    SHORTPAIR(lmrespoff),
-                    0x0, 0x0,
+                     "\x01\x82" /* flags */
+                     "%c%c"  /* 2 zeroes */
+
+                     /* domain string */
+                     /* user string */
+                     /* host string */
+                     /* LanManager response */
+                     /* NT response */
+                     ,
+                     0, /* zero termination */
+                     0,0,0, /* type-3 long, the 24 upper bits */
+
+                     SHORTPAIR(0x18),  /* LanManager response length, twice */
+                     SHORTPAIR(0x18),
+                     SHORTPAIR(lmrespoff),
+                     0x0, 0x0,
 
 #ifdef USE_NTRESPONSES
-                    SHORTPAIR(0x18),  /* NT-response length, twice */
-                    SHORTPAIR(0x18),
+                     SHORTPAIR(0x18),  /* NT-response length, twice */
+                     SHORTPAIR(0x18),
 #else
-                    0x0, 0x0,
-                    0x0, 0x0,
+                     0x0, 0x0,
+                     0x0, 0x0,
 #endif
-                    SHORTPAIR(ntrespoff),
-                    0x0, 0x0,
+                     SHORTPAIR(ntrespoff),
+                     0x0, 0x0,
 
-                    SHORTPAIR(domlen),
-                    SHORTPAIR(domlen),
-                    SHORTPAIR(domoff),
-                    0x0, 0x0,
+                     SHORTPAIR(domlen),
+                     SHORTPAIR(domlen),
+                     SHORTPAIR(domoff),
+                     0x0, 0x0,
 
-                    SHORTPAIR(userlen),
-                    SHORTPAIR(userlen),
-                    SHORTPAIR(useroff),
-                    0x0, 0x0,
+                     SHORTPAIR(userlen),
+                     SHORTPAIR(userlen),
+                     SHORTPAIR(useroff),
+                     0x0, 0x0,
 
-                    SHORTPAIR(hostlen),
-                    SHORTPAIR(hostlen),
-                    SHORTPAIR(hostoff),
-                    0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+                     SHORTPAIR(hostlen),
+                     SHORTPAIR(hostlen),
+                     SHORTPAIR(hostoff),
+                     0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 
-                    0x0, 0x0,
+                     0x0, 0x0,
 
-                    0x0, 0x0);
+                     0x0, 0x0);
 
     /* size is now 64 */
     size=64;
index 05e03ca90ea9afc41f9f62968df528fc122aa5ce..ae6d5bd861ea2b59c3866ef682b3fdb907b7775c 100644 (file)
@@ -1,14 +1,15 @@
 #ifndef __HTTP_NTLM_H
 #define __HTTP_NTLM_H
 /* Declarations for http_ntlm.c
-   Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 2000, 2007,
+   2008 Free Software Foundation, Inc.
    Contributed by Daniel Stenberg.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -17,18 +18,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 typedef enum {
   NTLMSTATE_NONE,
index d3f6704f87f7af033cf8239aa1101b94cb73ea5d..fb8184f1cec7cfda2739433341857db708eebbb8 100644 (file)
@@ -1,11 +1,12 @@
 /* HTTP support.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -40,7 +41,7 @@ so, delete this exception statement from your version.  */
 #include <time.h>
 #include <locale.h>
 
-#include "wget.h"
+#include "hash.h"
 #include "http.h"
 #include "utils.h"
 #include "url.h"
@@ -67,6 +68,15 @@ so, delete this exception statement from your version.  */
 
 extern char *version_string;
 
+/* Forward decls. */
+static char *create_authorization_line (const char *, const char *,
+                                        const char *, const char *,
+                                        const char *, bool *);
+static char *basic_authentication_encode (const char *, const char *);
+static bool known_authentication_scheme_p (const char *, const char *);
+static void ensure_extension (struct http_stat *, const char *, int *);
+static void load_cookies (void);
+
 #ifndef MIN
 # define MIN(x, y) ((x) > (y) ? (y) : (x))
 #endif
@@ -271,7 +281,7 @@ request_set_user_header (struct request *req, const char *header)
     return;
   BOUNDED_TO_ALLOCA (header, p, name);
   ++p;
-  while (ISSPACE (*p))
+  while (c_isspace (*p))
     ++p;
   request_set_header (req, xstrdup (name), (char *) p, rel_name);
 }
@@ -375,6 +385,58 @@ request_free (struct request *req)
   xfree (req);
 }
 
+static struct hash_table *basic_authed_hosts;
+
+/* Find out if this host has issued a Basic challenge yet; if so, give
+ * it the username, password. A temporary measure until we can get
+ * proper authentication in place. */
+
+static bool
+maybe_send_basic_creds (const char *hostname, const char *user,
+                        const char *passwd, struct request *req)
+{
+  bool do_challenge = false;
+
+  if (opt.auth_without_challenge)
+    {
+      DEBUGP(("Auth-without-challenge set, sending Basic credentials.\n"));
+      do_challenge = true;
+    }
+  else if (basic_authed_hosts
+      && hash_table_contains(basic_authed_hosts, hostname))
+    {
+      DEBUGP(("Found `%s' in basic_authed_hosts.\n", hostname));
+      do_challenge = true;
+    }
+  else
+    {
+      DEBUGP(("Host `%s' has not issued a general basic challenge.\n",
+              hostname));
+    }
+  if (do_challenge)
+    {
+      request_set_header (req, "Authorization",
+                          basic_authentication_encode (user, passwd),
+                          rel_value);
+    }
+  return do_challenge;
+}
+
+static void
+register_basic_auth_host (const char *hostname)
+{
+  if (!basic_authed_hosts)
+    {
+      basic_authed_hosts = make_nocase_string_hash_table (1);
+    }
+  if (!hash_table_contains(basic_authed_hosts, hostname))
+    {
+      hash_table_put (basic_authed_hosts, xstrdup(hostname), NULL);
+      DEBUGP(("Inserted `%s' into basic_authed_hosts\n", hostname));
+    }
+}
+
+
 /* Send the contents of FILE_NAME to SOCK.  Make sure that exactly
    PROMISED_SIZE bytes are sent over the wire -- if the file is
    longer, read only that much; if the file is shorter, report an error.  */
@@ -601,9 +663,9 @@ resp_header_locate (const struct response *resp, const char *name, int start,
           && 0 == strncasecmp (b, name, name_len))
         {
           b += name_len + 1;
-          while (b < e && ISSPACE (*b))
+          while (b < e && c_isspace (*b))
             ++b;
-          while (b < e && ISSPACE (e[-1]))
+          while (b < e && c_isspace (e[-1]))
             --e;
           *begptr = b;
           *endptr = e;
@@ -702,17 +764,17 @@ resp_status (const struct response *resp, char **message)
   if (p < end && *p == '/')
     {
       ++p;
-      while (p < end && ISDIGIT (*p))
+      while (p < end && c_isdigit (*p))
         ++p;
       if (p < end && *p == '.')
         ++p; 
-      while (p < end && ISDIGIT (*p))
+      while (p < end && c_isdigit (*p))
         ++p;
     }
 
-  while (p < end && ISSPACE (*p))
+  while (p < end && c_isspace (*p))
     ++p;
-  if (end - p < 3 || !ISDIGIT (p[0]) || !ISDIGIT (p[1]) || !ISDIGIT (p[2]))
+  if (end - p < 3 || !c_isdigit (p[0]) || !c_isdigit (p[1]) || !c_isdigit (p[2]))
     return -1;
 
   status = 100 * (p[0] - '0') + 10 * (p[1] - '0') + (p[2] - '0');
@@ -720,9 +782,9 @@ resp_status (const struct response *resp, char **message)
 
   if (message)
     {
-      while (p < end && ISSPACE (*p))
+      while (p < end && c_isspace (*p))
         ++p;
-      while (p < end && ISSPACE (end[-1]))
+      while (p < end && c_isspace (end[-1]))
         --end;
       *message = strdupdelim (p, end);
     }
@@ -739,6 +801,20 @@ resp_free (struct response *resp)
   xfree (resp);
 }
 
+/* Print a single line of response, the characters [b, e).  We tried
+   getting away with
+      logprintf (LOG_VERBOSE, "%s%.*s\n", prefix, (int) (e - b), b);
+   but that failed to escape the non-printable characters and, in fact,
+   caused crashes in UTF-8 locales.  */
+
+static void
+print_response_line(const char *prefix, const char *b, const char *e)
+{
+  char *copy;
+  BOUNDED_TO_ALLOCA(b, e, copy);
+  logprintf (LOG_VERBOSE, "%s%s\n", prefix, escnonprint(copy));
+}
+
 /* Print the server response, line by line, omitting the trailing CRLF
    from individual header lines, and prefixed with PREFIX.  */
 
@@ -757,9 +833,7 @@ print_server_response (const struct response *resp, const char *prefix)
         --e;
       if (b < e && e[-1] == '\r')
         --e;
-      /* This is safe even on printfs with broken handling of "%.<n>s"
-         because resp->headers ends with \0.  */
-      logprintf (LOG_VERBOSE, "%s%.*s\n", prefix, (int) (e - b), b);
+      print_response_line(prefix, b, e);
     }
 }
 
@@ -781,27 +855,30 @@ parse_content_range (const char *hdr, wgint *first_byte_ptr,
          HTTP spec. */
       if (*hdr == ':')
         ++hdr;
-      while (ISSPACE (*hdr))
+      while (c_isspace (*hdr))
         ++hdr;
       if (!*hdr)
         return false;
     }
-  if (!ISDIGIT (*hdr))
+  if (!c_isdigit (*hdr))
     return false;
-  for (num = 0; ISDIGIT (*hdr); hdr++)
+  for (num = 0; c_isdigit (*hdr); hdr++)
     num = 10 * num + (*hdr - '0');
-  if (*hdr != '-' || !ISDIGIT (*(hdr + 1)))
+  if (*hdr != '-' || !c_isdigit (*(hdr + 1)))
     return false;
   *first_byte_ptr = num;
   ++hdr;
-  for (num = 0; ISDIGIT (*hdr); hdr++)
+  for (num = 0; c_isdigit (*hdr); hdr++)
     num = 10 * num + (*hdr - '0');
-  if (*hdr != '/' || !ISDIGIT (*(hdr + 1)))
+  if (*hdr != '/' || !c_isdigit (*(hdr + 1)))
     return false;
   *last_byte_ptr = num;
   ++hdr;
-  for (num = 0; ISDIGIT (*hdr); hdr++)
-    num = 10 * num + (*hdr - '0');
+  if (*hdr == '*')
+    num = -1;
+  else
+    for (num = 0; c_isdigit (*hdr); hdr++)
+      num = 10 * num + (*hdr - '0');
   *entity_length_ptr = num;
   return true;
 }
@@ -871,25 +948,25 @@ skip_short_body (int fd, wgint contlen)
 
 bool
 extract_param (const char **source, param_token *name, param_token *value,
-              char separator)
+               char separator)
 {
   const char *p = *source;
 
-  while (ISSPACE (*p)) ++p;
+  while (c_isspace (*p)) ++p;
   if (!*p)
     {
       *source = p;
-      return false;            /* no error; nothing more to extract */
+      return false;             /* no error; nothing more to extract */
     }
 
   /* Extract name. */
   name->b = p;
-  while (*p && !ISSPACE (*p) && *p != '=' && *p != separator) ++p;
+  while (*p && !c_isspace (*p) && *p != '=' && *p != separator) ++p;
   name->e = p;
   if (name->b == name->e)
-    return false;              /* empty name: error */
-  while (ISSPACE (*p)) ++p;
-  if (*p == separator || !*p)          /* no value */
+    return false;               /* empty name: error */
+  while (c_isspace (*p)) ++p;
+  if (*p == separator || !*p)           /* no value */
     {
       xzero (*value);
       if (*p == separator) ++p;
@@ -897,12 +974,12 @@ extract_param (const char **source, param_token *name, param_token *value,
       return true;
     }
   if (*p != '=')
-    return false;              /* error */
+    return false;               /* error */
 
   /* *p is '=', extract value */
   ++p;
-  while (ISSPACE (*p)) ++p;
-  if (*p == '"')               /* quoted */
+  while (c_isspace (*p)) ++p;
+  if (*p == '"')                /* quoted */
     {
       value->b = ++p;
       while (*p && *p != '"') ++p;
@@ -910,20 +987,20 @@ extract_param (const char **source, param_token *name, param_token *value,
         return false;
       value->e = p++;
       /* Currently at closing quote; find the end of param. */
-      while (ISSPACE (*p)) ++p;
+      while (c_isspace (*p)) ++p;
       while (*p && *p != separator) ++p;
       if (*p == separator)
-       ++p;
+        ++p;
       else if (*p)
-       /* garbage after closed quote, e.g. foo="bar"baz */
-       return false;
+        /* garbage after closed quote, e.g. foo="bar"baz */
+        return false;
     }
-  else                         /* unquoted */
+  else                          /* unquoted */
     {
       value->b = p;
       while (*p && *p != separator) ++p;
       value->e = p;
-      while (value->e != value->b && ISSPACE (value->e[-1]))
+      while (value->e != value->b && c_isspace (value->e[-1]))
         --value->e;
       if (*p == separator) ++p;
     }
@@ -958,16 +1035,34 @@ parse_content_disposition (const char *hdr, char **filename)
   while (extract_param (&hdr, &name, &value, ';'))
     if (BOUNDED_EQUAL_NO_CASE (name.b, name.e, "filename") && value.b != NULL)
       {
-       /* Make the file name begin at the last slash or backslash. */
+        /* Make the file name begin at the last slash or backslash. */
         const char *last_slash = memrchr (value.b, '/', value.e - value.b);
         const char *last_bs = memrchr (value.b, '\\', value.e - value.b);
         if (last_slash && last_bs)
           value.b = 1 + MAX (last_slash, last_bs);
         else if (last_slash || last_bs)
           value.b = 1 + (last_slash ? last_slash : last_bs);
-       if (value.b == value.e)
-         continue;
-        *filename = strdupdelim (value.b, value.e);
+        if (value.b == value.e)
+          continue;
+        /* Start with the directory prefix, if specified. */
+        if (opt.dir_prefix)
+          {
+            int prefix_length = strlen (opt.dir_prefix);
+            bool add_slash = (opt.dir_prefix[prefix_length - 1] != '/');
+            int total_length;
+
+            if (add_slash) 
+              ++prefix_length;
+            total_length = prefix_length + (value.e - value.b);            
+            *filename = xmalloc (total_length + 1);
+            strcpy (*filename, opt.dir_prefix);
+            if (add_slash) 
+              (*filename)[prefix_length - 1] = '/';
+            memcpy (*filename + prefix_length, value.b, (value.e - value.b));
+            (*filename)[total_length] = '\0';
+          }
+        else
+          *filename = strdupdelim (value.b, value.e);
         return true;
       }
   return false;
@@ -1206,6 +1301,10 @@ struct http_stat
   double dltime;                /* time it took to download the data */
   const char *referer;          /* value of the referer header. */
   char *local_file;             /* local file name. */
+  bool existence_checked;       /* true if we already checked for a file's
+                                   existence after having begun to download
+                                   (needed in gethttp for when connection is
+                                   interrupted/restarted. */
   bool timestamp_checked;       /* true if pre-download time-stamping checks 
                                  * have already been performed */
   char *orig_file_name;         /* name of file to compare for time-stamping
@@ -1231,17 +1330,9 @@ free_hstat (struct http_stat *hs)
   hs->error = NULL;
 }
 
-static char *create_authorization_line (const char *, const char *,
-                                        const char *, const char *,
-                                        const char *, bool *);
-static char *basic_authentication_encode (const char *, const char *);
-static bool known_authentication_scheme_p (const char *, const char *);
-static void ensure_extension (struct http_stat *, const char *, int *);
-static void load_cookies (void);
-
 #define BEGINS_WITH(line, string_constant)                               \
   (!strncasecmp (line, string_constant, sizeof (string_constant) - 1)    \
-   && (ISSPACE (line[sizeof (string_constant) - 1])                      \
+   && (c_isspace (line[sizeof (string_constant) - 1])                      \
        || !line[sizeof (string_constant) - 1]))
 
 #define SET_USER_AGENT(req) do {                                         \
@@ -1285,10 +1376,15 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy)
   int sock = -1;
   int flags;
 
-  /* Set to 1 when the authorization has failed permanently and should
+  /* Set to 1 when the authorization has already been sent and should
      not be tried again. */
   bool auth_finished = false;
 
+  /* Set to 1 when just globally-set Basic authorization has been sent;
+   * should prevent further Basic negotiations, but not other
+   * mechanisms. */
+  bool basic_auth_finished = false;
+
   /* Whether NTLM authentication is used for this request. */
   bool ntlm_seen = false;
 
@@ -1394,31 +1490,13 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy)
   user = user ? user : (opt.http_user ? opt.http_user : opt.user);
   passwd = passwd ? passwd : (opt.http_passwd ? opt.http_passwd : opt.passwd);
 
-  if (user && passwd)
+  if (user && passwd
+      && !u->user) /* We only do "site-wide" authentication with "global"
+                      user/password values; URL user/password info overrides. */
     {
-      /* We have the username and the password, but haven't tried
-         any authorization yet.  Let's see if the "Basic" method
-         works.  If not, we'll come back here and construct a
-         proper authorization method with the right challenges.
-
-         If we didn't employ this kind of logic, every URL that
-         requires authorization would have to be processed twice,
-         which is very suboptimal and generates a bunch of false
-         "unauthorized" errors in the server log.
-
-         #### But this logic also has a serious problem when used
-         with stronger authentications: we *first* transmit the
-         username and the password in clear text, and *then* attempt a
-         stronger authentication scheme.  That cannot be right!  We
-         are only fortunate that almost everyone still uses the
-         `Basic' scheme anyway.
-
-         There should be an option to prevent this from happening, for
-         those who use strong authentication schemes and value their
-         passwords.  */
-      request_set_header (req, "Authorization",
-                          basic_authentication_encode (user, passwd),
-                          rel_value);
+      /* If this is a host for which we've already received a Basic
+       * challenge, we'll go ahead and send Basic authentication creds. */
+      basic_auth_finished = maybe_send_basic_creds(u->host, user, passwd, req);
     }
 
   proxyauth = NULL;
@@ -1561,19 +1639,18 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy)
                only hurts us.  */
             request_remove_header (req, "Authorization");
         }
-    }
-
-  if (sock < 0)
-    {
-      /* In its current implementation, persistent_available_p will
-         look up conn->host in some cases.  If that lookup failed, we
-         don't need to bother with connect_to_host.  */
-      if (host_lookup_failed)
+      else if (host_lookup_failed)
         {
           request_free (req);
+          logprintf(LOG_NOTQUIET,
+                    _("%s: unable to resolve host address `%s'\n"),
+                    exec_name, relevant->host);
           return HOSTERR;
         }
+    }
 
+  if (sock < 0)
+    {
       sock = connect_to_host (conn->host, conn->port);
       if (sock == E_HOST)
         {
@@ -1744,7 +1821,7 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy)
     }
   
   /* TODO: perform this check only once. */
-  if (file_exists_p (hs->local_file))
+  if (!hs->existence_checked && file_exists_p (hs->local_file))
     {
       if (opt.noclobber)
         {
@@ -1760,7 +1837,7 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
           if (has_html_suffix_p (hs->local_file))
             *dt |= TEXTHTML;
 
-          return RETROK;
+          return RETRUNNEEDED;
         }
       else if (!ALLOW_CLOBBER)
         {
@@ -1770,6 +1847,7 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
           hs->local_file = unique;
         }
     }
+  hs->existence_checked = true;
 
   /* Support timestamping */
   /* TODO: move this code out of gethttp. */
@@ -1839,12 +1917,20 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
       errno = 0;
       parsed = str_to_wgint (hdrval, NULL, 10);
       if (parsed == WGINT_MAX && errno == ERANGE)
-        /* Out of range.
-           #### If Content-Length is out of range, it most likely
-           means that the file is larger than 2G and that we're
-           compiled without LFS.  In that case we should probably
-           refuse to even attempt to download the file.  */
-        contlen = -1;
+        {
+          /* Out of range.
+             #### If Content-Length is out of range, it most likely
+             means that the file is larger than 2G and that we're
+             compiled without LFS.  In that case we should probably
+             refuse to even attempt to download the file.  */
+          contlen = -1;
+        }
+      else if (parsed < 0)
+        {
+          /* Negative Content-Length; nonsensical, so we can't
+             assume any information about the content to receive. */
+          contlen = -1;
+        }
       else
         contlen = parsed;
     }
@@ -1892,16 +1978,13 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
               }
 
           if (!www_authenticate)
-            /* If the authentication header is missing or
-               unrecognized, there's no sense in retrying.  */
-            logputs (LOG_NOTQUIET, _("Unknown authentication scheme.\n"));
-          else if (BEGINS_WITH (www_authenticate, "Basic"))
-            /* If the authentication scheme is "Basic", which we send
-               by default, there's no sense in retrying either.  (This
-               should be changed when we stop sending "Basic" data by
-               default.)  */
-            ;
-          else
+            {
+              /* If the authentication header is missing or
+                 unrecognized, there's no sense in retrying.  */
+              logputs (LOG_NOTQUIET, _("Unknown authentication scheme.\n"));
+            }
+          else if (!basic_auth_finished
+                   || !BEGINS_WITH (www_authenticate, "Basic"))
             {
               char *pth;
               pth = url_full_path (u);
@@ -1914,9 +1997,20 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
                                   rel_value);
               if (BEGINS_WITH (www_authenticate, "NTLM"))
                 ntlm_seen = true;
+              else if (!u->user && BEGINS_WITH (www_authenticate, "Basic"))
+                {
+                  /* Need to register this host as using basic auth,
+                   * so we automatically send creds next time. */
+                  register_basic_auth_host (u->host);
+                }
               xfree (pth);
               goto retry_with_auth;
             }
+          else
+            {
+              /* We already did Basic auth, and it failed. Gotta
+               * give up. */
+            }
         }
       logputs (LOG_NOTQUIET, _("Authorization failed.\n"));
       request_free (req);
@@ -1945,7 +2039,7 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
       char *tmp = strchr (type, ';');
       if (tmp)
         {
-          while (tmp > type && ISSPACE (tmp[-1]))
+          while (tmp > type && c_isspace (tmp[-1]))
             --tmp;
           *tmp = '\0';
         }
@@ -1976,7 +2070,10 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
       wgint first_byte_pos, last_byte_pos, entity_length;
       if (parse_content_range (hdrval, &first_byte_pos, &last_byte_pos,
                                &entity_length))
-        contrange = first_byte_pos;
+        {
+          contrange = first_byte_pos;
+          contlen = last_byte_pos - first_byte_pos + 1;
+        }
     }
   resp_free (resp);
 
@@ -2067,7 +2164,10 @@ File `%s' already there; not retrieving.\n\n"), hs->local_file);
       CLOSE_INVALIDATE (sock);
       return RANGEERR;
     }
-  hs->contlen = contlen + contrange;
+  if (contlen == -1)
+    hs->contlen = -1;
+  else
+    hs->contlen = contlen + contrange;
 
   if (opt.verbose)
     {
@@ -2220,14 +2320,15 @@ http_loop (struct url *u, char **newloc, char **local_file, const char *referer,
 {
   int count;
   bool got_head = false;         /* used for time-stamping and filename detection */
+  bool time_came_from_head = false;
   bool got_name = false;
   char *tms;
   const char *tmrate;
   uerr_t err, ret = TRYLIMEXC;
   time_t tmr = -1;               /* remote time-stamp */
-  wgint local_size = 0;          /* the size of the local file */
   struct http_stat hstat;        /* HTTP status */
   struct_stat st;  
+  bool send_head_first = true;
 
   /* Assert that no value for *LOCAL_FILE was passed. */
   assert (local_file == NULL || *local_file == NULL);
@@ -2258,6 +2359,31 @@ http_loop (struct url *u, char **newloc, char **local_file, const char *referer,
       hstat.local_file = xstrdup (opt.output_document);
       got_name = true;
     }
+  else if (!opt.content_disposition)
+    {
+      hstat.local_file = url_file_name (u);
+      got_name = true;
+    }
+
+  /* TODO: Ick! This code is now in both gethttp and http_loop, and is
+   * screaming for some refactoring. */
+  if (got_name && file_exists_p (hstat.local_file) && opt.noclobber)
+    {
+      /* If opt.noclobber is turned on and file already exists, do not
+         retrieve the file */
+      logprintf (LOG_VERBOSE, _("\
+File `%s' already there; not retrieving.\n\n"), 
+                 hstat.local_file);
+      /* If the file is there, we suppose it's retrieved OK.  */
+      *dt |= RETROKF;
+
+      /* #### Bogusness alert.  */
+      /* If its suffix is "html" or "htm" or similar, assume text/html.  */
+      if (has_html_suffix_p (hstat.local_file))
+        *dt |= TEXTHTML;
+
+      return RETRUNNEEDED;
+    }
 
   /* Reset the counter. */
   count = 0;
@@ -2265,6 +2391,19 @@ http_loop (struct url *u, char **newloc, char **local_file, const char *referer,
   /* Reset the document type. */
   *dt = 0;
   
+  /* Skip preliminary HEAD request if we're not in spider mode AND
+   * if -O was given or HTTP Content-Disposition support is disabled. */
+  if (!opt.spider
+      && (got_name || !opt.content_disposition))
+    send_head_first = false;
+
+  /* Send preliminary HEAD request if -N is given and we have an existing 
+   * destination file. */
+  if (opt.timestamping 
+      && !opt.content_disposition
+      && file_exists_p (url_file_name (u)))
+    send_head_first = true;
+  
   /* THE loop */
   do
     {
@@ -2273,7 +2412,7 @@ http_loop (struct url *u, char **newloc, char **local_file, const char *referer,
       sleep_between_retrievals (count);
       
       /* Get the current time string.  */
-      tms = time_str (time (NULL));
+      tms = datetime_str (time (NULL));
       
       if (opt.spider && !got_head)
         logprintf (LOG_VERBOSE, _("\
@@ -2282,7 +2421,7 @@ Spider mode enabled. Check if remote file exists.\n"));
       /* Print fetch message, if opt.verbose.  */
       if (opt.verbose)
         {
-          char *hurl = url_string (u, true);
+          char *hurl = url_string (u, URL_AUTH_HIDE_PASSWD);
           
           if (count > 1) 
             {
@@ -2306,8 +2445,7 @@ Spider mode enabled. Check if remote file exists.\n"));
       /* Default document type is empty.  However, if spider mode is
          on or time-stamping is employed, HEAD_ONLY commands is
          encoded within *dt.  */
-      if (((opt.spider || opt.timestamping) && !got_head)
-          || (opt.always_rest && !got_name))
+      if (send_head_first && !got_head) 
         *dt |= HEAD_ONLY;
       else
         *dt &= ~HEAD_ONLY;
@@ -2343,12 +2481,12 @@ Spider mode enabled. Check if remote file exists.\n"));
       err = gethttp (u, &hstat, dt, proxy);
 
       /* Time?  */
-      tms = time_str (time (NULL));
+      tms = datetime_str (time (NULL));
       
       /* Get the new location (with or without the redirection).  */
       if (hstat.newloc)
         *newloc = xstrdup (hstat.newloc);
-      
+
       switch (err)
         {
         case HERR: case HEOF: case CONSOCKERR: case CONCLOSED:
@@ -2399,23 +2537,31 @@ Spider mode enabled. Check if remote file exists.\n"));
           /* All possibilities should have been exhausted.  */
           abort ();
         }
-     
+      
       if (!(*dt & RETROKF))
         {
           char *hurl = NULL;
           if (!opt.verbose)
             {
               /* #### Ugly ugly ugly! */
-              hurl = url_string (u, true);
+              hurl = url_string (u, URL_AUTH_HIDE_PASSWD);
               logprintf (LOG_NONVERBOSE, "%s:\n", hurl);
             }
+
+          /* Fall back to GET if HEAD fails with a 500 or 501 error code. */
+          if (*dt & HEAD_ONLY
+              && (hstat.statcode == 500 || hstat.statcode == 501))
+            {
+              got_head = true;
+              continue;
+            }
           /* Maybe we should always keep track of broken links, not just in
            * spider mode.  */
-          if (opt.spider)
+          else if (opt.spider)
             {
               /* #### Again: ugly ugly ugly! */
               if (!hurl) 
-                hurl = url_string (u, true);
+                hurl = url_string (u, URL_AUTH_HIDE_PASSWD);
               nonexisting_url (hurl);
               logprintf (LOG_NOTQUIET, _("\
 Remote file does not exist -- broken link!!!\n"));
@@ -2434,7 +2580,7 @@ Remote file does not exist -- broken link!!!\n"));
       /* Did we get the time-stamp? */
       if (!got_head)
         {
-          bool restart_loop = false;
+          got_head = true;    /* no more time-stamping */
 
           if (opt.timestamping && !hstat.remote_time)
             {
@@ -2448,94 +2594,100 @@ Last-modified header missing -- time-stamps turned off.\n"));
               if (tmr == (time_t) (-1))
                 logputs (LOG_VERBOSE, _("\
 Last-modified header invalid -- time-stamp ignored.\n"));
+              if (*dt & HEAD_ONLY)
+                time_came_from_head = true;
             }
       
-          /* The time-stamping section.  */
-          if (opt.timestamping)
+          if (send_head_first)
             {
-              if (hstat.orig_file_name) /* Perform the following checks only 
-                                           if the file we're supposed to 
-                                           download already exists. */
+              /* The time-stamping section.  */
+              if (opt.timestamping)
                 {
-                  if (hstat.remote_time && 
-                      tmr != (time_t) (-1))
+                  if (hstat.orig_file_name) /* Perform the following
+                                               checks only if the file
+                                               we're supposed to
+                                               download already exists.  */
                     {
-                      /* Now time-stamping can be used validly.  Time-stamping
-                         means that if the sizes of the local and remote file
-                         match, and local file is newer than the remote file,
-                         it will not be retrieved.  Otherwise, the normal
-                         download procedure is resumed.  */
-                      if (hstat.orig_file_tstamp >= tmr)
+                      if (hstat.remote_time && 
+                          tmr != (time_t) (-1))
                         {
-                          if (hstat.contlen == -1 
-                              || hstat.orig_file_size == hstat.contlen)
+                          /* Now time-stamping can be used validly.
+                             Time-stamping means that if the sizes of
+                             the local and remote file match, and local
+                             file is newer than the remote file, it will
+                             not be retrieved.  Otherwise, the normal
+                             download procedure is resumed.  */
+                          if (hstat.orig_file_tstamp >= tmr)
                             {
-                              logprintf (LOG_VERBOSE, _("\
+                              if (hstat.contlen == -1 
+                                  || hstat.orig_file_size == hstat.contlen)
+                                {
+                                  logprintf (LOG_VERBOSE, _("\
 Server file no newer than local file `%s' -- not retrieving.\n\n"),
-                                         hstat.orig_file_name);
-                              ret = RETROK;
-                              goto exit;
-                            }
-                          else
-                            {
-                              logprintf (LOG_VERBOSE, _("\
+                                             hstat.orig_file_name);
+                                  ret = RETROK;
+                                  goto exit;
+                                }
+                              else
+                                {
+                                  logprintf (LOG_VERBOSE, _("\
 The sizes do not match (local %s) -- retrieving.\n"),
-                                         number_to_static_string (local_size));
+                                             number_to_static_string (hstat.orig_file_size));
+                                }
                             }
-                        }
-                      else
-                        logputs (LOG_VERBOSE,
-                                 _("Remote file is newer, retrieving.\n"));
+                          else
+                            logputs (LOG_VERBOSE,
+                                     _("Remote file is newer, retrieving.\n"));
 
-                      logputs (LOG_VERBOSE, "\n");
+                          logputs (LOG_VERBOSE, "\n");
+                        }
                     }
+                  
+                  /* free_hstat (&hstat); */
+                  hstat.timestamp_checked = true;
                 }
               
-              /* free_hstat (&hstat); */
-              hstat.timestamp_checked = true;
-              restart_loop = true;
-            }
-          
-          if (opt.always_rest)
-            {
-              got_name = true;
-              restart_loop = true;
-            }
-          
-          if (opt.spider)
-            {
-              if (opt.recursive)
+              if (opt.spider)
                 {
-                  if (*dt & TEXTHTML)
+                  if (opt.recursive)
                     {
-                      logputs (LOG_VERBOSE, _("\
+                      if (*dt & TEXTHTML)
+                        {
+                          logputs (LOG_VERBOSE, _("\
 Remote file exists and could contain links to other resources -- retrieving.\n\n"));
-                      restart_loop = true;
+                        }
+                      else 
+                        {
+                          logprintf (LOG_VERBOSE, _("\
+Remote file exists but does not contain any link -- not retrieving.\n\n"));
+                          ret = RETROK; /* RETRUNNEEDED is not for caller. */
+                          goto exit;
+                        }
                     }
-                  else 
+                  else
                     {
-                      logprintf (LOG_VERBOSE, _("\
-Remote file exists but does not contain any link -- not retrieving.\n\n"));
-                      ret = RETRUNNEEDED;
+                      if (*dt & TEXTHTML)
+                        {
+                          logprintf (LOG_VERBOSE, _("\
+Remote file exists and could contain further links,\n\
+but recursion is disabled -- not retrieving.\n\n"));
+                        }
+                      else 
+                        {
+                          logprintf (LOG_VERBOSE, _("\
+Remote file exists.\n\n"));
+                        }
+                      ret = RETROK; /* RETRUNNEEDED is not for caller. */
                       goto exit;
                     }
                 }
-              else
-                {
-                  logprintf (LOG_VERBOSE, _("\
-Remote file exists but recursion is disabled -- not retrieving.\n\n"));
-                  ret = RETRUNNEEDED;
-                  goto exit;
-                }
-            }
-
-          got_head = true;    /* no more time-stamping */
-          *dt &= ~HEAD_ONLY;
-          count = 0;          /* the retrieve count for HEAD is reset */
 
-          if (restart_loop) 
-            continue;
-        }
+              got_name = true;
+              *dt &= ~HEAD_ONLY;
+              count = 0;          /* the retrieve count for HEAD is reset */
+              continue;
+            } /* send_head_first */
+        } /* !got_head */
           
       if ((tmr != (time_t) (-1))
           && ((hstat.len == hstat.contlen) ||
@@ -2552,7 +2704,18 @@ Remote file exists but recursion is disabled -- not retrieving.\n\n"));
           else
             fl = hstat.local_file;
           if (fl)
-            touch (fl, tmr);
+            {
+              time_t newtmr = -1;
+              /* Reparse time header, in case it's changed. */
+              if (time_came_from_head
+                  && hstat.remote_time && hstat.remote_time[0])
+                {
+                  newtmr = http_atotm (hstat.remote_time);
+                  if (newtmr != -1)
+                    tmr = newtmr;
+                }
+              touch (fl, tmr);
+            }
         }
       /* End of time-stamping section. */
 
@@ -2677,11 +2840,11 @@ check_end (const char *p)
 {
   if (!p)
     return false;
-  while (ISSPACE (*p))
+  while (c_isspace (*p))
     ++p;
   if (!*p
       || (p[0] == 'G' && p[1] == 'M' && p[2] == 'T')
-      || ((p[0] == '+' || p[0] == '-') && ISDIGIT (p[1])))
+      || ((p[0] == '+' || p[0] == '-') && c_isdigit (p[1])))
     return true;
   else
     return false;
@@ -2797,7 +2960,7 @@ basic_authentication_encode (const char *user, const char *passwd)
 }
 
 #define SKIP_WS(x) do {                         \
-  while (ISSPACE (*(x)))                        \
+  while (c_isspace (*(x)))                        \
     ++(x);                                      \
 } while (0)
 
@@ -2845,12 +3008,12 @@ digest_authentication_encode (const char *au, const char *user,
     {
       int i;
       for (i = 0; i < countof (options); i++)
-       if (name.e - name.b == strlen (options[i].name)
-           && 0 == strncmp (name.b, options[i].name, name.e - name.b))
-         {
-           *options[i].variable = strdupdelim (value.b, value.e);
-           break;
-         }
+        if (name.e - name.b == strlen (options[i].name)
+            && 0 == strncmp (name.b, options[i].name, name.e - name.b))
+          {
+            *options[i].variable = strdupdelim (value.b, value.e);
+            break;
+          }
     }
   if (!realm || !nonce || !user || !passwd || !path || !method)
     {
@@ -2929,7 +3092,7 @@ username=\"%s\", realm=\"%s\", nonce=\"%s\", uri=\"%s\", response=\"%s\"",
   ((e) - (b) >= STRSIZE (literal)                       \
    && 0 == strncasecmp (b, literal, STRSIZE (literal))  \
    && ((e) - (b) == STRSIZE (literal)                   \
-       || ISSPACE (b[STRSIZE (literal)])))
+       || c_isspace (b[STRSIZE (literal)])))
 
 static bool
 known_authentication_scheme_p (const char *hdrbeg, const char *hdrend)
@@ -2958,7 +3121,7 @@ create_authorization_line (const char *au, const char *user,
 {
   /* We are called only with known schemes, so we can dispatch on the
      first letter. */
-  switch (TOUPPER (*au))
+  switch (c_toupper (*au))
     {
     case 'B':                   /* Basic */
       *finished = true;
@@ -3056,19 +3219,27 @@ test_parse_content_disposition()
   int i;
   struct {
     char *hdrval;    
+    char *opt_dir_prefix;
     char *filename;
     bool result;
   } test_array[] = {
-    { "filename=\"file.ext\"", "file.ext", true },
-    { "attachment; filename=\"file.ext\"", "file.ext", true },
-    { "attachment; filename=\"file.ext\"; dummy", "file.ext", true },
-    { "attachment", NULL, false },    
+    { "filename=\"file.ext\"", NULL, "file.ext", true },
+    { "filename=\"file.ext\"", "somedir", "somedir/file.ext", true },
+    { "attachment; filename=\"file.ext\"", NULL, "file.ext", true },
+    { "attachment; filename=\"file.ext\"", "somedir", "somedir/file.ext", true },
+    { "attachment; filename=\"file.ext\"; dummy", NULL, "file.ext", true },
+    { "attachment; filename=\"file.ext\"; dummy", "somedir", "somedir/file.ext", true },
+    { "attachment", NULL, NULL, false },
+    { "attachment", "somedir", NULL, false },
   };
   
   for (i = 0; i < sizeof(test_array)/sizeof(test_array[0]); ++i) 
     {
       char *filename;
-      bool res = parse_content_disposition (test_array[i].hdrval, &filename);
+      bool res;
+
+      opt.dir_prefix = test_array[i].opt_dir_prefix;
+      res = parse_content_disposition (test_array[i].hdrval, &filename);
 
       mu_assert ("test_parse_content_disposition: wrong result", 
                  res == test_array[i].result
@@ -3082,6 +3253,6 @@ test_parse_content_disposition()
 #endif /* TESTING */
 
 /*
- * vim: et ts=2 sw=2
+ * vim: et sts=2 sw=2 cino+={s
  */
 
index ecb0984687081dd42b7ef485c48bb7c5e690d3bb..e0e66cea89b7ca454c46ac18ddcec86b5aa7276c 100644 (file)
@@ -1,11 +1,11 @@
 /* Declarations for HTTP.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef HTTP_H
 #define HTTP_H
index 32e9ea4fdaa00360225f07a37ec733b274343cbc..e957e528c8cb4dbcde3b7aa5999a4d3f53b26edd 100644 (file)
@@ -1,11 +1,12 @@
 /* Reading/parsing the initialization file.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -42,17 +43,16 @@ so, delete this exception statement from your version.  */
 #endif
 #include <assert.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "init.h"
 #include "host.h"
 #include "netrc.h"
 #include "progress.h"
-#include "recur.h"             /* for INFINITE_RECURSION */
-#include "convert.h"           /* for convert_cleanup */
-#include "res.h"               /* for res_cleanup */
-#include "http.h"              /* for http_cleanup */
-#include "retr.h"              /* for output_stream */
+#include "recur.h"              /* for INFINITE_RECURSION */
+#include "convert.h"            /* for convert_cleanup */
+#include "res.h"                /* for res_cleanup */
+#include "http.h"               /* for http_cleanup */
+#include "retr.h"               /* for output_stream */
 
 #ifdef TESTING
 #include "test.h"
@@ -104,144 +104,150 @@ CMD_DECLARE (cmd_spec_verbose);
    add any entries that allocate memory (e.g. cmd_string and
    cmd_vector) to the cleanup() function below. */
 
-static struct {
+static const struct {
   const char *name;
   void *place;
   bool (*action) (const char *, const char *, void *);
 } commands[] = {
   /* KEEP THIS LIST ALPHABETICALLY SORTED */
-  { "accept",          &opt.accepts,           cmd_vector },
-  { "addhostdir",      &opt.add_hostdir,       cmd_boolean },
-  { "alwaysrest",      &opt.always_rest,       cmd_boolean }, /* deprecated */
-  { "background",      &opt.background,        cmd_boolean },
-  { "backupconverted", &opt.backup_converted,  cmd_boolean },
-  { "backups",         &opt.backups,           cmd_number },
-  { "base",            &opt.base_href,         cmd_string },
-  { "bindaddress",     &opt.bind_address,      cmd_string },
+  { "accept",           &opt.accepts,           cmd_vector },
+  { "addhostdir",       &opt.add_hostdir,       cmd_boolean },
+  { "alwaysrest",       &opt.always_rest,       cmd_boolean }, /* deprecated */
+  { "authnochallenge",  &opt.auth_without_challenge,
+                                                cmd_boolean },
+  { "background",       &opt.background,        cmd_boolean },
+  { "backupconverted",  &opt.backup_converted,  cmd_boolean },
+  { "backups",          &opt.backups,           cmd_number },
+  { "base",             &opt.base_href,         cmd_string },
+  { "bindaddress",      &opt.bind_address,      cmd_string },
 #ifdef HAVE_SSL
-  { "cacertificate",   &opt.ca_cert,           cmd_file },
+  { "cacertificate",    &opt.ca_cert,           cmd_file },
 #endif
-  { "cache",           &opt.allow_cache,       cmd_boolean },
+  { "cache",            &opt.allow_cache,       cmd_boolean },
 #ifdef HAVE_SSL
-  { "cadirectory",     &opt.ca_directory,      cmd_directory },
-  { "certificate",     &opt.cert_file,         cmd_file },
-  { "certificatetype", &opt.cert_type,         cmd_cert_type },
-  { "checkcertificate", &opt.check_cert,       cmd_boolean },
+  { "cadirectory",      &opt.ca_directory,      cmd_directory },
+  { "certificate",      &opt.cert_file,         cmd_file },
+  { "certificatetype",  &opt.cert_type,         cmd_cert_type },
+  { "checkcertificate", &opt.check_cert,        cmd_boolean },
 #endif
-  { "connecttimeout",  &opt.connect_timeout,   cmd_time },
+  { "connecttimeout",   &opt.connect_timeout,   cmd_time },
   { "contentdisposition", &opt.content_disposition, cmd_boolean },
-  { "continue",                &opt.always_rest,       cmd_boolean },
-  { "convertlinks",    &opt.convert_links,     cmd_boolean },
-  { "cookies",         &opt.cookies,           cmd_boolean },
-  { "cutdirs",         &opt.cut_dirs,          cmd_number },
+  { "continue",         &opt.always_rest,       cmd_boolean },
+  { "convertlinks",     &opt.convert_links,     cmd_boolean },
+  { "cookies",          &opt.cookies,           cmd_boolean },
+  { "cutdirs",          &opt.cut_dirs,          cmd_number },
 #ifdef ENABLE_DEBUG
-  { "debug",           &opt.debug,             cmd_boolean },
+  { "debug",            &opt.debug,             cmd_boolean },
 #endif
-  { "deleteafter",     &opt.delete_after,      cmd_boolean },
-  { "dirprefix",       &opt.dir_prefix,        cmd_directory },
-  { "dirstruct",       NULL,                   cmd_spec_dirstruct },
-  { "dnscache",                &opt.dns_cache,         cmd_boolean },
-  { "dnstimeout",      &opt.dns_timeout,       cmd_time },
-  { "domains",         &opt.domains,           cmd_vector },
-  { "dotbytes",                &opt.dot_bytes,         cmd_bytes },
-  { "dotsinline",      &opt.dots_in_line,      cmd_number },
-  { "dotspacing",      &opt.dot_spacing,       cmd_number },
-  { "dotstyle",                &opt.dot_style,         cmd_string },
+  { "deleteafter",      &opt.delete_after,      cmd_boolean },
+  { "dirprefix",        &opt.dir_prefix,        cmd_directory },
+  { "dirstruct",        NULL,                   cmd_spec_dirstruct },
+  { "dnscache",         &opt.dns_cache,         cmd_boolean },
+  { "dnstimeout",       &opt.dns_timeout,       cmd_time },
+  { "domains",          &opt.domains,           cmd_vector },
+  { "dotbytes",         &opt.dot_bytes,         cmd_bytes },
+  { "dotsinline",       &opt.dots_in_line,      cmd_number },
+  { "dotspacing",       &opt.dot_spacing,       cmd_number },
+  { "dotstyle",         &opt.dot_style,         cmd_string },
 #ifdef HAVE_SSL
-  { "egdfile",         &opt.egd_file,          cmd_file },
+  { "egdfile",          &opt.egd_file,          cmd_file },
 #endif
-  { "excludedirectories", &opt.excludes,       cmd_directory_vector },
-  { "excludedomains",  &opt.exclude_domains,   cmd_vector },
-  { "followftp",       &opt.follow_ftp,        cmd_boolean },
-  { "followtags",      &opt.follow_tags,       cmd_vector },
-  { "forcehtml",       &opt.force_html,        cmd_boolean },
-  { "ftppasswd",       &opt.ftp_passwd,        cmd_string }, /* deprecated */
-  { "ftppassword",     &opt.ftp_passwd,        cmd_string },
-  { "ftpproxy",                &opt.ftp_proxy,         cmd_string },
-  { "ftpuser",         &opt.ftp_user,          cmd_string },
-  { "glob",            &opt.ftp_glob,          cmd_boolean },
-  { "header",          NULL,                   cmd_spec_header },
-  { "htmlextension",   &opt.html_extension,    cmd_boolean },
-  { "htmlify",         NULL,                   cmd_spec_htmlify },
-  { "httpkeepalive",   &opt.http_keep_alive,   cmd_boolean },
-  { "httppasswd",      &opt.http_passwd,       cmd_string }, /* deprecated */
-  { "httppassword",    &opt.http_passwd,       cmd_string },
-  { "httpproxy",       &opt.http_proxy,        cmd_string },
-  { "httpsproxy",      &opt.https_proxy,       cmd_string },
-  { "httpuser",                &opt.http_user,         cmd_string },
-  { "ignorecase",      &opt.ignore_case,       cmd_boolean },
-  { "ignorelength",    &opt.ignore_length,     cmd_boolean },
-  { "ignoretags",      &opt.ignore_tags,       cmd_vector },
-  { "includedirectories", &opt.includes,       cmd_directory_vector },
+  { "excludedirectories", &opt.excludes,        cmd_directory_vector },
+  { "excludedomains",   &opt.exclude_domains,   cmd_vector },
+  { "followftp",        &opt.follow_ftp,        cmd_boolean },
+  { "followtags",       &opt.follow_tags,       cmd_vector },
+  { "forcehtml",        &opt.force_html,        cmd_boolean },
+  { "ftppasswd",        &opt.ftp_passwd,        cmd_string }, /* deprecated */
+  { "ftppassword",      &opt.ftp_passwd,        cmd_string },
+  { "ftpproxy",         &opt.ftp_proxy,         cmd_string },
+  { "ftpuser",          &opt.ftp_user,          cmd_string },
+  { "glob",             &opt.ftp_glob,          cmd_boolean },
+  { "header",           NULL,                   cmd_spec_header },
+  { "htmlextension",    &opt.html_extension,    cmd_boolean },
+  { "htmlify",          NULL,                   cmd_spec_htmlify },
+  { "httpkeepalive",    &opt.http_keep_alive,   cmd_boolean },
+  { "httppasswd",       &opt.http_passwd,       cmd_string }, /* deprecated */
+  { "httppassword",     &opt.http_passwd,       cmd_string },
+  { "httpproxy",        &opt.http_proxy,        cmd_string },
+  { "httpsproxy",       &opt.https_proxy,       cmd_string },
+  { "httpuser",         &opt.http_user,         cmd_string },
+  { "ignorecase",       &opt.ignore_case,       cmd_boolean },
+  { "ignorelength",     &opt.ignore_length,     cmd_boolean },
+  { "ignoretags",       &opt.ignore_tags,       cmd_vector },
+  { "includedirectories", &opt.includes,        cmd_directory_vector },
 #ifdef ENABLE_IPV6
-  { "inet4only",       &opt.ipv4_only,         cmd_boolean },
-  { "inet6only",       &opt.ipv6_only,         cmd_boolean },
+  { "inet4only",        &opt.ipv4_only,         cmd_boolean },
+  { "inet6only",        &opt.ipv6_only,         cmd_boolean },
 #endif
-  { "input",           &opt.input_filename,    cmd_file },
+  { "input",            &opt.input_filename,    cmd_file },
   { "keepsessioncookies", &opt.keep_session_cookies, cmd_boolean },
-  { "limitrate",       &opt.limit_rate,        cmd_bytes },
-  { "loadcookies",     &opt.cookies_input,     cmd_file },
-  { "logfile",         &opt.lfilename,         cmd_file },
-  { "login",           &opt.ftp_user,          cmd_string },/* deprecated*/
-  { "mirror",          NULL,                   cmd_spec_mirror },
-  { "netrc",           &opt.netrc,             cmd_boolean },
-  { "noclobber",       &opt.noclobber,         cmd_boolean },
-  { "noparent",                &opt.no_parent,         cmd_boolean },
-  { "noproxy",         &opt.no_proxy,          cmd_vector },
-  { "numtries",                &opt.ntry,              cmd_number_inf },/* deprecated*/
-  { "outputdocument",  &opt.output_document,   cmd_file },
-  { "pagerequisites",  &opt.page_requisites,   cmd_boolean },
-  { "passiveftp",      &opt.ftp_pasv,          cmd_boolean },
-  { "passwd",          &opt.ftp_passwd,        cmd_string },/* deprecated*/
-  { "password",                &opt.passwd,            cmd_string },
-  { "postdata",                &opt.post_data,         cmd_string },
-  { "postfile",                &opt.post_file_name,    cmd_file },
-  { "preferfamily",    NULL,                   cmd_spec_prefer_family },
-  { "preservepermissions", &opt.preserve_perm, cmd_boolean },
+  { "limitrate",        &opt.limit_rate,        cmd_bytes },
+  { "loadcookies",      &opt.cookies_input,     cmd_file },
+  { "logfile",          &opt.lfilename,         cmd_file },
+  { "login",            &opt.ftp_user,          cmd_string },/* deprecated*/
+  { "maxredirect",      &opt.max_redirect,      cmd_number },
+  { "mirror",           NULL,                   cmd_spec_mirror },
+  { "netrc",            &opt.netrc,             cmd_boolean },
+  { "noclobber",        &opt.noclobber,         cmd_boolean },
+  { "noparent",         &opt.no_parent,         cmd_boolean },
+  { "noproxy",          &opt.no_proxy,          cmd_vector },
+  { "numtries",         &opt.ntry,              cmd_number_inf },/* deprecated*/
+  { "outputdocument",   &opt.output_document,   cmd_file },
+  { "pagerequisites",   &opt.page_requisites,   cmd_boolean },
+  { "passiveftp",       &opt.ftp_pasv,          cmd_boolean },
+  { "passwd",           &opt.ftp_passwd,        cmd_string },/* deprecated*/
+  { "password",         &opt.passwd,            cmd_string },
+  { "postdata",         &opt.post_data,         cmd_string },
+  { "postfile",         &opt.post_file_name,    cmd_file },
+  { "preferfamily",     NULL,                   cmd_spec_prefer_family },
+  { "preservepermissions", &opt.preserve_perm,  cmd_boolean },
 #ifdef HAVE_SSL
-  { "privatekey",      &opt.private_key,       cmd_file },
-  { "privatekeytype",  &opt.private_key_type,  cmd_cert_type },
+  { "privatekey",       &opt.private_key,       cmd_file },
+  { "privatekeytype",   &opt.private_key_type,  cmd_cert_type },
 #endif
-  { "progress",                &opt.progress_type,     cmd_spec_progress },
+  { "progress",         &opt.progress_type,     cmd_spec_progress },
   { "protocoldirectories", &opt.protocol_directories, cmd_boolean },
-  { "proxypasswd",     &opt.proxy_passwd,      cmd_string }, /* deprecated */
-  { "proxypassword",   &opt.proxy_passwd,      cmd_string },
-  { "proxyuser",       &opt.proxy_user,        cmd_string },
-  { "quiet",           &opt.quiet,             cmd_boolean },
-  { "quota",           &opt.quota,             cmd_bytes_sum },
+  { "proxypasswd",      &opt.proxy_passwd,      cmd_string }, /* deprecated */
+  { "proxypassword",    &opt.proxy_passwd,      cmd_string },
+  { "proxyuser",        &opt.proxy_user,        cmd_string },
+  { "quiet",            &opt.quiet,             cmd_boolean },
+  { "quota",            &opt.quota,             cmd_bytes_sum },
 #ifdef HAVE_SSL
-  { "randomfile",      &opt.random_file,       cmd_file },
+  { "randomfile",       &opt.random_file,       cmd_file },
 #endif
-  { "randomwait",      &opt.random_wait,       cmd_boolean },
-  { "readtimeout",     &opt.read_timeout,      cmd_time },
-  { "reclevel",                &opt.reclevel,          cmd_number_inf },
-  { "recursive",       NULL,                   cmd_spec_recursive },
-  { "referer",         &opt.referer,           cmd_string },
-  { "reject",          &opt.rejects,           cmd_vector },
-  { "relativeonly",    &opt.relative_only,     cmd_boolean },
-  { "removelisting",   &opt.remove_listing,    cmd_boolean },
-  { "restrictfilenames", NULL,                 cmd_spec_restrict_file_names },
-  { "retrsymlinks",    &opt.retr_symlinks,     cmd_boolean },
-  { "retryconnrefused",        &opt.retry_connrefused, cmd_boolean },
-  { "robots",          &opt.use_robots,        cmd_boolean },
-  { "savecookies",     &opt.cookies_output,    cmd_file },
-  { "saveheaders",     &opt.save_headers,      cmd_boolean },
+  { "randomwait",       &opt.random_wait,       cmd_boolean },
+  { "readtimeout",      &opt.read_timeout,      cmd_time },
+  { "reclevel",         &opt.reclevel,          cmd_number_inf },
+  { "recursive",        NULL,                   cmd_spec_recursive },
+  { "referer",          &opt.referer,           cmd_string },
+  { "reject",           &opt.rejects,           cmd_vector },
+  { "relativeonly",     &opt.relative_only,     cmd_boolean },
+  { "removelisting",    &opt.remove_listing,    cmd_boolean },
+  { "restrictfilenames", NULL,                  cmd_spec_restrict_file_names },
+  { "retrsymlinks",     &opt.retr_symlinks,     cmd_boolean },
+  { "retryconnrefused", &opt.retry_connrefused, cmd_boolean },
+  { "robots",           &opt.use_robots,        cmd_boolean },
+  { "savecookies",      &opt.cookies_output,    cmd_file },
+  { "saveheaders",      &opt.save_headers,      cmd_boolean },
 #ifdef HAVE_SSL
-  { "secureprotocol",  &opt.secure_protocol,   cmd_spec_secure_protocol },
+  { "secureprotocol",   &opt.secure_protocol,   cmd_spec_secure_protocol },
+#endif
+  { "serverresponse",   &opt.server_response,   cmd_boolean },
+  { "spanhosts",        &opt.spanhost,          cmd_boolean },
+  { "spider",           &opt.spider,            cmd_boolean },
+  { "strictcomments",   &opt.strict_comments,   cmd_boolean },
+  { "timeout",          NULL,                   cmd_spec_timeout },
+  { "timestamping",     &opt.timestamping,      cmd_boolean },
+  { "tries",            &opt.ntry,              cmd_number_inf },
+  { "useproxy",         &opt.use_proxy,         cmd_boolean },
+  { "user",             &opt.user,              cmd_string },
+  { "useragent",        NULL,                   cmd_spec_useragent },
+  { "verbose",          NULL,                   cmd_spec_verbose },
+  { "wait",             &opt.wait,              cmd_time },
+  { "waitretry",        &opt.waitretry,         cmd_time },
+#ifdef MSDOS
+  { "wdebug",           &opt.wdebug,            cmd_boolean },
 #endif
-  { "serverresponse",  &opt.server_response,   cmd_boolean },
-  { "spanhosts",       &opt.spanhost,          cmd_boolean },
-  { "spider",          &opt.spider,            cmd_boolean },
-  { "strictcomments",  &opt.strict_comments,   cmd_boolean },
-  { "timeout",         NULL,                   cmd_spec_timeout },
-  { "timestamping",    &opt.timestamping,      cmd_boolean },
-  { "tries",           &opt.ntry,              cmd_number_inf },
-  { "useproxy",                &opt.use_proxy,         cmd_boolean },
-  { "user",            &opt.user,              cmd_string },
-  { "useragent",       NULL,                   cmd_spec_useragent },
-  { "verbose",         NULL,                   cmd_spec_verbose },
-  { "wait",            &opt.wait,              cmd_time },
-  { "waitretry",       &opt.waitretry,         cmd_time }
 };
 
 /* Look up CMDNAME in the commands[] and return its position in the
@@ -259,11 +265,11 @@ command_by_name (const char *cmdname)
       int mid = (lo + hi) >> 1;
       int cmp = strcasecmp (cmdname, commands[mid].name);
       if (cmp < 0)
-       hi = mid - 1;
+        hi = mid - 1;
       else if (cmp > 0)
-       lo = mid + 1;
+        lo = mid + 1;
       else
-       return mid;
+        return mid;
     }
   return -1;
 }
@@ -313,15 +319,15 @@ defaults (void)
 #endif
 
   /* The default for file name restriction defaults to the OS type. */
-#if !defined(WINDOWS) && !defined(__CYGWIN__)
-  opt.restrict_files_os = restrict_unix;
-#else
+#if defined(WINDOWS) || defined(MSDOS) || defined(__CYGWIN__)
   opt.restrict_files_os = restrict_windows;
+#else
+  opt.restrict_files_os = restrict_unix;
 #endif
   opt.restrict_files_ctrl = true;
   opt.restrict_files_case = restrict_no_case_restriction;
 
-  opt.content_disposition = true;
+  opt.max_redirect = 20;
 }
 \f
 /* Return the user's home directory (strdup-ed), or NULL if none is
@@ -333,14 +339,27 @@ home_dir (void)
 
   if (!home)
     {
-#ifndef WINDOWS
+#if defined(MSDOS)
+      /* Under MSDOS, if $HOME isn't defined, use the directory where
+         `wget.exe' resides.  */
+      const char *_w32_get_argv0 (void); /* in libwatt.a/pcconfig.c */
+      char *p, buf[PATH_MAX];
+
+      strcpy (buf, _w32_get_argv0 ());
+      p = strrchr (buf, '/');            /* djgpp */
+      if (!p)
+        p = strrchr (buf, '\\');          /* others */
+      assert (p);
+      *p = '\0';
+      home = buf;
+#elif !defined(WINDOWS)
       /* If HOME is not defined, try getting it from the password
          file.  */
       struct passwd *pwd = getpwuid (getuid ());
       if (!pwd || !pwd->pw_dir)
-       return NULL;
+        return NULL;
       home = pwd->pw_dir;
-#else  /* WINDOWS */
+#else  /* !WINDOWS */
       /* Under Windows, if $HOME isn't defined, use the directory where
          `wget.exe' resides.  */
       home = ws_mypath ();
@@ -366,11 +385,11 @@ wgetrc_file_name (void)
   if (env && *env)
     {
       if (!file_exists_p (env))
-       {
-         fprintf (stderr, _("%s: WGETRC points to %s, which doesn't exist.\n"),
-                  exec_name, env);
-         exit (1);
-       }
+        {
+          fprintf (stderr, _("%s: WGETRC points to %s, which doesn't exist.\n"),
+                   exec_name, env);
+          exit (1);
+        }
       return xstrdup (env);
     }
 
@@ -391,7 +410,7 @@ wgetrc_file_name (void)
       file = NULL;
       home = ws_mypath ();
       if (home)
-       file = aprintf ("%s/wget.ini", home);
+        file = aprintf ("%s/wget.ini", home);
     }
 #endif /* WINDOWS */
 
@@ -431,8 +450,8 @@ run_wgetrc (const char *file)
   if (!fp)
     {
       fprintf (stderr, _("%s: Cannot read %s (%s).\n"), exec_name,
-              file, strerror (errno));
-      return true;                     /* not a fatal error */
+               file, strerror (errno));
+      return true;                      /* not a fatal error */
     }
   enable_tilde_expansion = true;
   ln = 1;
@@ -443,31 +462,31 @@ run_wgetrc (const char *file)
 
       /* Parse the line.  */
       switch (parse_line (line, &com, &val, &comind))
-       {
-       case line_ok:
-         /* If everything is OK, set the value.  */
-         if (!setval_internal (comind, com, val))
-           {
-             fprintf (stderr, _("%s: Error in %s at line %d.\n"),
-                      exec_name, file, ln);
-             ++errcnt;
-           }
-         break;
-       case line_syntax_error:
-         fprintf (stderr, _("%s: Syntax error in %s at line %d.\n"),
-                  exec_name, file, ln);
-         ++errcnt;
-         break;
-       case line_unknown_command:
-         fprintf (stderr, _("%s: Unknown command `%s' in %s at line %d.\n"),
-                  exec_name, com, file, ln);
-         ++errcnt;
-         break;
-       case line_empty:
-         break;
-       default:
-         abort ();
-       }
+        {
+        case line_ok:
+          /* If everything is OK, set the value.  */
+          if (!setval_internal (comind, com, val))
+            {
+              fprintf (stderr, _("%s: Error in %s at line %d.\n"),
+                       exec_name, file, ln);
+              ++errcnt;
+            }
+          break;
+        case line_syntax_error:
+          fprintf (stderr, _("%s: Syntax error in %s at line %d.\n"),
+                   exec_name, file, ln);
+          ++errcnt;
+          break;
+        case line_unknown_command:
+          fprintf (stderr, _("%s: Unknown command `%s' in %s at line %d.\n"),
+                   exec_name, com, file, ln);
+          ++errcnt;
+          break;
+        case line_empty:
+          break;
+        default:
+          abort ();
+        }
       xfree_null (com);
       xfree_null (val);
       xfree (line);
@@ -506,7 +525,7 @@ initialize (void)
     {
       fprintf (stderr, _("\
 %s: Warning: Both system and user wgetrc point to `%s'.\n"),
-              exec_name, file);
+               exec_name, file);
     }
   else
 #endif
@@ -526,8 +545,8 @@ initialize (void)
 static void
 dehyphen (char *s)
 {
-  char *t = s;                 /* t - tortoise */
-  char *h = s;                 /* h - hare     */
+  char *t = s;                  /* t - tortoise */
+  char *h = s;                  /* h - hare     */
   while (*h)
     if (*h == '_' || *h == '-')
       ++h;
@@ -559,9 +578,9 @@ parse_line (const char *line, char **com, char **val, int *comind)
   int ind;
 
   /* Skip leading and trailing whitespace.  */
-  while (*line && ISSPACE (*line))
+  while (*line && c_isspace (*line))
     ++line;
-  while (end > line && ISSPACE (end[-1]))
+  while (end > line && c_isspace (end[-1]))
     --end;
 
   /* Skip empty lines and comments.  */
@@ -571,17 +590,17 @@ parse_line (const char *line, char **com, char **val, int *comind)
   p = line;
 
   cmdstart = p;
-  while (p < end && (ISALNUM (*p) || *p == '_' || *p == '-'))
+  while (p < end && (c_isalnum (*p) || *p == '_' || *p == '-'))
     ++p;
   cmdend = p;
 
   /* Skip '=', as well as any space before or after it. */
-  while (p < end && ISSPACE (*p))
+  while (p < end && c_isspace (*p))
     ++p;
   if (p == end || *p != '=')
     return line_syntax_error;
   ++p;
-  while (p < end && ISSPACE (*p))
+  while (p < end && c_isspace (*p))
     ++p;
 
   valstart = p;
@@ -652,13 +671,13 @@ run_command (const char *opt)
     {
     case line_ok:
       if (!setval_internal (comind, com, val))
-       exit (2);
+        exit (2);
       xfree (com);
       xfree (val);
       break;
     default:
       fprintf (stderr, _("%s: Invalid --execute command `%s'\n"),
-              exec_name, opt);
+               exec_name, opt);
       exit (2);
     }
 }
@@ -674,16 +693,16 @@ static bool decode_string (const char *, const struct decode_item *, int, int *)
 static bool simple_atoi (const char *, const char *, int *);
 static bool simple_atof (const char *, const char *, double *);
 
-#define CMP1(p, c0) (TOLOWER((p)[0]) == (c0) && (p)[1] == '\0')
+#define CMP1(p, c0) (c_tolower((p)[0]) == (c0) && (p)[1] == '\0')
 
-#define CMP2(p, c0, c1) (TOLOWER((p)[0]) == (c0)       \
-                        && TOLOWER((p)[1]) == (c1)     \
-                        && (p)[2] == '\0')
+#define CMP2(p, c0, c1) (c_tolower((p)[0]) == (c0)        \
+                         && c_tolower((p)[1]) == (c1)     \
+                         && (p)[2] == '\0')
 
-#define CMP3(p, c0, c1, c2) (TOLOWER((p)[0]) == (c0)   \
-                    && TOLOWER((p)[1]) == (c1)         \
-                    && TOLOWER((p)[2]) == (c2)         \
-                    && (p)[3] == '\0')
+#define CMP3(p, c0, c1, c2) (c_tolower((p)[0]) == (c0)    \
+                     && c_tolower((p)[1]) == (c1)         \
+                     && c_tolower((p)[2]) == (c2)         \
+                     && (p)[3] == '\0')
 
 
 /* Store the boolean value from VAL to PLACE.  COM is ignored,
@@ -702,8 +721,8 @@ cmd_boolean (const char *com, const char *val, void *place)
   else
     {
       fprintf (stderr,
-              _("%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"),
-              exec_name, com, val);
+               _("%s: %s: Invalid boolean `%s'; use `on' or `off'.\n"),
+               exec_name, com, val);
       return false;
     }
 
@@ -720,7 +739,7 @@ cmd_number (const char *com, const char *val, void *place)
       || *(int *) place < 0)
     {
       fprintf (stderr, _("%s: %s: Invalid number `%s'.\n"),
-              exec_name, com, val);
+               exec_name, com, val);
       return false;
     }
   return true;
@@ -750,10 +769,10 @@ cmd_string (const char *com, const char *val, void *place)
   return true;
 }
 
-#ifndef WINDOWS
-# define ISSEP(c) ((c) == '/')
-#else
+#if defined(WINDOWS) || defined(MSDOS)
 # define ISSEP(c) ((c) == '/' || (c) == '\\')
+#else
+# define ISSEP(c) ((c) == '/')
 #endif
 
 /* Like the above, but handles tilde-expansion when reading a user's
@@ -778,26 +797,26 @@ cmd_file (const char *com, const char *val, void *place)
       int homelen;
       char *home = home_dir ();
       if (!home)
-       goto noexpand;
+        goto noexpand;
 
       homelen = strlen (home);
       while (homelen && ISSEP (home[homelen - 1]))
-       home[--homelen] = '\0';
+        home[--homelen] = '\0';
 
       /* Skip the leading "~/". */
       for (++val; ISSEP (*val); val++)
-       ;
+        ;
 
       *pstring = concat_strings (home, "/", val, (char *) 0);
     }
 
-#ifdef WINDOWS
+#if defined(WINDOWS) || defined(MSDOS)
   /* Convert "\" to "/". */
   {
     char *s;
     for (s = *pstring; *s; s++)
       if (*s == '\\')
-       *s = '/';
+        *s = '/';
   }
 #endif
   return true;
@@ -854,15 +873,15 @@ cmd_directory_vector (const char *com, const char *val, void *place)
 
       seps = sepstring (val);
       for (t = seps; t && *t; t++)
-       {
-         int len = strlen (*t);
-         /* Skip degenerate case of root directory.  */
-         if (len > 1)
-           {
-             if ((*t)[len - 1] == '/')
-               (*t)[len - 1] = '\0';
-           }
-       }
+        {
+          int len = strlen (*t);
+          /* Skip degenerate case of root directory.  */
+          if (len > 1)
+            {
+              if ((*t)[len - 1] == '/')
+                (*t)[len - 1] = '\0';
+            }
+        }
       *pvec = merge_vecs (*pvec, seps);
     }
   else
@@ -890,12 +909,12 @@ parse_bytes_helper (const char *val, double *result)
     }
 
   /* Strip trailing whitespace.  */
-  while (val < end && ISSPACE (end[-1]))
+  while (val < end && c_isspace (end[-1]))
     --end;
   if (val == end)
     return false;
 
-  switch (TOLOWER (end[-1]))
+  switch (c_tolower (end[-1]))
     {
     case 'k':
       --end, mult = 1024.0;
@@ -911,14 +930,14 @@ parse_bytes_helper (const char *val, double *result)
       break;
     default:
       /* Not a recognized suffix: assume it's a digit.  (If not,
-        simple_atof will raise an error.)  */
+         simple_atof will raise an error.)  */
       mult = 1;
     }
 
   /* Skip leading and trailing whitespace. */
-  while (val < end && ISSPACE (*val))
+  while (val < end && c_isspace (*val))
     ++val;
-  while (val < end && ISSPACE (end[-1]))
+  while (val < end && c_isspace (end[-1]))
     --end;
   if (val == end)
     return false;
@@ -951,7 +970,7 @@ cmd_bytes (const char *com, const char *val, void *place)
   if (!parse_bytes_helper (val, &byte_value))
     {
       fprintf (stderr, _("%s: %s: Invalid byte value `%s'\n"),
-              exec_name, com, val);
+               exec_name, com, val);
       return false;
     }
   *(wgint *)place = (wgint)byte_value;
@@ -970,7 +989,7 @@ cmd_bytes_sum (const char *com, const char *val, void *place)
   if (!parse_bytes_helper (val, &byte_value))
     {
       fprintf (stderr, _("%s: %s: Invalid byte value `%s'\n"),
-              exec_name, com, val);
+               exec_name, com, val);
       return false;
     }
   *(SUM_SIZE_INT *) place = (SUM_SIZE_INT) byte_value;
@@ -988,44 +1007,44 @@ cmd_time (const char *com, const char *val, void *place)
   const char *end = val + strlen (val);
 
   /* Strip trailing whitespace.  */
-  while (val < end && ISSPACE (end[-1]))
+  while (val < end && c_isspace (end[-1]))
     --end;
 
   if (val == end)
     {
     err:
       fprintf (stderr, _("%s: %s: Invalid time period `%s'\n"),
-              exec_name, com, val);
+               exec_name, com, val);
       return false;
     }
 
-  switch (TOLOWER (end[-1]))
+  switch (c_tolower (end[-1]))
     {
     case 's':
-      --end, mult = 1;         /* seconds */
+      --end, mult = 1;          /* seconds */
       break;
     case 'm':
-      --end, mult = 60;                /* minutes */
+      --end, mult = 60;         /* minutes */
       break;
     case 'h':
-      --end, mult = 3600;      /* hours */
+      --end, mult = 3600;       /* hours */
       break;
     case 'd':
-      --end, mult = 86400.0;   /* days */
+      --end, mult = 86400.0;    /* days */
       break;
     case 'w':
-      --end, mult = 604800.0;  /* weeks */
+      --end, mult = 604800.0;   /* weeks */
       break;
     default:
       /* Not a recognized suffix: assume it belongs to the number.
-        (If not, simple_atof will raise an error.)  */
+         (If not, simple_atof will raise an error.)  */
       mult = 1;
     }
 
   /* Skip leading and trailing whitespace. */
-  while (val < end && ISSPACE (*val))
+  while (val < end && c_isspace (*val))
     ++val;
-  while (val < end && ISSPACE (end[-1]))
+  while (val < end && c_isspace (end[-1]))
     --end;
   if (val == end)
     goto err;
@@ -1086,7 +1105,7 @@ cmd_spec_header (const char *com, const char *val, void *place_ignored)
   if (!check_user_specified_header (val))
     {
       fprintf (stderr, _("%s: %s: Invalid header `%s'.\n"),
-              exec_name, com, val);
+               exec_name, com, val);
       return false;
     }
   opt.user_headers = vec_append (opt.user_headers, val);
@@ -1116,7 +1135,7 @@ cmd_spec_mirror (const char *com, const char *val, void *place_ignored)
     {
       opt.recursive = true;
       if (!opt.no_dirstruct)
-       opt.dirstruct = true;
+        opt.dirstruct = true;
       opt.timestamping = true;
       opt.reclevel = INFINITE_RECURSION;
       opt.remove_listing = false;
@@ -1135,10 +1154,11 @@ cmd_spec_prefer_family (const char *com, const char *val, void *place_ignored)
     { "IPv6", prefer_ipv6 },
     { "none", prefer_none },
   };
-  int ok = decode_string (val, choices, countof (choices),
-                         (int *) &opt.prefer_family);
+  int prefer_family = prefer_ipv4;
+  int ok = decode_string (val, choices, countof (choices), &prefer_family);
   if (!ok)
     fprintf (stderr, _("%s: %s: Invalid value `%s'.\n"), exec_name, com, val);
+  opt.prefer_family = prefer_family;
   return ok;
 }
 
@@ -1151,7 +1171,7 @@ cmd_spec_progress (const char *com, const char *val, void *place_ignored)
   if (!valid_progress_implementation_p (val))
     {
       fprintf (stderr, _("%s: %s: Invalid progress type `%s'.\n"),
-              exec_name, com, val);
+               exec_name, com, val);
       return false;
     }
   xfree_null (opt.progress_type);
@@ -1174,7 +1194,7 @@ cmd_spec_recursive (const char *com, const char *val, void *place_ignored)
   else
     {
       if (opt.recursive && !opt.no_dirstruct)
-       opt.dirstruct = true;
+        opt.dirstruct = true;
     }
   return true;
 }
@@ -1212,10 +1232,10 @@ cmd_spec_restrict_file_names (const char *com, const char *val, void *place_igno
                    _("%s: %s: Invalid restriction `%s', use [unix|windows],[lowercase|uppercase],[nocontrol].\n"),
                    exec_name, com, val);
           return false;
-       }
+        }
 
       if (*end) 
-       val = end + 1;
+        val = end + 1;
     }
   while (*val && *end);
 
@@ -1266,7 +1286,7 @@ cmd_spec_useragent (const char *com, const char *val, void *place_ignored)
   if (strchr (val, '\n'))
     {
       fprintf (stderr, _("%s: %s: Invalid value `%s'.\n"),
-              exec_name, com, val);
+               exec_name, com, val);
       return false;
     }
   xfree_null (opt.useragent);
@@ -1303,7 +1323,7 @@ simple_atoi (const char *beg, const char *end, int *dest)
   bool negative = false;
   const char *p = beg;
 
-  while (p < end && ISSPACE (*p))
+  while (p < end && c_isspace (*p))
     ++p;
   if (p < end && (*p == '-' || *p == '+'))
     {
@@ -1317,20 +1337,20 @@ simple_atoi (const char *beg, const char *end, int *dest)
      negative integer cannot be represented as a positive number.  */
 
   if (!negative)
-    for (; p < end && ISDIGIT (*p); p++)
+    for (; p < end && c_isdigit (*p); p++)
       {
-       int next = (10 * result) + (*p - '0');
-       if (next < result)
-         return false;         /* overflow */
-       result = next;
+        int next = (10 * result) + (*p - '0');
+        if (next < result)
+          return false;         /* overflow */
+        result = next;
       }
   else
-    for (; p < end && ISDIGIT (*p); p++)
+    for (; p < end && c_isdigit (*p); p++)
       {
-       int next = (10 * result) - (*p - '0');
-       if (next > result)
-         return false;         /* underflow */
-       result = next;
+        int next = (10 * result) - (*p - '0');
+        if (next > result)
+          return false;         /* underflow */
+        result = next;
       }
 
   if (p != end)
@@ -1357,7 +1377,7 @@ simple_atof (const char *beg, const char *end, double *dest)
 
   const char *p = beg;
 
-  while (p < end && ISSPACE (*p))
+  while (p < end && c_isspace (*p))
     ++p;
   if (p < end && (*p == '-' || *p == '+'))
     {
@@ -1368,23 +1388,23 @@ simple_atof (const char *beg, const char *end, double *dest)
   for (; p < end; p++)
     {
       char ch = *p;
-      if (ISDIGIT (ch))
-       {
-         if (!seen_dot)
-           result = (10 * result) + (ch - '0');
-         else
-           result += (ch - '0') / (divider *= 10);
-         seen_digit = true;
-       }
+      if (c_isdigit (ch))
+        {
+          if (!seen_dot)
+            result = (10 * result) + (ch - '0');
+          else
+            result += (ch - '0') / (divider *= 10);
+          seen_digit = true;
+        }
       else if (ch == '.')
-       {
-         if (!seen_dot)
-           seen_dot = true;
-         else
-           return false;
-       }
+        {
+          if (!seen_dot)
+            seen_dot = true;
+          else
+            return false;
+        }
       else
-       return false;
+        return false;
     }
   if (!seen_digit)
     return false;
@@ -1404,7 +1424,7 @@ check_user_specified_header (const char *s)
 {
   const char *p;
 
-  for (p = s; *p && *p != ':' && !ISSPACE (*p); p++)
+  for (p = s; *p && *p != ':' && !c_isspace (*p); p++)
     ;
   /* The header MUST contain `:' preceded by at least one
      non-whitespace character.  */
@@ -1420,14 +1440,14 @@ check_user_specified_header (const char *s)
 
 static bool
 decode_string (const char *val, const struct decode_item *items, int itemcount,
-              int *place)
+               int *place)
 {
   int i;
   for (i = 0; i < itemcount; i++)
     if (0 == strcasecmp (val, items[i].name))
       {
-       *place = items[i].code;
-       return true;
+        *place = items[i].code;
+        return true;
       }
   return false;
 }
index e52f54af8d9a2442f267f5054d75264c54b31dea..923d988b75805470be77de4c50d0d1323591f6e0 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for init.c.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef INIT_H
 #define INIT_H
index 64a8b5f7af01cdb9a02512a2f7177ed729b62e27..078a7ac9d9c8d00ba7ba8f32b0d4bb6d97fd2d16 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -1,11 +1,12 @@
 /* Messages logging.
-   Copyright (C) 1998-2006 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -39,7 +40,6 @@ so, delete this exception statement from your version.  */
 #include <assert.h>
 #include <errno.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "log.h"
 
@@ -108,9 +108,9 @@ static bool needs_flushing;
 static struct log_ln {
   char static_line[STATIC_LENGTH + 1]; /* statically allocated
                                           line. */
-  char *malloced_line;         /* malloc'ed line, for lines of output
+  char *malloced_line;          /* malloc'ed line, for lines of output
                                    larger than 80 characters. */
-  char *content;               /* this points either to malloced_line
+  char *content;                /* this points either to malloced_line
                                    or to the appropriate static_line.
                                    If this is NULL, it means the line
                                    has not yet been used. */
@@ -127,9 +127,9 @@ static bool trailing_line;
 
 static void check_redirect_output (void);
 \f
-#define ROT_ADVANCE(num) do {                  \
-  if (++num >= SAVED_LOG_LINES)                        \
-    num = 0;                                   \
+#define ROT_ADVANCE(num) do {                   \
+  if (++num >= SAVED_LOG_LINES)                 \
+    num = 0;                                    \
 } while (0)
 
 /* Free the log line index with NUM.  This calls free on
@@ -167,21 +167,21 @@ saved_append_1 (const char *start, const char *end)
       struct log_ln *ln;
 
       if (log_line_current == -1)
-       log_line_current = 0;
+        log_line_current = 0;
       else
-       free_log_line (log_line_current);
+        free_log_line (log_line_current);
       ln = log_lines + log_line_current;
       if (len > STATIC_LENGTH)
-       {
-         ln->malloced_line = strdupdelim (start, end);
-         ln->content = ln->malloced_line;
-       }
+        {
+          ln->malloced_line = strdupdelim (start, end);
+          ln->content = ln->malloced_line;
+        }
       else
-       {
-         memcpy (ln->static_line, start, len);
-         ln->static_line[len] = '\0';
-         ln->content = ln->static_line;
-       }
+        {
+          memcpy (ln->static_line, start, len);
+          ln->static_line[len] = '\0';
+          ln->content = ln->static_line;
+        }
     }
   else
     {
@@ -192,38 +192,38 @@ saved_append_1 (const char *start, const char *end)
          convert it to malloc(). */
       struct log_ln *ln = log_lines + log_line_current;
       if (ln->malloced_line)
-       {
-         /* Resize malloc'ed line and append. */
-         int old_len = strlen (ln->malloced_line);
-         ln->malloced_line = xrealloc (ln->malloced_line, old_len + len + 1);
-         memcpy (ln->malloced_line + old_len, start, len);
-         ln->malloced_line[old_len + len] = '\0';
-         /* might have changed due to realloc */
-         ln->content = ln->malloced_line;
-       }
+        {
+          /* Resize malloc'ed line and append. */
+          int old_len = strlen (ln->malloced_line);
+          ln->malloced_line = xrealloc (ln->malloced_line, old_len + len + 1);
+          memcpy (ln->malloced_line + old_len, start, len);
+          ln->malloced_line[old_len + len] = '\0';
+          /* might have changed due to realloc */
+          ln->content = ln->malloced_line;
+        }
       else
-       {
-         int old_len = strlen (ln->static_line);
-         if (old_len + len > STATIC_LENGTH)
-           {
-             /* Allocate memory and concatenate the old and the new
+        {
+          int old_len = strlen (ln->static_line);
+          if (old_len + len > STATIC_LENGTH)
+            {
+              /* Allocate memory and concatenate the old and the new
                  contents. */
-             ln->malloced_line = xmalloc (old_len + len + 1);
-             memcpy (ln->malloced_line, ln->static_line,
-                     old_len);
-             memcpy (ln->malloced_line + old_len, start, len);
-             ln->malloced_line[old_len + len] = '\0';
-             ln->content = ln->malloced_line;
-           }
-         else
-           {
-             /* Just append to the old, statically allocated
+              ln->malloced_line = xmalloc (old_len + len + 1);
+              memcpy (ln->malloced_line, ln->static_line,
+                      old_len);
+              memcpy (ln->malloced_line + old_len, start, len);
+              ln->malloced_line[old_len + len] = '\0';
+              ln->content = ln->malloced_line;
+            }
+          else
+            {
+              /* Just append to the old, statically allocated
                  contents.  */
-             memcpy (ln->static_line + old_len, start, len);
-             ln->static_line[old_len + len] = '\0';
-             ln->content = ln->static_line;
-           }
-       }
+              memcpy (ln->static_line + old_len, start, len);
+              ln->static_line[old_len + len] = '\0';
+              ln->content = ln->static_line;
+            }
+        }
     }
   trailing_line = !(end[-1] == '\n');
   if (!trailing_line)
@@ -242,9 +242,9 @@ saved_append (const char *s)
     {
       const char *end = strchr (s, '\n');
       if (!end)
-       end = s + strlen (s);
+        end = s + strlen (s);
       else
-       ++end;
+        ++end;
       saved_append_1 (s, end);
       s = end;
     }
@@ -260,22 +260,22 @@ saved_append (const char *s)
    * LOG_NONVERBOSE - print the message if opt.verbose is zero;
 
    * LOG_VERBOSE - print the message if opt.verbose is non-zero.  */
-#define CHECK_VERBOSE(x)                       \
-  switch (x)                                   \
-    {                                          \
-    case LOG_ALWAYS:                           \
-      break;                                   \
-    case LOG_NOTQUIET:                         \
-      if (opt.quiet)                           \
-       return;                                 \
-      break;                                   \
-    case LOG_NONVERBOSE:                       \
-      if (opt.verbose || opt.quiet)            \
-       return;                                 \
-      break;                                   \
-    case LOG_VERBOSE:                          \
-      if (!opt.verbose)                                \
-       return;                                 \
+#define CHECK_VERBOSE(x)                        \
+  switch (x)                                    \
+    {                                           \
+    case LOG_ALWAYS:                            \
+      break;                                    \
+    case LOG_NOTQUIET:                          \
+      if (opt.quiet)                            \
+        return;                                 \
+      break;                                    \
+    case LOG_NONVERBOSE:                        \
+      if (opt.verbose || opt.quiet)             \
+        return;                                 \
+      break;                                    \
+    case LOG_VERBOSE:                           \
+      if (!opt.verbose)                         \
+        return;                                 \
     }
 
 /* Returns the file descriptor for logging.  This is LOGFP, except if
@@ -338,7 +338,7 @@ struct logvprintf_state {
 
 static bool
 log_vprintf_internal (struct logvprintf_state *state, const char *fmt,
-                     va_list args)
+                      va_list args)
 {
   char smallmsg[128];
   char *write_ptr = smallmsg;
@@ -379,7 +379,7 @@ log_vprintf_internal (struct logvprintf_state *state, const char *fmt,
   if (numwritten == -1)
     {
       /* Writing failed, and we don't know the needed size.  Try
-        again with doubled size. */
+         again with doubled size. */
       int newsize = available_size << 1;
       state->bigmsg = xrealloc (state->bigmsg, newsize);
       state->allocated = newsize;
@@ -388,7 +388,7 @@ log_vprintf_internal (struct logvprintf_state *state, const char *fmt,
   else if (numwritten >= available_size)
     {
       /* Writing failed, but we know exactly how much space we
-        need. */
+         need. */
       int newsize = numwritten + 1;
       state->bigmsg = xrealloc (state->bigmsg, newsize);
       state->allocated = newsize;
@@ -435,9 +435,9 @@ log_set_flush (bool flush)
   else
     {
       /* Reenable flushing.  If anything was printed in no-flush mode,
-        flush the log now.  */
+         flush the log now.  */
       if (needs_flushing)
-       logflush ();
+        logflush ();
       flush_log_p = true;
     }
 }
@@ -494,15 +494,15 @@ debug_logprintf (const char *fmt, ...)
 
       check_redirect_output ();
       if (inhibit_logging)
-       return;
+        return;
 
       xzero (lpstate);
       do
-       {
-         va_start (args, fmt);
-         done = log_vprintf_internal (&lpstate, fmt, args);
-         va_end (args);
-       }
+        {
+          va_start (args, fmt);
+          done = log_vprintf_internal (&lpstate, fmt, args);
+          va_end (args);
+        }
       while (!done);
     }
 }
@@ -517,10 +517,10 @@ log_init (const char *file, bool appendp)
     {
       logfp = fopen (file, appendp ? "a" : "w");
       if (!logfp)
-       {
-         fprintf (stderr, "%s: %s: %s\n", exec_name, file, strerror (errno));
-         exit (1);
-       }
+        {
+          fprintf (stderr, "%s: %s: %s\n", exec_name, file, strerror (errno));
+          exit (1);
+        }
     }
   else
     {
@@ -534,16 +534,16 @@ log_init (const char *file, bool appendp)
 
       if (1
 #ifdef HAVE_ISATTY
-         && isatty (fileno (logfp))
+          && isatty (fileno (logfp))
 #endif
-         )
-       {
-         /* If the output is a TTY, enable save context, i.e. store
-            the most recent several messages ("context") and dump
-            them to a log file in case SIGHUP or SIGUSR1 is received
-            (or Ctrl+Break is pressed under Windows).  */
-         save_context_p = true;
-       }
+          )
+        {
+          /* If the output is a TTY, enable save context, i.e. store
+             the most recent several messages ("context") and dump
+             them to a log file in case SIGHUP or SIGUSR1 is received
+             (or Ctrl+Break is pressed under Windows).  */
+          save_context_p = true;
+        }
     }
 }
 
@@ -583,7 +583,7 @@ log_dump_context (void)
     {
       struct log_ln *ln = log_lines + num;
       if (ln->content)
-       fputs (ln->content, fp);
+        fputs (ln->content, fp);
       ROT_ADVANCE (num);
     }
   while (num != log_line_current);
@@ -596,7 +596,7 @@ log_dump_context (void)
 /* String escape functions. */
 
 /* Return the number of non-printable characters in SOURCE.
-   Non-printable characters are determined as per safe-ctype.c.  */
+   Non-printable characters are determined as per c-ctype.c.  */
 
 static int
 count_nonprint (const char *source)
@@ -604,7 +604,7 @@ count_nonprint (const char *source)
   const char *p;
   int cnt;
   for (p = source, cnt = 0; *p; p++)
-    if (!ISPRINT (*p))
+    if (!c_isprint (*p))
       ++cnt;
   return cnt;
 }
@@ -644,26 +644,26 @@ copy_and_escape (const char *source, char *dest, char escape, int base)
     {
     case 8:
       while ((c = *from++) != '\0')
-       if (ISPRINT (c))
-         *to++ = c;
-       else
-         {
-           *to++ = escape;
-           *to++ = '0' + (c >> 6);
-           *to++ = '0' + ((c >> 3) & 7);
-           *to++ = '0' + (c & 7);
-         }
+        if (c_isprint (c))
+          *to++ = c;
+        else
+          {
+            *to++ = escape;
+            *to++ = '0' + (c >> 6);
+            *to++ = '0' + ((c >> 3) & 7);
+            *to++ = '0' + (c & 7);
+          }
       break;
     case 16:
       while ((c = *from++) != '\0')
-       if (ISPRINT (c))
-         *to++ = c;
-       else
-         {
-           *to++ = escape;
-           *to++ = XNUM_TO_DIGIT (c >> 4);
-           *to++ = XNUM_TO_DIGIT (c & 0xf);
-         }
+        if (c_isprint (c))
+          *to++ = c;
+        else
+          {
+            *to++ = escape;
+            *to++ = XNUM_TO_DIGIT (c >> 4);
+            *to++ = XNUM_TO_DIGIT (c & 0xf);
+          }
       break;
     default:
       abort ();
@@ -676,12 +676,12 @@ struct ringel {
   char *buffer;
   int size;
 };
-static struct ringel ring[RING_SIZE];  /* ring data */
+static struct ringel ring[RING_SIZE];   /* ring data */
 
 static const char *
 escnonprint_internal (const char *str, char escape, int base)
 {
-  static int ringpos;                  /* current ring position */
+  static int ringpos;                   /* current ring position */
   int nprcnt;
 
   assert (base == 8 || base == 16);
@@ -707,8 +707,8 @@ escnonprint_internal (const char *str, char escape, int base)
        (re)allocate it.  */
     if (r->buffer == NULL || r->size < needed_size)
       {
-       r->buffer = xrealloc (r->buffer, needed_size);
-       r->size = needed_size;
+        r->buffer = xrealloc (r->buffer, needed_size);
+        r->size = needed_size;
       }
 
     copy_and_escape (str, r->buffer, escape, base);
@@ -782,7 +782,7 @@ redirect_output (void)
   if (logfp)
     {
       fprintf (stderr, _("\n%s received, redirecting output to `%s'.\n"),
-              redirect_request_signal_name, logfile);
+               redirect_request_signal_name, logfile);
       xfree (logfile);
       /* Dump the context output to the newly opened log.  */
       log_dump_context ();
@@ -793,7 +793,7 @@ redirect_output (void)
          can do but disable printing completely. */
       fprintf (stderr, _("\n%s received.\n"), redirect_request_signal_name);
       fprintf (stderr, _("%s: %s; disabling logging.\n"),
-              logfile, strerror (errno));
+               logfile, strerror (errno));
       inhibit_logging = true;
     }
   save_context_p = false;
index 98eaa0038751be2168a00841c4004b022869fd55..2f8d2042291e3f548038a6aea92ebe371c62c219 100644 (file)
--- a/src/log.h
+++ b/src/log.h
@@ -1,11 +1,12 @@
 /* Declarations for log.c.
-   Copyright (C) 1998-2006 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef LOG_H
 #define LOG_H
index 790b0279bd11224de1d8a1b65b5f151a0d86a6fd..b1e99695f19f124bc45af691a145be5b9324bc98 100644 (file)
@@ -1,11 +1,12 @@
 /* Command line parsing.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -36,14 +37,13 @@ so, delete this exception statement from your version.  */
 #endif /* HAVE_UNISTD_H */
 #include <string.h>
 #include <signal.h>
-#ifdef HAVE_NLS
+#ifdef ENABLE_NLS
 # include <locale.h>
 #endif
 #include <assert.h>
 #include <errno.h>
 #include <time.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "init.h"
 #include "retr.h"
@@ -55,8 +55,7 @@ so, delete this exception statement from your version.  */
 #include "spider.h"
 #include "http.h"               /* for save_cookies */
 
-/* On GNU system this will include system-wide getopt.h. */
-#include "getopt.h"
+#include <getopt.h>
 
 #ifndef PATH_SEPARATOR
 # define PATH_SEPARATOR '/'
@@ -72,6 +71,7 @@ static void redirect_output_signal (int);
 
 const char *exec_name;
 \f
+#ifndef TESTING
 /* Initialize I18N/L10N.  That amounts to invoking setlocale, and
    setting up gettext's message catalog using bindtextdomain and
    textdomain.  Does nothing if NLS is disabled or missing.  */
@@ -79,14 +79,14 @@ const char *exec_name;
 static void
 i18n_initialize (void)
 {
-  /* HAVE_NLS implies existence of functions invoked here.  */
-#ifdef HAVE_NLS
+  /* ENABLE_NLS implies existence of functions invoked here.  */
+#ifdef ENABLE_NLS
   /* Set the current locale.  */
   setlocale (LC_ALL, "");
   /* Set the text message domain.  */
   bindtextdomain ("wget", LOCALEDIR);
   textdomain ("wget");
-#endif /* HAVE_NLS */
+#endif /* ENABLE_NLS */
 }
 \f
 /* Definition of command-line options. */
@@ -130,6 +130,7 @@ static struct cmdline_option option_data[] =
   {
     { "accept", 'A', OPT_VALUE, "accept", -1 },
     { "append-output", 'a', OPT__APPEND_OUTPUT, NULL, required_argument },
+    { "auth-no-challenge", 0, OPT_BOOLEAN, "authnochallenge", -1 },
     { "background", 'b', OPT_BOOLEAN, "background", -1 },
     { "backup-converted", 'K', OPT_BOOLEAN, "backupconverted", -1 },
     { "backups", 0, OPT_BOOLEAN, "backups", -1 },
@@ -190,6 +191,7 @@ static struct cmdline_option option_data[] =
     { "level", 'l', OPT_VALUE, "reclevel", -1 },
     { "limit-rate", 0, OPT_VALUE, "limitrate", -1 },
     { "load-cookies", 0, OPT_VALUE, "loadcookies", -1 },
+    { "max-redirect", 0, OPT_VALUE, "maxredirect", -1 },
     { "mirror", 'm', OPT_BOOLEAN, "mirror", -1 },
     { "no", 'n', OPT__NO, NULL, required_argument },
     { "no-clobber", 0, OPT_BOOLEAN, "noclobber", -1 },
@@ -243,6 +245,9 @@ static struct cmdline_option option_data[] =
     { "version", 'V', OPT_FUNCALL, (void *) print_version, no_argument },
     { "wait", 'w', OPT_VALUE, "wait", -1 },
     { "waitretry", 0, OPT_VALUE, "waitretry", -1 },
+#ifdef MSDOS
+    { "wdebug", 0, OPT_BOOLEAN, "wdebug", -1 },
+#endif
   };
 
 #undef WHEN_DEBUG
@@ -385,6 +390,10 @@ Logging and input file:\n"),
 #ifdef ENABLE_DEBUG
     N_("\
   -d,  --debug               print lots of debugging information.\n"),
+#endif
+#ifdef MSDOS
+    N_("\
+       --wdebug              print Watt-32 debug output.\n"),
 #endif
     N_("\
   -q,  --quiet               quiet (no output).\n"),
@@ -436,8 +445,6 @@ Download:\n"),
        --waitretry=SECONDS       wait 1..SECONDS between retries of a retrieval.\n"),
     N_("\
        --random-wait             wait from 0...2*WAIT secs between retrievals.\n"),
-    N_("\
-  -Y,  --proxy                   explicitly turn on proxy.\n"),
     N_("\
        --no-proxy                explicitly turn off proxy.\n"),
     N_("\
@@ -497,6 +504,8 @@ HTTP options:\n"),
        --ignore-length         ignore `Content-Length' header field.\n"),
     N_("\
        --header=STRING         insert STRING among the headers.\n"),
+    N_("\
+       --max-redirect          maximum redirections allowed per page.\n"),
     N_("\
        --proxy-user=USER       set USER as proxy username.\n"),
     N_("\
@@ -522,7 +531,12 @@ HTTP options:\n"),
     N_("\
        --post-file=FILE        use the POST method; send contents of FILE.\n"),
     N_("\
-       --no-content-disposition  don't honor Content-Disposition header.\n"),
+       --content-disposition   honor the Content-Disposition header when\n\
+                               choosing local file names (EXPERIMENTAL).\n"),
+    N_("\
+       --auth-no-challenge     Send Basic HTTP authentication information\n\
+                               without first waiting for the server's\n\
+                               challenge.\n"),
     "\n",
 
 #ifdef HAVE_SSL
@@ -663,23 +677,27 @@ static void
 print_version (void)
 {
   printf ("GNU Wget %s\n\n", version_string);
+  /* TRANSLATORS: When available, an actual copyright character
+     (cirle-c) should be used in preference to "(C)". */
   fputs (_("\
-Copyright (C) 2006 Free Software Foundation, Inc.\n"), stdout);
+Copyright (C) 2008 Free Software Foundation, Inc.\n"), stdout);
   fputs (_("\
-This program is distributed in the hope that it will be useful,\n\
-but WITHOUT ANY WARRANTY; without even the implied warranty of\n\
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n\
-GNU General Public License for more details.\n"), stdout);
+License GPLv3+: GNU GPL version 3 or later\n\
+<http://www.gnu.org/licenses/gpl.html>.\n\
+This is free software: you are free to change and redistribute it.\n\
+There is NO WARRANTY, to the extent permitted by law.\n"), stdout);
+  /* TRANSLATORS: When available, please use the proper diacritics for
+     names such as this one. See en_US.po for reference. */
   fputs (_("\nOriginally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"),
          stdout);
-  fputs (_("\nCurrently maintained by Mauro Tortonesi <mauro@ferrara.linux.it>.\n"),
+  fputs (_("Currently maintained by Micah Cowan <micah@cowan.name>.\n"),
          stdout);
   exit (0);
 }
 \f
-#ifndef TESTING
+
 int
-main (int argc, char *const *argv)
+main (int argc, char **argv)
 {
   char **url, **t;
   int i, ret, longindex;
@@ -697,7 +715,7 @@ main (int argc, char *const *argv)
 
 #ifdef WINDOWS
   /* Drop extension (typically .EXE) from executable filename. */
-  windows_main (&argc, (char **) argv, (char **) &exec_name);
+  windows_main ((char **) &exec_name);
 #endif
 
   /* Set option defaults; read the system wgetrc and ~/.wgetrc.  */
@@ -801,9 +819,9 @@ main (int argc, char *const *argv)
                before passing the value to setoptval.  */
             bool flag = true;
             if (optarg)
-              flag = (*optarg == '1' || TOLOWER (*optarg) == 'y'
-                      || (TOLOWER (optarg[0]) == 'o'
-                          && TOLOWER (optarg[1]) == 'n'));
+              flag = (*optarg == '1' || c_tolower (*optarg) == 'y'
+                      || (c_tolower (optarg[0]) == 'o'
+                          && c_tolower (optarg[1]) == 'n'));
             setoptval (opt->type == OPT__PARENT ? "noparent" : "noclobber",
                        flag ? "0" : "1", opt->long_name);
             break;
@@ -822,7 +840,10 @@ main (int argc, char *const *argv)
      interoption dependency checks. */
 
   if (opt.reclevel == 0)
-    opt.reclevel = INFINITE_RECURSION; /* see recur.h for commentary on this */
+      opt.reclevel = INFINITE_RECURSION; /* see recur.h for commentary */
+
+  if (opt.spider || opt.delete_after)
+      opt.no_dirstruct = true;
 
   if (opt.page_requisites && !opt.recursive)
     {
@@ -889,8 +910,14 @@ Can't timestamp and not clobber old files at the same time.\n"));
       exit (1);
     }
 
+#ifdef MSDOS
+  if (opt.wdebug)
+     dbug_init();
+  sock_init();
+#else
   if (opt.background)
     fork_to_background ();
+#endif
 
   /* Initialize progress.  Have to do this after the options are
      processed so we know where the log file is.  */
@@ -1019,7 +1046,7 @@ Can't timestamp and not clobber old files at the same time.\n"));
     {
       logprintf (LOG_NOTQUIET,
                  _("FINISHED --%s--\nDownloaded: %d files, %s in %s (%s)\n"),
-                 time_str (time (NULL)),
+                 datetime_str (time (NULL)),
                  opt.numurls,
                  human_readable (total_downloaded_bytes),
                  secs_to_human_time (total_download_time),
index ab31e73df62f7f677e7a0e7aa841c0b70c4031c4..2a1469631299a20c70dd6cd77856c78d2df6fc2b 100644 (file)
@@ -1,11 +1,12 @@
 /* mswindows.c -- Windows-specific support
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,22 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#define INHIBIT_WRAP /* avoid wrapping of socket, bind, ... */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -36,9 +39,7 @@ so, delete this exception statement from your version.  */
 #include <errno.h>
 #include <math.h>
 
-#define INHIBIT_WRAP /* avoid wrapping of socket, bind, ... */
 
-#include "wget.h"
 #include "utils.h"
 #include "url.h"
 
@@ -73,7 +74,7 @@ xsleep (double seconds)
 }
 
 void
-windows_main (int *argc, char **argv, char **exec_name)
+windows_main (char **exec_name)
 {
   char *p;
 
@@ -87,9 +88,11 @@ windows_main (int *argc, char **argv, char **exec_name)
 static void
 ws_cleanup (void)
 {
+  xfree ((char*)exec_name);
   WSACleanup ();
 }
 
+#if defined(CTRLBREAK_BACKGND) || defined(CTRLC_BACKGND)
 static void
 ws_hangup (const char *reason)
 {
@@ -103,6 +106,7 @@ ws_hangup (const char *reason)
      gesture as the parent will wait for us to terminate before resuming.  */
   FreeConsole ();
 }
+#endif
 
 /* Construct the name for a named section (a.k.a. `file mapping') object.
    The returned string is dynamically allocated and needs to be xfree()'d.  */
@@ -153,17 +157,17 @@ fake_fork_child (void)
   event = info->event;
 
   info->logfile_changed = false;
-  if (!opt.lfilename)
+  if (!opt.lfilename && (!opt.quiet || opt.server_response))
     {
       /* See utils:fork_to_background for explanation. */
       FILE *new_log_fp = unique_create (DEFAULT_LOGFILE, false, &opt.lfilename);
       if (new_log_fp)
-       {
-         info->logfile_changed = true;
-         strncpy (info->lfilename, opt.lfilename, sizeof (info->lfilename));
-         info->lfilename[sizeof (info->lfilename) - 1] = '\0';
-         fclose (new_log_fp);
-       }
+        {
+          info->logfile_changed = true;
+          strncpy (info->lfilename, opt.lfilename, sizeof (info->lfilename));
+          info->lfilename[sizeof (info->lfilename) - 1] = '\0';
+          fclose (new_log_fp);
+        }
     }
 
   UnmapViewOfFile (info);
@@ -456,14 +460,14 @@ ws_startup (void)
   if (err != 0)
     {
       fprintf (stderr, _("%s: Couldn't find usable socket driver.\n"),
-              exec_name);
+               exec_name);
       exit (1);
     }
 
   if (data.wVersion < requested)
     {
       fprintf (stderr, _("%s: Couldn't find usable socket driver.\n"),
-              exec_name);
+               exec_name);
       WSACleanup ();
       exit (1);
     }
@@ -541,10 +545,11 @@ run_with_timeout (double seconds, void (*fun) (void *), void *arg)
   thread_arg.arg = arg;
   thread_arg.ws_error = WSAGetLastError ();
   thread_hnd = CreateThread (NULL, THREAD_STACK_SIZE, thread_helper,
-                            &thread_arg, 0, &thread_id);
+                             &thread_arg, 0, &thread_id);
   if (!thread_hnd)
     {
-      DEBUGP (("CreateThread() failed; [0x%x]\n", GetLastError ()));
+      DEBUGP (("CreateThread() failed; [%#lx]\n",
+               (unsigned long) GetLastError ()));
       goto blocking_fallback;
     }
 
@@ -552,7 +557,7 @@ run_with_timeout (double seconds, void (*fun) (void *), void *arg)
       == WAIT_OBJECT_0)
     {
       /* Propagate error state (which is per-thread) to this thread,
-        so the caller can inspect it.  */
+         so the caller can inspect it.  */
       WSASetLastError (thread_arg.ws_error);
       DEBUGP (("Winsock error: %d\n", WSAGetLastError ()));
       rc = false;
@@ -563,7 +568,7 @@ run_with_timeout (double seconds, void (*fun) (void *), void *arg)
       rc = true;
     }
 
-  CloseHandle (thread_hnd);    /* Clear-up after TerminateThread().  */
+  CloseHandle (thread_hnd);     /* Clear-up after TerminateThread().  */
   thread_hnd = NULL;
   return rc;
 }
@@ -577,11 +582,11 @@ run_with_timeout (double seconds, void (*fun) (void *), void *arg)
 /* Define a macro that creates a function definition that wraps FUN into
    a function that sets errno the way the rest of the code expects. */
 
-#define WRAP(fun, decl, call) int wrapped_##fun decl { \
-  int retval = fun call;                               \
-  if (retval < 0)                                      \
-    errno = WSAGetLastError ();                                \
-  return retval;                                       \
+#define WRAP(fun, decl, call) int wrapped_##fun decl {  \
+  int retval = fun call;                                \
+  if (retval < 0)                                       \
+    errno = WSAGetLastError ();                         \
+  return retval;                                        \
 }
 
 WRAP (socket, (int domain, int type, int protocol), (domain, type, protocol))
index 34f909a44ce208544e6865ca493f258f84964f0d..54821a7c63de203de090fa3add0466aefccf2f7d 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for windows
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef MSWINDOWS_H
 #define MSWINDOWS_H
@@ -208,6 +209,6 @@ void ws_startup (void);
 void ws_changetitle (const char *);
 void ws_percenttitle (double);
 char *ws_mypath (void);
-void windows_main (int *, char **, char **);
+void windows_main (char **);
 
 #endif /* MSWINDOWS_H */
index 48ac0c76c161dd00bf6994993c71061ee7c09ce5..fea440d33eb60f7b1ac2a729d5136f3f9a72fbee 100644 (file)
@@ -1,11 +1,11 @@
 /* Read and parse the .netrc file to get hosts, accounts, and passwords.
-   Copyright (C) 1996, Free Software Foundation, Inc.
+   Copyright (C) 1996, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,39 +14,36 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* This file used to be kept in synch with the code in Fetchmail, but
    the latter has diverged since.  */
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "netrc.h"
 #include "init.h"
 
 #define NETRC_FILE_NAME ".netrc"
 
-static acc_t *netrc_list;
+acc_t *netrc_list;
 
 static acc_t *parse_netrc (const char *);
 
@@ -58,7 +55,7 @@ static acc_t *parse_netrc (const char *);
    You will typically turn it off for HTTP.  */
 void
 search_netrc (const char *host, const char **acc, const char **passwd,
-             int slack_default)
+              int slack_default)
 {
   acc_t *l;
   static int processed_netrc;
@@ -73,17 +70,17 @@ search_netrc (const char *host, const char **acc, const char **passwd,
       netrc_list = NULL;
       processed_netrc = 1;
       if (home)
-       {
-         int err;
-         struct_stat buf;
-         char *path = (char *)alloca (strlen (home) + 1
-                                      + strlen (NETRC_FILE_NAME) + 1);
-         sprintf (path, "%s/%s", home, NETRC_FILE_NAME);
-         xfree (home);
-         err = stat (path, &buf);
-         if (err == 0)
-           netrc_list = parse_netrc (path);
-       }
+        {
+          int err;
+          struct_stat buf;
+          char *path = (char *)alloca (strlen (home) + 1
+                                       + strlen (NETRC_FILE_NAME) + 1);
+          sprintf (path, "%s/%s", home, NETRC_FILE_NAME);
+          xfree (home);
+          err = stat (path, &buf);
+          if (err == 0)
+            netrc_list = parse_netrc (path);
+        }
     }
   /* If nothing to do...  */
   if (!netrc_list)
@@ -95,44 +92,44 @@ search_netrc (const char *host, const char **acc, const char **passwd,
   for (l = netrc_list; l; l = l->next)
     {
       if (!l->host)
-       continue;
+        continue;
       else if (!strcasecmp (l->host, host))
-       break;
+        break;
     }
   if (l)
     {
       if (*acc)
-       {
-         /* Looking for password in .netrc.  */
-         if (!strcmp (l->acc, *acc))
-           *passwd = l->passwd; /* usernames match; password OK */
-         else
-           *passwd = NULL;     /* usernames don't match */
-       }
-      else                     /* NOT *acc */
-       {
-         /* If password was given, use it.  The account is l->acc.  */
-         *acc = l->acc;
-         if (l->passwd)
-           *passwd = l->passwd;
-       }
+        {
+          /* Looking for password in .netrc.  */
+          if (!strcmp (l->acc, *acc))
+            *passwd = l->passwd; /* usernames match; password OK */
+          else
+            *passwd = NULL;     /* usernames don't match */
+        }
+      else                      /* NOT *acc */
+        {
+          /* If password was given, use it.  The account is l->acc.  */
+          *acc = l->acc;
+          if (l->passwd)
+            *passwd = l->passwd;
+        }
       return;
     }
   else
     {
       if (!slack_default)
-       return;
+        return;
       if (*acc)
-       return;
+        return;
       /* Try looking for the default account.  */
       for (l = netrc_list; l; l = l->next)
-       if (!l->host)
-         break;
+        if (!l->host)
+          break;
       if (!l)
-       return;
+        return;
       *acc = l->acc;
       if (!*passwd)
-       *passwd = l->passwd;
+        *passwd = l->passwd;
       return;
     }
 }
@@ -171,7 +168,7 @@ read_whole_line (FILE *fp)
       length += strlen (line + length);
       assert (length > 0);
       if (line[length - 1] == '\n')
-       break;
+        break;
       /* fgets() guarantees to read the whole line, or to use up the
          space we've given it.  We can double the buffer
          unconditionally.  */
@@ -213,11 +210,11 @@ maybe_add_to_list (acc_t **newentry, acc_t **list)
   else
     {
       if (a)
-       {
-         /* Add the current machine into our list.  */
-         a->next = l;
-         l = a;
-       }
+        {
+          /* Add the current machine into our list.  */
+          a->next = l;
+          l = a;
+        }
 
       /* Allocate a new acc_t structure.  */
       a = xmalloc (sizeof (acc_t));
@@ -266,7 +263,7 @@ parse_netrc (const char *path)
   if (!fp)
     {
       fprintf (stderr, _("%s: Cannot read %s (%s).\n"), exec_name,
-              path, strerror (errno));
+               path, strerror (errno));
       return retval;
     }
 
@@ -284,130 +281,130 @@ parse_netrc (const char *path)
       quote = 0;
 
       /* Skip leading whitespace.  */
-      while (*p && ISSPACE (*p))
-       p ++;
+      while (*p && c_isspace (*p))
+        p ++;
 
       /* If the line is empty, then end any macro definition.  */
       if (last_token == tok_macdef && !*p)
-       /* End of macro if the line is empty.  */
-       last_token = tok_nothing;
+        /* End of macro if the line is empty.  */
+        last_token = tok_nothing;
 
       /* If we are defining macros, then skip parsing the line.  */
       while (*p && last_token != tok_macdef)
-       {
-         /* Skip any whitespace.  */
-         while (*p && ISSPACE (*p))
-           p ++;
-
-         /* Discard end-of-line comments; also, stop processing if
-            the above `while' merely skipped trailing whitespace.  */
-         if (*p == '#' || !*p)
-           break;
-
-         /* If the token starts with quotation mark, note this fact,
-            and squash the quotation character */
-         if (*p == '"'){
-           quote = 1;
-           shift_left (p);
-         }
-
-         tok = p;
-
-         /* Find the end of the token, handling quotes and escapes.  */
-         while (*p && (quote ? *p != '"' : !ISSPACE (*p))){
-           if (*p == '\\')
-             shift_left (p);
-           p ++;
-         }
-
-         /* If field was quoted, squash the trailing quotation mark
-            and reset quote flag.  */
-         if (quote)
-           {
-             shift_left (p);
-             quote = 0;
-           }
-
-         /* Null-terminate the token, if it isn't already.  */
-         if (*p)
-           *p ++ = '\0';
-
-         switch (last_token)
-           {
-           case tok_login:
-             if (current)
-               current->acc = xstrdup (tok);
-             else
-               premature_token = "login";
-             break;
-
-           case tok_machine:
-             /* Start a new machine entry.  */
-             maybe_add_to_list (&current, &retval);
-             current->host = xstrdup (tok);
-             break;
-
-           case tok_password:
-             if (current)
-               current->passwd = xstrdup (tok);
-             else
-               premature_token = "password";
-             break;
-
-             /* We handle most of tok_macdef above.  */
-           case tok_macdef:
-             if (!current)
-               premature_token = "macdef";
-             break;
-
-             /* We don't handle the account keyword at all.  */
-           case tok_account:
-             if (!current)
-               premature_token = "account";
-             break;
-
-             /* We handle tok_nothing below this switch.  */
-           case tok_nothing:
-             break;
-           }
-
-         if (premature_token)
-           {
-             fprintf (stderr, _("\
+        {
+          /* Skip any whitespace.  */
+          while (*p && c_isspace (*p))
+            p ++;
+
+          /* Discard end-of-line comments; also, stop processing if
+             the above `while' merely skipped trailing whitespace.  */
+          if (*p == '#' || !*p)
+            break;
+
+          /* If the token starts with quotation mark, note this fact,
+             and squash the quotation character */
+          if (*p == '"'){
+            quote = 1;
+            shift_left (p);
+          }
+
+          tok = p;
+
+          /* Find the end of the token, handling quotes and escapes.  */
+          while (*p && (quote ? *p != '"' : !c_isspace (*p))){
+            if (*p == '\\')
+              shift_left (p);
+            p ++;
+          }
+
+          /* If field was quoted, squash the trailing quotation mark
+             and reset quote flag.  */
+          if (quote)
+            {
+              shift_left (p);
+              quote = 0;
+            }
+
+          /* Null-terminate the token, if it isn't already.  */
+          if (*p)
+            *p ++ = '\0';
+
+          switch (last_token)
+            {
+            case tok_login:
+              if (current)
+                current->acc = xstrdup (tok);
+              else
+                premature_token = "login";
+              break;
+
+            case tok_machine:
+              /* Start a new machine entry.  */
+              maybe_add_to_list (&current, &retval);
+              current->host = xstrdup (tok);
+              break;
+
+            case tok_password:
+              if (current)
+                current->passwd = xstrdup (tok);
+              else
+                premature_token = "password";
+              break;
+
+              /* We handle most of tok_macdef above.  */
+            case tok_macdef:
+              if (!current)
+                premature_token = "macdef";
+              break;
+
+              /* We don't handle the account keyword at all.  */
+            case tok_account:
+              if (!current)
+                premature_token = "account";
+              break;
+
+              /* We handle tok_nothing below this switch.  */
+            case tok_nothing:
+              break;
+            }
+
+          if (premature_token)
+            {
+              fprintf (stderr, _("\
 %s: %s:%d: warning: \"%s\" token appears before any machine name\n"),
-                      exec_name, path, ln, premature_token);
-             premature_token = NULL;
-           }
-
-         if (last_token != tok_nothing)
-           /* We got a value, so reset the token state.  */
-           last_token = tok_nothing;
-         else
-           {
-             /* Fetch the next token.  */
-             if (!strcmp (tok, "account"))
-               last_token = tok_account;
-             else if (!strcmp (tok, "default"))
-               {
-                 maybe_add_to_list (&current, &retval);
-               }
-             else if (!strcmp (tok, "login"))
-               last_token = tok_login;
-
-             else if (!strcmp (tok, "macdef"))
-               last_token = tok_macdef;
-
-             else if (!strcmp (tok, "machine"))
-               last_token = tok_machine;
-
-             else if (!strcmp (tok, "password"))
-               last_token = tok_password;
-
-             else
-               fprintf (stderr, _("%s: %s:%d: unknown token \"%s\"\n"),
-                        exec_name, path, ln, tok);
-           }
-       }
+                       exec_name, path, ln, premature_token);
+              premature_token = NULL;
+            }
+
+          if (last_token != tok_nothing)
+            /* We got a value, so reset the token state.  */
+            last_token = tok_nothing;
+          else
+            {
+              /* Fetch the next token.  */
+              if (!strcmp (tok, "account"))
+                last_token = tok_account;
+              else if (!strcmp (tok, "default"))
+                {
+                  maybe_add_to_list (&current, &retval);
+                }
+              else if (!strcmp (tok, "login"))
+                last_token = tok_login;
+
+              else if (!strcmp (tok, "macdef"))
+                last_token = tok_macdef;
+
+              else if (!strcmp (tok, "machine"))
+                last_token = tok_machine;
+
+              else if (!strcmp (tok, "password"))
+                last_token = tok_password;
+
+              else
+                fprintf (stderr, _("%s: %s:%d: unknown token \"%s\"\n"),
+                         exec_name, path, ln, tok);
+            }
+        }
 
       xfree (line);
     }
@@ -479,7 +476,7 @@ main (int argc, char **argv)
   if (stat (file, &sb))
     {
       fprintf (stderr, _("%s: cannot stat %s: %s\n"), argv[0], file,
-              strerror (errno));
+               strerror (errno));
       exit (1);
     }
 
@@ -489,37 +486,37 @@ main (int argc, char **argv)
     {
       /* Skip if we have a target and this isn't it.  */
       if (target && a->host && strcmp (target, a->host))
-       {
-         a = a->next;
-         continue;
-       }
+        {
+          a = a->next;
+          continue;
+        }
 
       if (!target)
-       {
-         /* Print the host name if we have no target.  */
-         if (a->host)
-           fputs (a->host, stdout);
-         else
-           fputs ("DEFAULT", stdout);
+        {
+          /* Print the host name if we have no target.  */
+          if (a->host)
+            fputs (a->host, stdout);
+          else
+            fputs ("DEFAULT", stdout);
 
-         fputc (' ', stdout);
-       }
+          fputc (' ', stdout);
+        }
 
       /* Print the account name.  */
       fputs (a->acc, stdout);
 
       if (a->passwd)
-       {
-         /* Print the password, if there is any.  */
-         fputc (' ', stdout);
-         fputs (a->passwd, stdout);
-       }
+        {
+          /* Print the password, if there is any.  */
+          fputc (' ', stdout);
+          fputs (a->passwd, stdout);
+        }
 
       fputc ('\n', stdout);
 
       /* Exit if we found the target.  */
       if (target)
-       exit (0);
+        exit (0);
       a = a->next;
     }
 
index 8e352cc25f4c43cc267f4daad3c02ace8a486e3e..35a145f7810ac6d6aa11915ab8e3a20e6b106ed9 100644 (file)
@@ -1,11 +1,11 @@
 /* Declarations for netrc.c
-   Copyright (C) 1996, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1996, 1997, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef NETRC_H
 #define NETRC_H
index 2073d3ae36caf6ba1a933366adc221e7843bb68f..c33b4ad664b084453289d90138863e01456815ea 100644 (file)
@@ -1,12 +1,13 @@
 /* SSL support via OpenSSL library.
-   Copyright (C) 2000-2006 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
    Originally contributed by Christian Fraenkel.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -15,20 +16,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <assert.h>
 #include <errno.h>
@@ -42,7 +43,6 @@ so, delete this exception statement from your version.  */
 #include <openssl/err.h>
 #include <openssl/rand.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "connect.h"
 #include "url.h"
@@ -114,8 +114,8 @@ init_prng (void)
 
     while (RAND_status () == 0 && maxrand-- > 0)
       {
-       unsigned char rnd = random_number (256);
-       RAND_seed (&rnd, sizeof (rnd));
+        unsigned char rnd = random_number (256);
+        RAND_seed (&rnd, sizeof (rnd));
       }
   }
 #endif
@@ -170,7 +170,7 @@ ssl_init ()
   if (RAND_status () != 1)
     {
       logprintf (LOG_NOTQUIET,
-                _("Could not seed PRNG; consider using --random-file.\n"));
+                 _("Could not seed PRNG; consider using --random-file.\n"));
       goto error;
     }
 
@@ -212,13 +212,13 @@ ssl_init ()
 
   if (opt.cert_file)
     if (SSL_CTX_use_certificate_file (ssl_ctx, opt.cert_file,
-                                     key_type_to_ssl_type (opt.cert_type))
-       != 1)
+                                      key_type_to_ssl_type (opt.cert_type))
+        != 1)
       goto error;
   if (opt.private_key)
     if (SSL_CTX_use_PrivateKey_file (ssl_ctx, opt.private_key,
-                                    key_type_to_ssl_type (opt.private_key_type))
-       != 1)
+                                     key_type_to_ssl_type (opt.private_key_type))
+        != 1)
       goto error;
 
   /* Since fd_write unconditionally assumes partial writes (and
@@ -239,8 +239,8 @@ ssl_init ()
 }
 
 struct openssl_transport_context {
-  SSL *conn;                   /* SSL connection handle */
-  char *last_error;            /* last error printed with openssl_errstr */
+  SSL *conn;                    /* SSL connection handle */
+  char *last_error;             /* last error printed with openssl_errstr */
 };
 
 static int
@@ -252,8 +252,8 @@ openssl_read (int fd, char *buf, int bufsize, void *arg)
   do
     ret = SSL_read (conn, buf, bufsize);
   while (ret == -1
-        && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
-        && errno == EINTR);
+         && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
+         && errno == EINTR);
   return ret;
 }
 
@@ -266,8 +266,8 @@ openssl_write (int fd, char *buf, int bufsize, void *arg)
   do
     ret = SSL_write (conn, buf, bufsize);
   while (ret == -1
-        && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
-        && errno == EINTR);
+         && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
+         && errno == EINTR);
   return ret;
 }
 
@@ -292,8 +292,8 @@ openssl_peek (int fd, char *buf, int bufsize, void *arg)
   do
     ret = SSL_peek (conn, buf, bufsize);
   while (ret == -1
-        && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
-        && errno == EINTR);
+         && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
+         && errno == EINTR);
   return ret;
 }
 
@@ -324,7 +324,7 @@ openssl_errstr (int fd, void *arg)
       int len = strlen (str);
 
       /* Allocate space for the existing message, plus two more chars
-        for the "; " separator and one for the terminating \0.  */
+         for the "; " separator and one for the terminating \0.  */
       errmsg = xrealloc (errmsg, msglen + len + 2 + 1);
       memcpy (errmsg + msglen, str, len);
       msglen += len;
@@ -332,7 +332,7 @@ openssl_errstr (int fd, void *arg)
       /* Get next error and bail out if there are no more. */
       errcode = ERR_get_error ();
       if (errcode == 0)
-       break;
+        break;
 
       errmsg[msglen++] = ';';
       errmsg[msglen++] = ' ';
@@ -357,7 +357,7 @@ openssl_close (int fd, void *arg)
   xfree_null (ctx->last_error);
   xfree (ctx);
 
-#ifdef WINDOWS
+#if defined(WINDOWS) || defined(MSDOS)
   closesocket (fd);
 #else
   close (fd);
@@ -407,7 +407,7 @@ ssl_connect (int fd)
      functions are used for reading, writing, and polling.  */
   fd_register_transport (fd, &openssl_transport, ctx);
   DEBUGP (("Handshake successful; connected socket %d to SSL handle 0x%0*lx\n",
-          fd, PTR_FORMAT (conn)));
+           fd, PTR_FORMAT (conn)));
   return true;
 
  error:
@@ -418,7 +418,7 @@ ssl_connect (int fd)
   return false;
 }
 
-#define ASTERISK_EXCLUDES_DOT  /* mandated by rfc2818 */
+#define ASTERISK_EXCLUDES_DOT   /* mandated by rfc2818 */
 
 /* Return true is STRING (case-insensitively) matches PATTERN, false
    otherwise.  The recognized wildcard character is "*", which matches
@@ -439,24 +439,24 @@ pattern_match (const char *pattern, const char *string)
 {
   const char *p = pattern, *n = string;
   char c;
-  for (; (c = TOLOWER (*p++)) != '\0'; n++)
+  for (; (c = c_tolower (*p++)) != '\0'; n++)
     if (c == '*')
       {
-       for (c = TOLOWER (*p); c == '*'; c = TOLOWER (*++p))
-         ;
-       for (; *n != '\0'; n++)
-         if (TOLOWER (*n) == c && pattern_match (p, n))
-           return true;
+        for (c = c_tolower (*p); c == '*'; c = c_tolower (*++p))
+          ;
+        for (; *n != '\0'; n++)
+          if (c_tolower (*n) == c && pattern_match (p, n))
+            return true;
 #ifdef ASTERISK_EXCLUDES_DOT
-         else if (*n == '.')
-           return false;
+          else if (*n == '.')
+            return false;
 #endif
-       return c == '\0';
+        return c == '\0';
       }
     else
       {
-       if (c != TOLOWER (*n))
-         return false;
+        if (c != c_tolower (*n))
+          return false;
       }
   return *n == '\0';
 }
@@ -495,9 +495,9 @@ ssl_check_certificate (int fd, const char *host)
   if (!cert)
     {
       logprintf (LOG_NOTQUIET, _("%s: No certificate presented by %s.\n"),
-                severity, escnonprint (host));
+                 severity, escnonprint (host));
       success = false;
-      goto no_cert;            /* must bail out since CERT is NULL */
+      goto no_cert;             /* must bail out since CERT is NULL */
     }
 
   IF_DEBUG
@@ -505,7 +505,7 @@ ssl_check_certificate (int fd, const char *host)
       char *subject = X509_NAME_oneline (X509_get_subject_name (cert), 0, 0);
       char *issuer = X509_NAME_oneline (X509_get_issuer_name (cert), 0, 0);
       DEBUGP (("certificate:\n  subject: %s\n  issuer:  %s\n",
-              escnonprint (subject), escnonprint (issuer)));
+               escnonprint (subject), escnonprint (issuer)));
       OPENSSL_free (subject);
       OPENSSL_free (issuer);
     }
@@ -515,35 +515,35 @@ ssl_check_certificate (int fd, const char *host)
     {
       char *issuer = X509_NAME_oneline (X509_get_issuer_name (cert), 0, 0);
       logprintf (LOG_NOTQUIET,
-                _("%s: cannot verify %s's certificate, issued by `%s':\n"),
-                severity, escnonprint (host), escnonprint (issuer));
+                 _("%s: cannot verify %s's certificate, issued by `%s':\n"),
+                 severity, escnonprint (host), escnonprint (issuer));
       /* Try to print more user-friendly (and translated) messages for
-        the frequent verification errors.  */
+         the frequent verification errors.  */
       switch (vresult)
-       {
-       case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:
-         logprintf (LOG_NOTQUIET,
-                    _("  Unable to locally verify the issuer's authority.\n"));
-         break;
-       case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
-       case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
-         logprintf (LOG_NOTQUIET, _("  Self-signed certificate encountered.\n"));
-         break;
-       case X509_V_ERR_CERT_NOT_YET_VALID:
-         logprintf (LOG_NOTQUIET, _("  Issued certificate not yet valid.\n"));
-         break;
-       case X509_V_ERR_CERT_HAS_EXPIRED:
-         logprintf (LOG_NOTQUIET, _("  Issued certificate has expired.\n"));
-         break;
-       default:
-         /* For the less frequent error strings, simply provide the
-            OpenSSL error message.  */
-         logprintf (LOG_NOTQUIET, "  %s\n",
-                    X509_verify_cert_error_string (vresult));
-       }
+        {
+        case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:
+          logprintf (LOG_NOTQUIET,
+                     _("  Unable to locally verify the issuer's authority.\n"));
+          break;
+        case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
+        case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+          logprintf (LOG_NOTQUIET, _("  Self-signed certificate encountered.\n"));
+          break;
+        case X509_V_ERR_CERT_NOT_YET_VALID:
+          logprintf (LOG_NOTQUIET, _("  Issued certificate not yet valid.\n"));
+          break;
+        case X509_V_ERR_CERT_HAS_EXPIRED:
+          logprintf (LOG_NOTQUIET, _("  Issued certificate has expired.\n"));
+          break;
+        default:
+          /* For the less frequent error strings, simply provide the
+             OpenSSL error message.  */
+          logprintf (LOG_NOTQUIET, "  %s\n",
+                     X509_verify_cert_error_string (vresult));
+        }
       success = false;
       /* Fall through, so that the user is warned about *all* issues
-        with the cert (important with --no-check-certificate.)  */
+         with the cert (important with --no-check-certificate.)  */
     }
 
   /* Check that HOST matches the common name in the certificate.
@@ -562,25 +562,25 @@ ssl_check_certificate (int fd, const char *host)
 
   common_name[0] = '\0';
   X509_NAME_get_text_by_NID (X509_get_subject_name (cert),
-                            NID_commonName, common_name, sizeof (common_name));
+                             NID_commonName, common_name, sizeof (common_name));
   if (!pattern_match (common_name, host))
     {
       logprintf (LOG_NOTQUIET, _("\
 %s: certificate common name `%s' doesn't match requested host name `%s'.\n"),
-                severity, escnonprint (common_name), escnonprint (host));
+                 severity, escnonprint (common_name), escnonprint (host));
       success = false;
     }
 
   if (success)
     DEBUGP (("X509 certificate successfully verified and matches host %s\n",
-            escnonprint (host)));
+             escnonprint (host)));
   X509_free (cert);
 
  no_cert:
   if (opt.check_cert && !success)
     logprintf (LOG_NOTQUIET, _("\
 To connect to %s insecurely, use `--no-check-certificate'.\n"),
-              escnonprint (host));
+               escnonprint (host));
 
   /* Allow --no-check-cert to disable certificate checking. */
   return opt.check_cert ? success : true;
index b50d423c21f3599ef0dab4ff5a0cab08a72b7e30..a4fa2f0de8bd43841464c97726f66c438b1df45a 100644 (file)
@@ -1,11 +1,12 @@
 /* struct options.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 struct options
 {
@@ -37,8 +38,10 @@ struct options
   bool background;             /* Whether we should work in background. */
   bool ignore_length;          /* Do we heed content-length at all?  */
   bool recursive;              /* Are we recursive? */
-  bool spanhost;                       /* Do we span across hosts in
+  bool spanhost;               /* Do we span across hosts in
                                   recursion? */
+  int  max_redirect;            /* Maximum number of times we'll allow
+                                   a page to redirect. */
   bool relative_only;          /* Follow only relative links. */
   bool no_parent;              /* Restrict access to the parent
                                   directory.  */
@@ -130,6 +133,10 @@ struct options
   bool debug;                  /* Debugging on/off */
 #endif
 
+#ifdef MSDOS
+  bool wdebug;                  /* Watt-32 tcp/ip debugging on/off */
+#endif
+
   bool timestamping;           /* Whether to use time-stamping. */
 
   bool backup_converted;       /* Do we save pre-converted files as *.orig? */
@@ -227,6 +234,8 @@ struct options
                                   than one type is available */
   
   bool content_disposition;    /* Honor HTTP Content-Disposition header. */
+  bool auth_without_challenge;  /* Issue Basic authentication creds without
+                                   waiting for a challenge. */
 };
 
 extern struct options opt;
index 23e090a01470bd4d1654cd0b8dda6dbe5a155318..9ea74b030386ba9b20b5e5bbaa5b5c9d726ad96e 100644 (file)
@@ -1,11 +1,12 @@
 /* Download progress.
-   Copyright (C) 2001-2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -37,8 +38,10 @@ so, delete this exception statement from your version.  */
 # include <unistd.h>
 #endif
 #include <signal.h>
+#ifdef HAVE_WCHAR_H
+# include <wchar.h>
+#endif
 
-#include "wget.h"
 #include "progress.h"
 #include "utils.h"
 #include "retr.h"
@@ -119,18 +122,18 @@ set_progress_implementation (const char *name)
   for (i = 0; i < countof (implementations); i++, pi++)
     if (!strncmp (pi->name, name, namelen))
       {
-       current_impl = pi;
-       current_impl_locked = 0;
-
-       if (colon)
-         /* We call pi->set_params even if colon is NULL because we
-            want to give the implementation a chance to set up some
-            things it needs to run.  */
-         ++colon;
-
-       if (pi->set_params)
-         pi->set_params (colon);
-       return;
+        current_impl = pi;
+        current_impl_locked = 0;
+
+        if (colon)
+          /* We call pi->set_params even if colon is NULL because we
+             want to give the implementation a chance to set up some
+             things it needs to run.  */
+          ++colon;
+
+        if (pi->set_params)
+          pi->set_params (colon);
+        return;
       }
   abort ();
 }
@@ -156,7 +159,7 @@ progress_create (wgint initial, wgint total)
   if (output_redirected)
     {
       if (!current_impl_locked)
-       set_progress_implementation (FALLBACK_PROGRESS_IMPLEMENTATION);
+        set_progress_implementation (FALLBACK_PROGRESS_IMPLEMENTATION);
       output_redirected = 0;
     }
 
@@ -195,16 +198,16 @@ progress_finish (void *progress, double dltime)
 /* Dot-printing. */
 
 struct dot_progress {
-  wgint initial_length;                /* how many bytes have been downloaded
-                                  previously. */
-  wgint total_length;          /* expected total byte count when the
-                                  download finishes */
+  wgint initial_length;         /* how many bytes have been downloaded
+                                   previously. */
+  wgint total_length;           /* expected total byte count when the
+                                   download finishes */
 
-  int accumulated;             /* number of bytes accumulated after
-                                  the last printed dot */
+  int accumulated;              /* number of bytes accumulated after
+                                   the last printed dot */
 
-  int rows;                    /* number of rows printed so far */
-  int dots;                    /* number of dots printed in this row */
+  int rows;                     /* number of rows printed so far */
+  int dots;                     /* number of dots printed in this row */
 
   double last_timer_value;
 };
@@ -227,29 +230,29 @@ dot_create (wgint initial, wgint total)
       wgint skipped = dp->initial_length - remainder;
 
       if (skipped)
-       {
-         wgint skipped_k = skipped / 1024; /* skipped amount in K */
-         int skipped_k_len = numdigit (skipped_k);
-         if (skipped_k_len < 6)
-           skipped_k_len = 6;
-
-         /* Align the [ skipping ... ] line with the dots.  To do
-            that, insert the number of spaces equal to the number of
-            digits in the skipped amount in K.  */
-         logprintf (LOG_VERBOSE, _("\n%*s[ skipping %sK ]"),
-                    2 + skipped_k_len, "",
-                    number_to_static_string (skipped_k));
-       }
+        {
+          wgint skipped_k = skipped / 1024; /* skipped amount in K */
+          int skipped_k_len = numdigit (skipped_k);
+          if (skipped_k_len < 6)
+            skipped_k_len = 6;
+
+          /* Align the [ skipping ... ] line with the dots.  To do
+             that, insert the number of spaces equal to the number of
+             digits in the skipped amount in K.  */
+          logprintf (LOG_VERBOSE, _("\n%*s[ skipping %sK ]"),
+                     2 + skipped_k_len, "",
+                     number_to_static_string (skipped_k));
+        }
 
       logprintf (LOG_VERBOSE, "\n%6sK",
-                number_to_static_string (skipped / 1024));
+                 number_to_static_string (skipped / 1024));
       for (; remainder >= dot_bytes; remainder -= dot_bytes)
-       {
-         if (dp->dots % opt.dot_spacing == 0)
-           logputs (LOG_VERBOSE, " ");
-         logputs (LOG_VERBOSE, ",");
-         ++dp->dots;
-       }
+        {
+          if (dp->dots % opt.dot_spacing == 0)
+            logputs (LOG_VERBOSE, " ");
+          logputs (LOG_VERBOSE, ",");
+          ++dp->dots;
+        }
       assert (dp->dots < opt.dots_in_line);
 
       dp->accumulated = remainder;
@@ -285,8 +288,8 @@ print_row_stats (struct dot_progress *dp, double dltime, bool last)
   if (dp->total_length)
     {
       /* Round to floor value to provide gauge how much data *has*
-        been retrieved.  12.8% will round to 12% because the 13% mark
-        has not yet been reached.  100% is only shown when done.  */
+         been retrieved.  12.8% will round to 12% because the 13% mark
+         has not yet been reached.  100% is only shown when done.  */
       int percentage = 100.0 * bytes_displayed / dp->total_length;
       logprintf (LOG_VERBOSE, "%3d%%", percentage);
     }
@@ -306,32 +309,34 @@ print_row_stats (struct dot_progress *dp, double dltime, bool last)
       bytes_this_row -= dp->initial_length % ROW_BYTES;
     rate = calc_rate (bytes_this_row, dltime - dp->last_timer_value, &units);
     logprintf (LOG_VERBOSE, " %4.*f%c",
-              rate >= 99.95 ? 0 : rate >= 9.995 ? 1 : 2,
-              rate, names[units]);
+               rate >= 99.95 ? 0 : rate >= 9.995 ? 1 : 2,
+               rate, names[units]);
     dp->last_timer_value = dltime;
   }
 
   if (!last)
     {
       /* Display ETA based on average speed.  Inspired by Vladi
-        Belperchinov-Shabanski's "wget-new-percentage" patch.  */
+         Belperchinov-Shabanski's "wget-new-percentage" patch.  */
       if (dp->total_length)
-       {
-         wgint bytes_remaining = dp->total_length - bytes_displayed;
-         /* The quantity downloaded in this download run. */
-         wgint bytes_sofar = bytes_displayed - dp->initial_length;
-         int eta = (int) (dltime * bytes_remaining / bytes_sofar + 0.5);
-         logprintf (LOG_VERBOSE, " %s", eta_to_human_short (eta, true));
-       }
+        {
+          wgint bytes_remaining = dp->total_length - bytes_displayed;
+          /* The quantity downloaded in this download run. */
+          wgint bytes_sofar = bytes_displayed - dp->initial_length;
+          double eta = dltime * bytes_remaining / bytes_sofar;
+          if (eta < INT_MAX - 1)
+            logprintf (LOG_VERBOSE, " %s",
+                       eta_to_human_short ((int) (eta + 0.5), true));
+        }
     }
   else
     {
       /* When done, print the total download time */
       if (dltime >= 10)
-       logprintf (LOG_VERBOSE, "=%s",
-                  eta_to_human_short ((int) (dltime + 0.5), true));
+        logprintf (LOG_VERBOSE, "=%s",
+                   eta_to_human_short ((int) (dltime + 0.5), true));
       else
-       logprintf (LOG_VERBOSE, "=%ss", print_decimal (dltime));
+        logprintf (LOG_VERBOSE, "=%ss", print_decimal (dltime));
     }
 }
 
@@ -350,21 +355,21 @@ dot_update (void *progress, wgint howmuch, double dltime)
   for (; dp->accumulated >= dot_bytes; dp->accumulated -= dot_bytes)
     {
       if (dp->dots == 0)
-       logprintf (LOG_VERBOSE, "\n%6sK",
-                  number_to_static_string (dp->rows * ROW_BYTES / 1024));
+        logprintf (LOG_VERBOSE, "\n%6sK",
+                   number_to_static_string (dp->rows * ROW_BYTES / 1024));
 
       if (dp->dots % opt.dot_spacing == 0)
-       logputs (LOG_VERBOSE, " ");
+        logputs (LOG_VERBOSE, " ");
       logputs (LOG_VERBOSE, ".");
 
       ++dp->dots;
       if (dp->dots >= opt.dots_in_line)
-       {
-         ++dp->rows;
-         dp->dots = 0;
+        {
+          ++dp->rows;
+          dp->dots = 0;
 
-         print_row_stats (dp, dltime, false);
-       }
+          print_row_stats (dp, dltime, false);
+        }
     }
 
   log_set_flush (true);
@@ -383,11 +388,11 @@ dot_finish (void *progress, double dltime)
 
   if (dp->dots == 0)
     logprintf (LOG_VERBOSE, "\n%6sK",
-              number_to_static_string (dp->rows * ROW_BYTES / 1024));
+               number_to_static_string (dp->rows * ROW_BYTES / 1024));
   for (i = dp->dots; i < opt.dots_in_line; i++)
     {
       if (i % opt.dot_spacing == 0)
-       logputs (LOG_VERBOSE, " ");
+        logputs (LOG_VERBOSE, " ");
       logputs (LOG_VERBOSE, " ");
     }
 
@@ -416,7 +421,7 @@ dot_set_params (const char *params)
   if (!strcasecmp (params, "default"))
     {
       /* Default style: 1K dots, 10 dots in a cluster, 50 dots in a
-        line.  */
+         line.  */
       opt.dot_bytes = 1024;
       opt.dot_spacing = 10;
       opt.dots_in_line = 50;
@@ -424,7 +429,7 @@ dot_set_params (const char *params)
   else if (!strcasecmp (params, "binary"))
     {
       /* "Binary" retrieval: 8K dots, 16 dots in a cluster, 48 dots
-        (384K) in a line.  */
+         (384K) in a line.  */
       opt.dot_bytes = 8192;
       opt.dot_spacing = 16;
       opt.dots_in_line = 48;
@@ -432,7 +437,7 @@ dot_set_params (const char *params)
   else if (!strcasecmp (params, "mega"))
     {
       /* "Mega" retrieval, for retrieving very long files; each dot is
-        64K, 8 dots in a cluster, 6 clusters (3M) in a line.  */
+         64K, 8 dots in a cluster, 6 clusters (3M) in a line.  */
       opt.dot_bytes = 65536L;
       opt.dot_spacing = 8;
       opt.dots_in_line = 48;
@@ -440,16 +445,16 @@ dot_set_params (const char *params)
   else if (!strcasecmp (params, "giga"))
     {
       /* "Giga" retrieval, for retrieving very very *very* long files;
-        each dot is 1M, 8 dots in a cluster, 4 clusters (32M) in a
-        line.  */
+         each dot is 1M, 8 dots in a cluster, 4 clusters (32M) in a
+         line.  */
       opt.dot_bytes = (1L << 20);
       opt.dot_spacing = 8;
       opt.dots_in_line = 32;
     }
   else
     fprintf (stderr,
-            _("Invalid dot style specification `%s'; leaving unchanged.\n"),
-            params);
+             _("Invalid dot style specification `%s'; leaving unchanged.\n"),
+             params);
 }
 \f
 /* "Thermometer" (bar) progress. */
@@ -492,27 +497,27 @@ static volatile sig_atomic_t received_sigwinch;
 #define ETA_REFRESH_INTERVAL 0.99
 
 struct bar_progress {
-  wgint initial_length;                /* how many bytes have been downloaded
-                                  previously. */
-  wgint total_length;          /* expected total byte count when the
-                                  download finishes */
-  wgint count;                 /* bytes downloaded so far */
-
-  double last_screen_update;   /* time of the last screen update,
-                                  measured since the beginning of
-                                  download. */
-
-  int width;                   /* screen width we're using at the
-                                  time the progress gauge was
-                                  created.  this is different from
-                                  the screen_width global variable in
-                                  that the latter can be changed by a
-                                  signal. */
-  char *buffer;                        /* buffer where the bar "image" is
-                                  stored. */
-  int tick;                    /* counter used for drawing the
-                                  progress bar where the total size
-                                  is not known. */
+  wgint initial_length;         /* how many bytes have been downloaded
+                                   previously. */
+  wgint total_length;           /* expected total byte count when the
+                                   download finishes */
+  wgint count;                  /* bytes downloaded so far */
+
+  double last_screen_update;    /* time of the last screen update,
+                                   measured since the beginning of
+                                   download. */
+
+  int width;                    /* screen width we're using at the
+                                   time the progress gauge was
+                                   created.  this is different from
+                                   the screen_width global variable in
+                                   that the latter can be changed by a
+                                   signal. */
+  char *buffer;                 /* buffer where the bar "image" is
+                                   stored. */
+  int tick;                     /* counter used for drawing the
+                                   progress bar where the total size
+                                   is not known. */
 
   /* The following variables (kept in a struct for namespace reasons)
      keep track of recent download speeds.  See bar_update() for
@@ -528,19 +533,19 @@ struct bar_progress {
     wgint total_bytes;
   } hist;
 
-  double recent_start;         /* timestamp of beginning of current
-                                  position. */
-  wgint recent_bytes;          /* bytes downloaded so far. */
+  double recent_start;          /* timestamp of beginning of current
+                                   position. */
+  wgint recent_bytes;           /* bytes downloaded so far. */
 
-  bool stalled;                        /* set when no data arrives for longer
-                                  than STALL_START_TIME, then reset
-                                  when new data arrives. */
+  bool stalled;                 /* set when no data arrives for longer
+                                   than STALL_START_TIME, then reset
+                                   when new data arrives. */
 
   /* create_image() uses these to make sure that ETA information
      doesn't flicker. */
-  double last_eta_time;                /* time of the last update to download
-                                  speed and ETA, measured since the
-                                  beginning of download. */
+  double last_eta_time;         /* time of the last update to download
+                                   speed and ETA, measured since the
+                                   beginning of download. */
   int last_eta_value;
 };
 
@@ -566,16 +571,17 @@ bar_create (wgint initial, wgint total)
     {
       screen_width = determine_screen_width ();
       if (!screen_width)
-       screen_width = DEFAULT_SCREEN_WIDTH;
+        screen_width = DEFAULT_SCREEN_WIDTH;
       else if (screen_width < MINIMUM_SCREEN_WIDTH)
-       screen_width = MINIMUM_SCREEN_WIDTH;
+        screen_width = MINIMUM_SCREEN_WIDTH;
       received_sigwinch = 0;
     }
 
   /* - 1 because we don't want to use the last screen column. */
   bp->width = screen_width - 1;
-  /* + 1 for the terminating zero. */
-  bp->buffer = xmalloc (bp->width + 1);
+  /* + enough space for the terminating zero, and hopefully enough room
+   * for multibyte characters. */
+  bp->buffer = xmalloc (bp->width + 100);
 
   logputs (LOG_VERBOSE, "\n");
 
@@ -612,15 +618,15 @@ bar_update (void *progress, wgint howmuch, double dltime)
       int old_width = screen_width;
       screen_width = determine_screen_width ();
       if (!screen_width)
-       screen_width = DEFAULT_SCREEN_WIDTH;
+        screen_width = DEFAULT_SCREEN_WIDTH;
       else if (screen_width < MINIMUM_SCREEN_WIDTH)
-       screen_width = MINIMUM_SCREEN_WIDTH;
+        screen_width = MINIMUM_SCREEN_WIDTH;
       if (screen_width != old_width)
-       {
-         bp->width = screen_width - 1;
-         bp->buffer = xrealloc (bp->buffer, bp->width + 1);
-         force_screen_update = true;
-       }
+        {
+          bp->width = screen_width - 1;
+          bp->buffer = xrealloc (bp->buffer, bp->width + 100);
+          force_screen_update = true;
+        }
       received_sigwinch = 0;
     }
 
@@ -688,18 +694,18 @@ update_speed_ring (struct bar_progress *bp, wgint howmuch, double dltime)
   if (howmuch == 0)
     {
       /* If we're not downloading anything, we might be stalling,
-        i.e. not downloading anything for an extended period of time.
-        Since 0-reads do not enter the history ring, recent_age
-        effectively measures the time since last read.  */
+         i.e. not downloading anything for an extended period of time.
+         Since 0-reads do not enter the history ring, recent_age
+         effectively measures the time since last read.  */
       if (recent_age >= STALL_START_TIME)
-       {
-         /* If we're stalling, reset the ring contents because it's
-            stale and because it will make bar_update stop printing
-            the (bogus) current bandwidth.  */
-         bp->stalled = true;
-         xzero (*hist);
-         bp->recent_bytes = 0;
-       }
+        {
+          /* If we're stalling, reset the ring contents because it's
+             stale and because it will make bar_update stop printing
+             the (bogus) current bandwidth.  */
+          bp->stalled = true;
+          xzero (*hist);
+          bp->recent_bytes = 0;
+        }
       return;
     }
 
@@ -710,10 +716,10 @@ update_speed_ring (struct bar_progress *bp, wgint howmuch, double dltime)
     {
       bp->stalled = false;
       /* "recent_age" includes the the entired stalled period, which
-        could be very long.  Don't update the speed ring with that
-        value because the current bandwidth would start too small.
-        Start with an arbitrary (but more reasonable) time value and
-        let it level out.  */
+         could be very long.  Don't update the speed ring with that
+         value because the current bandwidth would start too small.
+         Start with an arbitrary (but more reasonable) time value and
+         let it level out.  */
       recent_age = 1;
     }
 
@@ -746,8 +752,8 @@ update_speed_ring (struct bar_progress *bp, wgint howmuch, double dltime)
     double sumt = 0, sumb = 0;
     for (i = 0; i < DLSPEED_HISTORY_SIZE; i++)
       {
-       sumt += hist->times[i];
-       sumb += hist->bytes[i];
+        sumt += hist->times[i];
+        sumb += hist->bytes[i];
       }
     assert (sumb == hist->total_bytes);
     /* We can't use assert(sumt==hist->total_time) because some
@@ -761,9 +767,74 @@ update_speed_ring (struct bar_progress *bp, wgint howmuch, double dltime)
 #endif
 }
 
-#define APPEND_LITERAL(s) do {                 \
-  memcpy (p, s, sizeof (s) - 1);               \
-  p += sizeof (s) - 1;                         \
+#if USE_NLS_PROGRESS_BAR
+int
+count_cols (const char *mbs)
+{
+  wchar_t wc;
+  int     bytes;
+  int     remaining = strlen(mbs);
+  int     cols = 0;
+  int     wccols;
+
+  while (*mbs != '\0')
+    {
+      bytes = mbtowc (&wc, mbs, remaining);
+      assert (bytes != 0);  /* Only happens when *mbs == '\0' */
+      if (bytes == -1)
+        {
+          /* Invalid sequence. We'll just have to fudge it. */
+          return cols + remaining;
+        }
+      mbs += bytes;
+      remaining -= bytes;
+      wccols = wcwidth(wc);
+      cols += (wccols == -1? 1 : wccols);
+    }
+  return cols;
+}
+#else
+# define count_cols(mbs) ((int)(strlen(mbs)))
+#endif
+
+/* Translation note: "ETA" is English-centric, but this must
+   be short, ideally 3 chars.  Abbreviate if necessary.  */
+static const char eta_str[] = N_("  eta %s");
+static const char *eta_trans;
+static int bytes_cols_diff;
+
+const char *
+get_eta (void)
+{
+  if (eta_trans == NULL)
+    {
+      int nbytes;
+      int ncols;
+
+#if USE_NLS_PROGRESS_BAR
+      eta_trans = _(eta_str);
+#else
+      eta_trans = eta_str;
+#endif
+
+      /* Determine the number of bytes used in the translated string,
+       * versus the number of columns used. This is to figure out how
+       * many spaces to add at the end to pad to the full line width.
+       *
+       * We'll store the difference between the number of bytes and
+       * number of columns, so that removing this from the string length
+       * will reveal the total number of columns in the progress bar. */
+      nbytes = strlen (eta_trans);
+      ncols = count_cols (eta_trans);
+      bytes_cols_diff = nbytes - ncols;
+    }
+
+  return eta_trans;
+}
+
+#define APPEND_LITERAL(s) do {                  \
+  memcpy (p, s, sizeof (s) - 1);                \
+  p += sizeof (s) - 1;                          \
 } while (0)
 
 /* Use move_to_end (s) to get S to point the end of the string (the
@@ -782,7 +853,10 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
   wgint size = bp->initial_length + bp->count;
 
   const char *size_grouped = with_thousand_seps (size);
-  int size_grouped_len = strlen (size_grouped);
+  int size_grouped_len = count_cols (size_grouped);
+  /* Difference between num cols and num bytes: */
+  int size_grouped_diff = strlen (size_grouped) - size_grouped_len;
+  int size_grouped_pad; /* Used to pad the field width for size_grouped. */
 
   struct bar_progress_hist *hist = &bp->hist;
 
@@ -800,12 +874,12 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
      "[]"              - progress bar decorations - 2 chars
      " nnn,nnn,nnn"    - downloaded bytes         - 12 chars or very rarely more
      " 12.5K/s"        - download rate             - 8 chars
-     "  eta 36m 51s"   - ETA                      - 13 chars
+     "  eta 36m 51s"   - ETA                      - 14 chars
 
      "=====>..."       - progress bar             - the rest
   */
   int dlbytes_size = 1 + MAX (size_grouped_len, 11);
-  int progress_size = bp->width - (4 + 2 + dlbytes_size + 8 + 13);
+  int progress_size = bp->width - (4 + 2 + dlbytes_size + 8 + 14);
 
   if (progress_size < 5)
     progress_size = 0;
@@ -817,9 +891,9 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
       assert (percentage <= 100);
 
       if (percentage < 100)
-       sprintf (p, "%2d%% ", percentage);
+        sprintf (p, "%2d%% ", percentage);
       else
-       strcpy (p, "100%");
+        strcpy (p, "100%");
       p += 4;
     }
   else
@@ -844,51 +918,60 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
       begin = p;
 
       /* Print the initial portion of the download with '+' chars, the
-        rest with '=' and one '>'.  */
+         rest with '=' and one '>'.  */
       for (i = 0; i < insz; i++)
-       *p++ = '+';
+        *p++ = '+';
       dlsz -= insz;
       if (dlsz > 0)
-       {
-         for (i = 0; i < dlsz - 1; i++)
-           *p++ = '=';
-         *p++ = '>';
-       }
+        {
+          for (i = 0; i < dlsz - 1; i++)
+            *p++ = '=';
+          *p++ = '>';
+        }
 
       while (p - begin < progress_size)
-       *p++ = ' ';
+        *p++ = ' ';
       *p++ = ']';
     }
   else if (progress_size)
     {
       /* If we can't draw a real progress bar, then at least show
-        *something* to the user.  */
+         *something* to the user.  */
       int ind = bp->tick % (progress_size * 2 - 6);
       int i, pos;
 
       /* Make the star move in two directions. */
       if (ind < progress_size - 2)
-       pos = ind + 1;
+        pos = ind + 1;
       else
-       pos = progress_size - (ind - progress_size + 5);
+        pos = progress_size - (ind - progress_size + 5);
 
       *p++ = '[';
       for (i = 0; i < progress_size; i++)
-       {
-         if      (i == pos - 1) *p++ = '<';
-         else if (i == pos    ) *p++ = '=';
-         else if (i == pos + 1) *p++ = '>';
-         else
-           *p++ = ' ';
-       }
+        {
+          if      (i == pos - 1) *p++ = '<';
+          else if (i == pos    ) *p++ = '=';
+          else if (i == pos + 1) *p++ = '>';
+          else
+            *p++ = ' ';
+        }
       *p++ = ']';
 
       ++bp->tick;
     }
 
   /* " 234,567,890" */
-  sprintf (p, " %-11s", size_grouped);
+  sprintf (p, " %s", size_grouped);
   move_to_end (p);
+  /* Pad with spaces to 11 chars for the size_grouped field;
+   * couldn't use the field width specifier in sprintf, because
+   * it counts in bytes, not characters. */
+  for (size_grouped_pad = 11 - size_grouped_len;
+       size_grouped_pad > 0;
+       --size_grouped_pad)
+    {
+      *p++ = ' ';
+    }
 
   /* " 12.52K/s" */
   if (hist->total_time > 0 && hist->total_bytes)
@@ -896,12 +979,12 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
       static const char *short_units[] = { "B/s", "K/s", "M/s", "G/s" };
       int units = 0;
       /* Calculate the download speed using the history ring and
-        recent data that hasn't made it to the ring yet.  */
+         recent data that hasn't made it to the ring yet.  */
       wgint dlquant = hist->total_bytes + bp->recent_bytes;
       double dltime = hist->total_time + (dl_total_time - bp->recent_start);
       double dlspeed = calc_rate (dlquant, dltime, &units);
       sprintf (p, " %4.*f%s", dlspeed >= 99.95 ? 0 : dlspeed >= 9.995 ? 1 : 2,
-              dlspeed, short_units[units]);
+               dlspeed, short_units[units]);
       move_to_end (p);
     }
   else
@@ -910,61 +993,61 @@ create_image (struct bar_progress *bp, double dl_total_time, bool done)
   if (!done)
     {
       /* "  eta ..m ..s"; wait for three seconds before displaying the ETA.
-        That's because the ETA value needs a while to become
-        reliable.  */
+         That's because the ETA value needs a while to become
+         reliable.  */
       if (bp->total_length > 0 && bp->count > 0 && dl_total_time > 3)
-       {
-         int eta;
-
-         /* Don't change the value of ETA more than approximately once
-            per second; doing so would cause flashing without providing
-            any value to the user. */
-         if (bp->total_length != size
-             && bp->last_eta_value != 0
-             && dl_total_time - bp->last_eta_time < ETA_REFRESH_INTERVAL)
-           eta = bp->last_eta_value;
-         else
-           {
-             /* Calculate ETA using the average download speed to predict
-                the future speed.  If you want to use a speed averaged
-                over a more recent period, replace dl_total_time with
-                hist->total_time and bp->count with hist->total_bytes.
-                I found that doing that results in a very jerky and
-                ultimately unreliable ETA.  */
-             wgint bytes_remaining = bp->total_length - size;
-             eta = (int) (dl_total_time * bytes_remaining / bp->count + 0.5);
-             bp->last_eta_value = eta;
-             bp->last_eta_time = dl_total_time;
-           }
-
-         /* Translation note: "ETA" is English-centric, but this must
-            be short, ideally 3 chars.  Abbreviate if necessary.  */
-         sprintf (p, _("  eta %s"), eta_to_human_short (eta, false));
-         move_to_end (p);
-       }
+        {
+          int eta;
+
+          /* Don't change the value of ETA more than approximately once
+             per second; doing so would cause flashing without providing
+             any value to the user. */
+          if (bp->total_length != size
+              && bp->last_eta_value != 0
+              && dl_total_time - bp->last_eta_time < ETA_REFRESH_INTERVAL)
+            eta = bp->last_eta_value;
+          else
+            {
+              /* Calculate ETA using the average download speed to predict
+                 the future speed.  If you want to use a speed averaged
+                 over a more recent period, replace dl_total_time with
+                 hist->total_time and bp->count with hist->total_bytes.
+                 I found that doing that results in a very jerky and
+                 ultimately unreliable ETA.  */
+              wgint bytes_remaining = bp->total_length - size;
+              double eta_ = dl_total_time * bytes_remaining / bp->count;
+              if (eta_ >= INT_MAX - 1)
+                goto skip_eta;
+              eta = (int) (eta_ + 0.5);
+              bp->last_eta_value = eta;
+              bp->last_eta_time = dl_total_time;
+            }
+
+          sprintf (p, get_eta(), eta_to_human_short (eta, false));
+          move_to_end (p);
+        }
       else if (bp->total_length > 0)
-       {
-         APPEND_LITERAL ("             ");
-       }
+        {
+        skip_eta:
+          APPEND_LITERAL ("             ");
+        }
     }
   else
     {
       /* When the download is done, print the elapsed time.  */
 
       /* Note to translators: this should not take up more room than
-        available here.  Abbreviate if necessary.  */
+         available here.  Abbreviate if necessary.  */
       strcpy (p, _("   in "));
-      move_to_end (p);         /* not p+=6, think translations! */
+      move_to_end (p);          /* not p+=6, think translations! */
       if (dl_total_time >= 10)
-       strcpy (p, eta_to_human_short ((int) (dl_total_time + 0.5), false));
+        strcpy (p, eta_to_human_short ((int) (dl_total_time + 0.5), false));
       else
-       sprintf (p, "%ss", print_decimal (dl_total_time));
+        sprintf (p, "%ss", print_decimal (dl_total_time));
       move_to_end (p);
     }
 
-  assert (p - bp->buffer <= bp->width);
-
-  while (p < bp->buffer + bp->width)
+  while (p - bp->buffer - bytes_cols_diff - size_grouped_diff < bp->width)
     *p++ = ' ';
   *p = '\0';
 }
@@ -993,24 +1076,24 @@ bar_set_params (const char *params)
   if ((opt.lfilename
 #ifdef HAVE_ISATTY
        /* The progress bar doesn't make sense if the output is not a
-         TTY -- when logging to file, it is better to review the
-         dots.  */
+          TTY -- when logging to file, it is better to review the
+          dots.  */
        || !isatty (fileno (stderr))
 #endif
        /* Normally we don't depend on terminal type because the
-         progress bar only uses ^M to move the cursor to the
-         beginning of line, which works even on dumb terminals.  But
-         Jamie Zawinski reports that ^M and ^H tricks don't work in
-         Emacs shell buffers, and only make a mess.  */
+          progress bar only uses ^M to move the cursor to the
+          beginning of line, which works even on dumb terminals.  But
+          Jamie Zawinski reports that ^M and ^H tricks don't work in
+          Emacs shell buffers, and only make a mess.  */
        || (term && 0 == strcmp (term, "emacs"))
        )
       && !current_impl_locked)
     {
       /* We're not printing to a TTY, so revert to the fallback
-        display.  #### We're recursively calling
-        set_progress_implementation here, which is slightly kludgy.
-        It would be nicer if we provided that function a return value
-        indicating a failure of some sort.  */
+         display.  #### We're recursively calling
+         set_progress_implementation here, which is slightly kludgy.
+         It would be nicer if we provided that function a return value
+         indicating a failure of some sort.  */
       set_progress_implementation (FALLBACK_PROGRESS_IMPLEMENTATION);
       return;
     }
@@ -1044,7 +1127,7 @@ progress_handle_sigwinch (int sig)
 static const char *
 eta_to_human_short (int secs, bool condensed)
 {
-  static char buf[10];         /* 8 should be enough, but just in case */
+  static char buf[10];          /* 8 should be enough, but just in case */
   static int last = -1;
   const char *space = condensed ? "" : " ";
 
index d663d8f6cbf8359bda680b05f69f544c9082cec4..ec94c1d8e4e11b362e7c213025d4106b3349bee5 100644 (file)
@@ -1,11 +1,12 @@
 /* Download progress.
-   Copyright (C) 2001-2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 \(at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef PROGRESS_H
 #define PROGRESS_H
index 6e50c586ad1e2f962f653671530e138aba92fef6..9edddd82cb572442c55124b289f83f98348d4c07 100644 (file)
@@ -1,11 +1,11 @@
 /* Portable timers.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* This file implements "portable timers" (ptimers), objects that
    measure elapsed time using the primitives most appropriate for the
@@ -34,7 +34,7 @@ so, delete this exception statement from your version.  */
      ptimer_new     -- creates a timer.
      ptimer_reset   -- resets the timer's elapsed time to zero.
      ptimer_measure -- measure and return the time elapsed since
-                      creation or last reset.
+                       creation or last reset.
      ptimer_read    -- reads the last measured elapsed value.
      ptimer_destroy -- destroy the timer.
      ptimer_granularity -- returns the approximate granularity of the timers.
@@ -50,7 +50,7 @@ so, delete this exception statement from your version.  */
      double secs = ptimer_measure ();
      printf ("The loop took %.2fs\n", secs);  */
 
-#include <config.h>
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -71,7 +71,6 @@ so, delete this exception statement from your version.  */
 # include <windows.h>
 #endif
 
-#include "wget.h"
 #include "ptimer.h"
 
 /* Depending on the OS, one and only one of PTIMER_POSIX,
@@ -82,11 +81,11 @@ so, delete this exception statement from your version.  */
 #undef PTIMER_WINDOWS
 
 #if defined(WINDOWS) || defined(__CYGWIN__)
-# define PTIMER_WINDOWS                /* use Windows timers */
+# define PTIMER_WINDOWS         /* use Windows timers */
 #elif _POSIX_TIMERS - 0 > 0
-# define PTIMER_POSIX          /* use POSIX timers (clock_gettime) */
+# define PTIMER_POSIX           /* use POSIX timers (clock_gettime) */
 #else
-# define PTIMER_GETTIMEOFDAY   /* use gettimeofday */
+# define PTIMER_GETTIMEOFDAY    /* use gettimeofday */
 #endif
 
 #ifdef PTIMER_POSIX
@@ -143,23 +142,23 @@ posix_init (void)
     {
       struct timespec r;
       if (clocks[i].sysconf_name != NO_SYSCONF_CHECK)
-       if (sysconf (clocks[i].sysconf_name) < 0)
-         continue;             /* sysconf claims this clock is unavailable */
+        if (sysconf (clocks[i].sysconf_name) < 0)
+          continue;             /* sysconf claims this clock is unavailable */
       if (clock_getres (clocks[i].id, &r) < 0)
-       continue;               /* clock_getres doesn't work for this clock */
+        continue;               /* clock_getres doesn't work for this clock */
       posix_clock_id = clocks[i].id;
       posix_clock_resolution = (double) r.tv_sec + r.tv_nsec / 1e9;
       /* Guard against nonsense returned by a broken clock_getres.  */
       if (posix_clock_resolution == 0)
-       posix_clock_resolution = 1e-3;
+        posix_clock_resolution = 1e-3;
       break;
     }
   if (i == countof (clocks))
     {
       /* If no clock was found, it means that clock_getres failed for
-        the realtime clock.  */
+         the realtime clock.  */
       logprintf (LOG_NOTQUIET, _("Cannot get REALTIME clock frequency: %s\n"),
-                strerror (errno));
+                 strerror (errno));
       /* Use CLOCK_REALTIME, but invent a plausible resolution. */
       posix_clock_id = CLOCK_REALTIME;
       posix_clock_resolution = 1e-3;
@@ -176,7 +175,7 @@ static inline double
 posix_diff (ptimer_system_time *pst1, ptimer_system_time *pst2)
 {
   return ((pst1->tv_sec - pst2->tv_sec)
-         + (pst1->tv_nsec - pst2->tv_nsec) / 1e9);
+          + (pst1->tv_nsec - pst2->tv_nsec) / 1e9);
 }
 
 static inline double
@@ -184,7 +183,7 @@ posix_resolution (void)
 {
   return posix_clock_resolution;
 }
-#endif /* PTIMER_POSIX */
+#endif  /* PTIMER_POSIX */
 
 #ifdef PTIMER_GETTIMEOFDAY
 /* Elapsed time measurement using gettimeofday: system time is held in
@@ -209,7 +208,7 @@ static inline double
 gettimeofday_diff (ptimer_system_time *pst1, ptimer_system_time *pst2)
 {
   return ((pst1->tv_sec - pst2->tv_sec)
-         + (pst1->tv_usec - pst2->tv_usec) / 1e6);
+          + (pst1->tv_usec - pst2->tv_usec) / 1e6);
 }
 
 static inline double
@@ -220,7 +219,7 @@ gettimeofday_resolution (void)
      than 1ms.  Assume 100 usecs.  */
   return 0.1;
 }
-#endif /* PTIMER_GETTIMEOFDAY */
+#endif  /* PTIMER_GETTIMEOFDAY */
 
 #ifdef PTIMER_WINDOWS
 /* Elapsed time measurement on Windows: where high-resolution timers
@@ -291,9 +290,9 @@ windows_resolution (void)
   if (windows_hires_timers)
     return 1.0 / windows_hires_freq;
   else
-    return 10;                 /* according to MSDN */
+    return 10;                  /* according to MSDN */
 }
-#endif /* PTIMER_WINDOWS */
+#endif  /* PTIMER_WINDOWS */
 \f
 /* The code below this point is independent of timer implementation. */
 
index 32537d1f4f20aca94157c499f3360d3ae2f59e69..4a9f805583782f21c2630b9ba9fd177327989d20 100644 (file)
@@ -1,11 +1,11 @@
 /* Declarations for ptimer.c.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef PTIMER_H
 #define PTIMER_H
index 024073ce3cf43aa900e0a3a90f2a7892bd6ef76a..daf8a374ad94751d65cc6d489ab9b06085e25e18 100644 (file)
@@ -1,11 +1,12 @@
 /* Handling of recursive HTTP retrieving.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -38,7 +39,6 @@ so, delete this exception statement from your version.  */
 #include <errno.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "url.h"
 #include "recur.h"
 #include "utils.h"
@@ -55,14 +55,13 @@ so, delete this exception statement from your version.  */
 /* Functions for maintaining the URL queue.  */
 
 struct queue_element {
-  const char *url;             /* the URL to download */
-  const char *referer;         /* the referring document */
-  int depth;                   /* the depth */
-  bool html_allowed;           /* whether the document is allowed to
-                                  be treated as HTML. */
-  bool css_allowed;            /* whether the document is allowed to
-                                  be treated as CSS. */
-  struct queue_element *next;  /* next element in queue */
+  const char *referer;          /* the referring document */
+  int depth;                    /* the depth */
+  bool html_allowed;            /* whether the document is allowed to
+                                   be treated as HTML. */
+  bool css_allowed;             /* whether the document is allowed to
+                                   be treated as CSS. */
+  struct queue_element *next;   /* next element in queue */
 };
 
 struct url_queue {
@@ -94,7 +93,7 @@ url_queue_delete (struct url_queue *queue)
 
 static void
 url_enqueue (struct url_queue *queue,
-            const char *url, const char *referer, int depth,
+             const char *url, const char *referer, int depth,
              bool html_allowed, bool css_allowed)
 {
   struct queue_element *qel = xnew (struct queue_element);
@@ -125,8 +124,8 @@ url_enqueue (struct url_queue *queue,
 
 static bool
 url_dequeue (struct url_queue *queue,
-            const char **url, const char **referer, int *depth,
-            bool *html_allowed, bool *css_allowed)
+             const char **url, const char **referer, int *depth,
+             bool *html_allowed, bool *css_allowed)
 {
   struct queue_element *qel = queue->head;
 
@@ -153,9 +152,9 @@ url_dequeue (struct url_queue *queue,
 }
 \f
 static bool download_child_p (const struct urlpos *, struct url *, int,
-                             struct url *, struct hash_table *);
+                              struct url *, struct hash_table *);
 static bool descend_redirect_p (const char *, const char *, int,
-                               struct url *, struct hash_table *);
+                                struct url *, struct hash_table *);
 
 
 /* Retrieve a part of the web beginning with START_URL.  This used to
@@ -177,7 +176,7 @@ static bool descend_redirect_p (const char *, const char *, int,
 
        7. if the URL is not one of those downloaded before, and if it
           satisfies the criteria specified by the various command-line
-         options, add it to the queue. */
+          options, add it to the queue. */
 
 uerr_t
 retrieve_tree (const char *start_url)
@@ -197,7 +196,7 @@ retrieve_tree (const char *start_url)
   if (!start_url_parsed)
     {
       logprintf (LOG_NOTQUIET, "%s: %s.\n", start_url,
-                url_error (up_error_code));
+                 url_error (up_error_code));
       return URLERROR;
     }
 
@@ -219,36 +218,36 @@ retrieve_tree (const char *start_url)
       bool dash_p_leaf_HTML = false;
 
       if (opt.quota && total_downloaded_bytes > opt.quota)
-       break;
+        break;
       if (status == FWRITEERR)
-       break;
+        break;
 
       /* Get the next URL from the queue... */
 
       if (!url_dequeue (queue,
-                       (const char **)&url, (const char **)&referer,
-                       &depth, &html_allowed, &css_allowed))
-       break;
+                        (const char **)&url, (const char **)&referer,
+                        &depth, &html_allowed, &css_allowed))
+        break;
 
       /* ...and download it.  Note that this download is in most cases
-        unconditional, as download_child_p already makes sure a file
-        doesn't get enqueued twice -- and yet this check is here, and
-        not in download_child_p.  This is so that if you run `wget -r
-        URL1 URL2', and a random URL is encountered once under URL1
-        and again under URL2, but at a different (possibly smaller)
-        depth, we want the URL's children to be taken into account
-        the second time.  */
+         unconditional, as download_child_p already makes sure a file
+         doesn't get enqueued twice -- and yet this check is here, and
+         not in download_child_p.  This is so that if you run `wget -r
+         URL1 URL2', and a random URL is encountered once under URL1
+         and again under URL2, but at a different (possibly smaller)
+         depth, we want the URL's children to be taken into account
+         the second time.  */
       if (dl_url_file_map && hash_table_contains (dl_url_file_map, url))
-       {
-         file = xstrdup (hash_table_get (dl_url_file_map, url));
+        {
+          file = xstrdup (hash_table_get (dl_url_file_map, url));
 
-         DEBUGP (("Already downloaded \"%s\", reusing it from \"%s\".\n",
-                  url, file));
+          DEBUGP (("Already downloaded \"%s\", reusing it from \"%s\".\n",
+                   url, file));
 
           /* this sucks, needs to be combined! */
-         if (html_allowed
-             && downloaded_html_set
-             && string_set_contains (downloaded_html_set, file))
+          if (html_allowed
+              && downloaded_html_set
+              && string_set_contains (downloaded_html_set, file))
             {
               descend = true;
               is_css = false;
@@ -257,19 +256,19 @@ retrieve_tree (const char *start_url)
               && downloaded_css_set
               && string_set_contains (downloaded_css_set, file))
             {
-              descend = 1;
+              descend = true;
               is_css = true;
             }
-       }
+        }
       else
-       {
-         int dt = 0;
-         char *redirected = NULL;
+        {
+          int dt = 0;
+          char *redirected = NULL;
 
-         status = retrieve_url (url, &file, &redirected, referer, &dt, false);
+          status = retrieve_url (url, &file, &redirected, referer, &dt, false);
 
-         if (html_allowed && file && status == RETROK
-             && (dt & RETROKF) && (dt & TEXTHTML))
+          if (html_allowed && file && status == RETROK
+              && (dt & RETROKF) && (dt & TEXTHTML))
             {
               descend = true;
               is_css = false;
@@ -286,128 +285,137 @@ retrieve_tree (const char *start_url)
               is_css = false;
             }
 
-         if (redirected)
-           {
-             /* We have been redirected, possibly to another host, or
-                different path, or wherever.  Check whether we really
-                want to follow it.  */
-             if (descend)
-               {
-                 if (!descend_redirect_p (redirected, url, depth,
-                                          start_url_parsed, blacklist))
-                   descend = false;
-                 else
-                   /* Make sure that the old pre-redirect form gets
-                      blacklisted. */
-                   string_set_add (blacklist, url);
-               }
-
-             xfree (url);
-             url = redirected;
-           }
-       }
+          if (redirected)
+            {
+              /* We have been redirected, possibly to another host, or
+                 different path, or wherever.  Check whether we really
+                 want to follow it.  */
+              if (descend)
+                {
+                  if (!descend_redirect_p (redirected, url, depth,
+                                           start_url_parsed, blacklist))
+                    descend = false;
+                  else
+                    /* Make sure that the old pre-redirect form gets
+                       blacklisted. */
+                    string_set_add (blacklist, url);
+                }
+
+              xfree (url);
+              url = redirected;
+            }
+        }
 
       if (opt.spider)
-       {
+        {
           visited_url (url, referer);
-       }
+        }
 
       if (descend
-         && depth >= opt.reclevel && opt.reclevel != INFINITE_RECURSION)
-       {
-         if (opt.page_requisites
-             && (depth == opt.reclevel || depth == opt.reclevel + 1))
-           {
-             /* When -p is specified, we are allowed to exceed the
-                maximum depth, but only for the "inline" links,
-                i.e. those that are needed to display the page.
-                Originally this could exceed the depth at most by
-                one, but we allow one more level so that the leaf
-                pages that contain frames can be loaded
-                correctly.  */
-             dash_p_leaf_HTML = true;
-           }
-         else
-           {
-             /* Either -p wasn't specified or it was and we've
-                already spent the two extra (pseudo-)levels that it
-                affords us, so we need to bail out. */
-             DEBUGP (("Not descending further; at depth %d, max. %d.\n",
-                      depth, opt.reclevel));
-             descend = false;
-           }
-       }
+          && depth >= opt.reclevel && opt.reclevel != INFINITE_RECURSION)
+        {
+          if (opt.page_requisites
+              && (depth == opt.reclevel || depth == opt.reclevel + 1))
+            {
+              /* When -p is specified, we are allowed to exceed the
+                 maximum depth, but only for the "inline" links,
+                 i.e. those that are needed to display the page.
+                 Originally this could exceed the depth at most by
+                 one, but we allow one more level so that the leaf
+                 pages that contain frames can be loaded
+                 correctly.  */
+              dash_p_leaf_HTML = true;
+            }
+          else
+            {
+              /* Either -p wasn't specified or it was and we've
+                 already spent the two extra (pseudo-)levels that it
+                 affords us, so we need to bail out. */
+              DEBUGP (("Not descending further; at depth %d, max. %d.\n",
+                       depth, opt.reclevel));
+              descend = false;
+            }
+        }
 
       /* If the downloaded document was HTML or CSS, parse it and enqueue the
-        links it contains. */
+         links it contains. */
 
       if (descend)
-       {
-         bool meta_disallow_follow = false;
-         struct urlpos *children
-           = is_css ? get_urls_css_file (file, url) :
+        {
+          bool meta_disallow_follow = false;
+          struct urlpos *children
+            = is_css ? get_urls_css_file (file, url) :
                        get_urls_html (file, url, &meta_disallow_follow);
 
-         if (opt.use_robots && meta_disallow_follow)
-           {
-             free_urlpos (children);
-             children = NULL;
-           }
-
-         if (children)
-           {
-             struct urlpos *child = children;
-             struct url *url_parsed = url_parsed = url_parse (url, NULL);
-             assert (url_parsed != NULL);
-
-             for (; child; child = child->next)
-               {
-                 if (child->ignore_when_downloading)
-                   continue;
-                 if (dash_p_leaf_HTML && !child->link_inline_p)
-                   continue;
-                 if (download_child_p (child, url_parsed, depth, start_url_parsed,
-                                       blacklist))
-                   {
-                     url_enqueue (queue, xstrdup (child->url->url),
-                                  xstrdup (url), depth + 1,
-                                  child->link_expect_html,
-                                  child->link_expect_css);
-                     /* We blacklist the URL we have enqueued, because we
-                        don't want to enqueue (and hence download) the
-                        same URL twice.  */
-                     string_set_add (blacklist, child->url->url);
-                   }
-               }
-
-             url_free (url_parsed);
-             free_urlpos (children);
-           }
-       }
+          if (opt.use_robots && meta_disallow_follow)
+            {
+              free_urlpos (children);
+              children = NULL;
+            }
+
+          if (children)
+            {
+              struct urlpos *child = children;
+              struct url *url_parsed = url_parsed = url_parse (url, NULL);
+              char *referer_url = url;
+              bool strip_auth = (url_parsed != NULL
+                                 && url_parsed->user != NULL);
+              assert (url_parsed != NULL);
+
+              /* Strip auth info if present */
+              if (strip_auth)
+                referer_url = url_string (url_parsed, URL_AUTH_HIDE);
+
+              for (; child; child = child->next)
+                {
+                  if (child->ignore_when_downloading)
+                    continue;
+                  if (dash_p_leaf_HTML && !child->link_inline_p)
+                    continue;
+                  if (download_child_p (child, url_parsed, depth, start_url_parsed,
+                                        blacklist))
+                    {
+                      url_enqueue (queue, xstrdup (child->url->url),
+                                   xstrdup (referer_url), depth + 1,
+                                   child->link_expect_html,
+                                   child->link_expect_css);
+                      /* We blacklist the URL we have enqueued, because we
+                         don't want to enqueue (and hence download) the
+                         same URL twice.  */
+                      string_set_add (blacklist, child->url->url);
+                    }
+                }
+
+              if (strip_auth)
+                xfree (referer_url);
+              url_free (url_parsed);
+              free_urlpos (children);
+            }
+        }
 
       if (file 
           && (opt.delete_after 
               || opt.spider /* opt.recursive is implicitely true */
               || !acceptable (file)))
-       {
-         /* Either --delete-after was specified, or we loaded this
-            (otherwise unneeded because of --spider or rejected by -R) 
-            HTML file just to harvest its hyperlinks -- in either case, 
-            delete the local file. */
-         DEBUGP (("Removing file due to %s in recursive_retrieve():\n",
-                  opt.delete_after ? "--delete-after" :
-                  (opt.spider ? "--spider" : 
-                   "recursive rejection criteria")));
-         logprintf (LOG_VERBOSE,
-                    (opt.delete_after || opt.spider
-                     ? _("Removing %s.\n")
-                     : _("Removing %s since it should be rejected.\n")),
-                    file);
-         if (unlink (file))
-           logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
-         logputs (LOG_VERBOSE, "\n");
-         register_delete_file (file);
-       }
+        {
+          /* Either --delete-after was specified, or we loaded this
+             (otherwise unneeded because of --spider or rejected by -R) 
+             HTML file just to harvest its hyperlinks -- in either case, 
+             delete the local file. */
+          DEBUGP (("Removing file due to %s in recursive_retrieve():\n",
+                   opt.delete_after ? "--delete-after" :
+                   (opt.spider ? "--spider" : 
+                    "recursive rejection criteria")));
+          logprintf (LOG_VERBOSE,
+                     (opt.delete_after || opt.spider
+                      ? _("Removing %s.\n")
+                      : _("Removing %s since it should be rejected.\n")),
+                     file);
+          if (unlink (file))
+            logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
+          logputs (LOG_VERBOSE, "\n");
+          register_delete_file (file);
+        }
 
       xfree (url);
       xfree_null (referer);
@@ -421,10 +429,10 @@ retrieve_tree (const char *start_url)
     int d3;
     bool d4, d5;
     while (url_dequeue (queue,
-                       (const char **)&d1, (const char **)&d2, &d3, &d4, &d5))
+                        (const char **)&d1, (const char **)&d2, &d3, &d4, &d5))
       {
-       xfree (d1);
-       xfree_null (d2);
+        xfree (d1);
+        xfree_null (d2);
       }
   }
   url_queue_delete (queue);
@@ -451,7 +459,7 @@ retrieve_tree (const char *start_url)
 
 static bool
 download_child_p (const struct urlpos *upos, struct url *parent, int depth,
-                 struct url *start_url_parsed, struct hash_table *blacklist)
+                  struct url *start_url_parsed, struct hash_table *blacklist)
 {
   struct url *u = upos->url;
   const char *url = u->url;
@@ -462,12 +470,12 @@ download_child_p (const struct urlpos *upos, struct url *parent, int depth,
   if (string_set_contains (blacklist, url))
     {
       if (opt.spider) 
-       {
-          char *referrer = url_string (parent, true);
+        {
+          char *referrer = url_string (parent, URL_AUTH_HIDE_PASSWD);
           DEBUGP (("download_child_p: parent->url is: `%s'\n", parent->url));
           visited_url (url, referrer);
-         xfree (referrer);
-       }
+          xfree (referrer);
+        }
       DEBUGP (("Already on the black list.\n"));
       goto out;
     }
@@ -508,8 +516,8 @@ download_child_p (const struct urlpos *upos, struct url *parent, int depth,
   if (u_scheme_like_http)
     if (opt.relative_only && !upos->link_relative_p)
       {
-       DEBUGP (("It doesn't really look like a relative link.\n"));
-       goto out;
+        DEBUGP (("It doesn't really look like a relative link.\n"));
+        goto out;
       }
 
   /* 3. If its domain is not to be accepted/looked-up, chuck it
@@ -532,11 +540,11 @@ download_child_p (const struct urlpos *upos, struct url *parent, int depth,
       && !(opt.page_requisites && upos->link_inline_p))
     {
       if (!subdir_p (start_url_parsed->dir, u->dir))
-       {
-         DEBUGP (("Going to \"%s\" would escape \"%s\" with no_parent on.\n",
-                  u->dir, start_url_parsed->dir));
-         goto out;
-       }
+        {
+          DEBUGP (("Going to \"%s\" would escape \"%s\" with no_parent on.\n",
+                   u->dir, start_url_parsed->dir));
+          goto out;
+        }
     }
 
   /* 5. If the file does not match the acceptance list, or is on the
@@ -545,10 +553,10 @@ download_child_p (const struct urlpos *upos, struct url *parent, int depth,
   if (opt.includes || opt.excludes)
     {
       if (!accdir (u->dir))
-       {
-         DEBUGP (("%s (%s) is excluded/not-included.\n", url, u->dir));
-         goto out;
-       }
+        {
+          DEBUGP (("%s (%s) is excluded/not-included.\n", url, u->dir));
+          goto out;
+        }
     }
 
   /* 6. Check for acceptance/rejection rules.  We ignore these rules
@@ -558,31 +566,31 @@ download_child_p (const struct urlpos *upos, struct url *parent, int depth,
      necesary, overstep the maximum depth to get the page requisites.)  */
   if (u->file[0] != '\0'
       && !(has_html_suffix_p (u->file)
-          /* The exception only applies to non-leaf HTMLs (but -p
-             always implies non-leaf because we can overstep the
-             maximum depth to get the requisites): */
-          && (/* non-leaf */
-              opt.reclevel == INFINITE_RECURSION
-              /* also non-leaf */
-              || depth < opt.reclevel - 1
-              /* -p, which implies non-leaf (see above) */
-              || opt.page_requisites)))
+           /* The exception only applies to non-leaf HTMLs (but -p
+              always implies non-leaf because we can overstep the
+              maximum depth to get the requisites): */
+           && (/* non-leaf */
+               opt.reclevel == INFINITE_RECURSION
+               /* also non-leaf */
+               || depth < opt.reclevel - 1
+               /* -p, which implies non-leaf (see above) */
+               || opt.page_requisites)))
     {
       if (!acceptable (u->file))
-       {
-         DEBUGP (("%s (%s) does not match acc/rej rules.\n",
-                  url, u->file));
-         goto out;
-       }
+        {
+          DEBUGP (("%s (%s) does not match acc/rej rules.\n",
+                   url, u->file));
+          goto out;
+        }
     }
 
   /* 7. */
   if (schemes_are_similar_p (u->scheme, parent->scheme))
     if (!opt.spanhost && 0 != strcasecmp (parent->host, u->host))
       {
-       DEBUGP (("This is not the same hostname as the parent's (%s and %s).\n",
-                u->host, parent->host));
-       goto out;
+        DEBUGP (("This is not the same hostname as the parent's (%s and %s).\n",
+                 u->host, parent->host));
+        goto out;
       }
 
   /* 8. */
@@ -590,31 +598,42 @@ download_child_p (const struct urlpos *upos, struct url *parent, int depth,
     {
       struct robot_specs *specs = res_get_specs (u->host, u->port);
       if (!specs)
-       {
-         char *rfile;
-         if (res_retrieve_file (url, &rfile))
-           {
-             specs = res_parse_from_file (rfile);
-             xfree (rfile);
-           }
-         else
-           {
-             /* If we cannot get real specs, at least produce
-                dummy ones so that we can register them and stop
-                trying to retrieve them.  */
-             specs = res_parse ("", 0);
-           }
-         res_register_specs (u->host, u->port, specs);
-       }
+        {
+          char *rfile;
+          if (res_retrieve_file (url, &rfile))
+            {
+              specs = res_parse_from_file (rfile);
+
+              /* Delete the robots.txt file if we chose to either delete the
+                 files after downloading or we're just running a spider. */
+              if (opt.delete_after || opt.spider)
+                {
+                  logprintf (LOG_VERBOSE, "Removing %s.\n", rfile);
+                  if (unlink (rfile))
+                      logprintf (LOG_NOTQUIET, "unlink: %s\n",
+                                 strerror (errno));
+                }
+
+              xfree (rfile);
+            }
+          else
+            {
+              /* If we cannot get real specs, at least produce
+                 dummy ones so that we can register them and stop
+                 trying to retrieve them.  */
+              specs = res_parse ("", 0);
+            }
+          res_register_specs (u->host, u->port, specs);
+        }
 
       /* Now that we have (or don't have) robots.txt specs, we can
-        check what they say.  */
+         check what they say.  */
       if (!res_match_path (specs, u->path))
-       {
-         DEBUGP (("Not following %s because robots.txt forbids it.\n", url));
-         string_set_add (blacklist, url);
-         goto out;
-       }
+        {
+          DEBUGP (("Not following %s because robots.txt forbids it.\n", url));
+          string_set_add (blacklist, url);
+          goto out;
+        }
     }
 
   /* The URL has passed all the tests.  It can be placed in the
@@ -636,7 +655,7 @@ download_child_p (const struct urlpos *upos, struct url *parent, int depth,
 
 static bool
 descend_redirect_p (const char *redirected, const char *original, int depth,
-                   struct url *start_url_parsed, struct hash_table *blacklist)
+                    struct url *start_url_parsed, struct hash_table *blacklist)
 {
   struct url *orig_parsed, *new_parsed;
   struct urlpos *upos;
@@ -652,7 +671,7 @@ descend_redirect_p (const char *redirected, const char *original, int depth,
   upos->url = new_parsed;
 
   success = download_child_p (upos, orig_parsed, depth,
-                             start_url_parsed, blacklist);
+                              start_url_parsed, blacklist);
 
   url_free (orig_parsed);
   url_free (new_parsed);
@@ -663,3 +682,5 @@ descend_redirect_p (const char *redirected, const char *original, int depth,
 
   return success;
 }
+
+/* vim:set sts=2 sw=2 cino+={s: */
index ed9854676dc8bdbf7012bcb64b670ef830552512..5ab26a950011366d6888c544908ef834312929bb 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for recur.c.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef RECUR_H
 #define RECUR_H
index a160591fe27552b621aed8961b49a7f2b42cbb55..0be3f7621f34afba367c3b94e1f5f41d854d35ce 100644 (file)
--- a/src/res.c
+++ b/src/res.c
@@ -1,11 +1,11 @@
 /* Support for Robot Exclusion Standard (RES).
-   Copyright (C) 2001,2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of Wget.
 
 This program 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 This program is distributed in the hope that it will be useful, but
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* This file implements the Robot Exclusion Standard (RES).
 
@@ -67,9 +67,7 @@ so, delete this exception statement from your version.  */
    res_match_path, res_register_specs, res_get_specs, and
    res_retrieve_file.  */
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -77,7 +75,6 @@ so, delete this exception statement from your version.  */
 #include <errno.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "hash.h"
 #include "url.h"
@@ -181,7 +178,7 @@ prune_non_exact (struct robot_specs *specs)
 #define EOL(p) ((p) >= lineend)
 
 #define SKIP_SPACE(p) do {              \
-  while (!EOL (p) && ISSPACE (*p))      \
+  while (!EOL (p) && c_isspace (*p))      \
     ++p;                                \
 } while (0)
 
@@ -267,18 +264,18 @@ res_parse (const char *source, int length)
          lineend to a location preceding the first comment.  Real line
          ending remains in lineend_real.  */
       for (lineend = p; lineend < lineend_real; lineend++)
-        if ((lineend == p || ISSPACE (*(lineend - 1)))
+        if ((lineend == p || c_isspace (*(lineend - 1)))
             && *lineend == '#')
           break;
 
       /* Ignore trailing whitespace in the same way. */
-      while (lineend > p && ISSPACE (*(lineend - 1)))
+      while (lineend > p && c_isspace (*(lineend - 1)))
         --lineend;
 
       assert (!EOL (p));
 
       field_b = p;
-      while (!EOL (p) && (ISALNUM (*p) || *p == '-'))
+      while (!EOL (p) && (c_isalnum (*p) || *p == '-'))
         ++p;
       field_e = p;
 
@@ -416,7 +413,7 @@ free_specs (struct robot_specs *specs)
    advance the pointer.  */
 
 #define DECODE_MAYBE(c, ptr) do {                               \
-  if (c == '%' && ISXDIGIT (ptr[1]) && ISXDIGIT (ptr[2]))       \
+  if (c == '%' && c_isxdigit (ptr[1]) && c_isxdigit (ptr[2]))       \
     {                                                           \
       char decoded = X2DIGITS_TO_NUM (ptr[1], ptr[2]);          \
       if (decoded != '/')                                       \
index 2b12902570ef9ff046c9f22147556d422445afca..94a57750ef8316c3e948ec7ed96d41dd00348ddc 100644 (file)
--- a/src/res.h
+++ b/src/res.h
@@ -1,11 +1,11 @@
 /* Declarations for res.c.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of Wget.
 
 This program 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef RES_H
 #define RES_H
index 245eb129f40d5f49644d0bb69de1e7489f54cf1d..7bdd4193fed50e1058c2c44a962394f002a3358d 100644 (file)
@@ -1,11 +1,12 @@
 /* File retrieval.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -38,7 +39,6 @@ so, delete this exception statement from your version.  */
 #include <string.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "retr.h"
 #include "progress.h"
@@ -101,31 +101,31 @@ limit_bandwidth (wgint bytes, struct ptimer *timer)
       double slp = expected - delta_t + limit_data.sleep_adjust;
       double t0, t1;
       if (slp < 0.2)
-       {
-         DEBUGP (("deferring a %.2f ms sleep (%s/%.2f).\n",
-                  slp * 1000, number_to_static_string (limit_data.chunk_bytes),
-                  delta_t));
-         return;
-       }
+        {
+          DEBUGP (("deferring a %.2f ms sleep (%s/%.2f).\n",
+                   slp * 1000, number_to_static_string (limit_data.chunk_bytes),
+                   delta_t));
+          return;
+        }
       DEBUGP (("\nsleeping %.2f ms for %s bytes, adjust %.2f ms\n",
-              slp * 1000, number_to_static_string (limit_data.chunk_bytes),
-              limit_data.sleep_adjust));
+               slp * 1000, number_to_static_string (limit_data.chunk_bytes),
+               limit_data.sleep_adjust));
 
       t0 = ptimer_read (timer);
       xsleep (slp);
       t1 = ptimer_measure (timer);
 
       /* Due to scheduling, we probably slept slightly longer (or
-        shorter) than desired.  Calculate the difference between the
-        desired and the actual sleep, and adjust the next sleep by
-        that amount.  */
+         shorter) than desired.  Calculate the difference between the
+         desired and the actual sleep, and adjust the next sleep by
+         that amount.  */
       limit_data.sleep_adjust = slp - (t1 - t0);
       /* If sleep_adjust is very large, it's likely due to suspension
-        and not clock inaccuracy.  Don't enforce those.  */
+         and not clock inaccuracy.  Don't enforce those.  */
       if (limit_data.sleep_adjust > 0.5)
-       limit_data.sleep_adjust = 0.5;
+        limit_data.sleep_adjust = 0.5;
       else if (limit_data.sleep_adjust < -0.5)
-       limit_data.sleep_adjust = -0.5;
+        limit_data.sleep_adjust = -0.5;
     }
 
   limit_data.chunk_bytes = 0;
@@ -142,7 +142,7 @@ limit_bandwidth (wgint bytes, struct ptimer *timer)
 
 static int
 write_data (FILE *out, const char *buf, int bufsize, wgint *skip,
-           wgint *written)
+            wgint *written)
 {
   if (!out)
     return 1;
@@ -157,7 +157,7 @@ write_data (FILE *out, const char *buf, int bufsize, wgint *skip,
       bufsize -= *skip;
       *skip = 0;
       if (bufsize == 0)
-       return 1;
+        return 1;
     }
 
   fwrite (buf, 1, bufsize, out);
@@ -192,7 +192,7 @@ write_data (FILE *out, const char *buf, int bufsize, wgint *skip,
 
 int
 fd_read_body (int fd, FILE *out, wgint toread, wgint startpos,
-             wgint *qtyread, wgint *qtywritten, double *elapsed, int flags)
+              wgint *qtyread, wgint *qtywritten, double *elapsed, int flags)
 {
   int ret = 0;
 
@@ -224,8 +224,8 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos,
   if (opt.verbose)
     {
       /* If we're skipping STARTPOS bytes, pass 0 as the INITIAL
-        argument to progress_create because the indicator doesn't
-        (yet) know about "skipping" data.  */
+         argument to progress_create because the indicator doesn't
+         (yet) know about "skipping" data.  */
       progress = progress_create (skip ? 0 : startpos, startpos + toread);
       progress_interactive = progress_interactive_p (progress);
     }
@@ -258,61 +258,61 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos,
       int rdsize = exact ? MIN (toread - sum_read, dlbufsize) : dlbufsize;
       double tmout = opt.read_timeout;
       if (progress_interactive)
-       {
-         /* For interactive progress gauges, always specify a ~1s
-            timeout, so that the gauge can be updated regularly even
-            when the data arrives very slowly or stalls.  */
-         tmout = 0.95;
-         if (opt.read_timeout)
-           {
-             double waittm;
-             waittm = ptimer_read (timer) - last_successful_read_tm;
-             if (waittm + tmout > opt.read_timeout)
-               {
-                 /* Don't let total idle time exceed read timeout. */
-                 tmout = opt.read_timeout - waittm;
-                 if (tmout < 0)
-                   {
-                     /* We've already exceeded the timeout. */
-                     ret = -1, errno = ETIMEDOUT;
-                     break;
-                   }
-               }
-           }
-       }
+        {
+          /* For interactive progress gauges, always specify a ~1s
+             timeout, so that the gauge can be updated regularly even
+             when the data arrives very slowly or stalls.  */
+          tmout = 0.95;
+          if (opt.read_timeout)
+            {
+              double waittm;
+              waittm = ptimer_read (timer) - last_successful_read_tm;
+              if (waittm + tmout > opt.read_timeout)
+                {
+                  /* Don't let total idle time exceed read timeout. */
+                  tmout = opt.read_timeout - waittm;
+                  if (tmout < 0)
+                    {
+                      /* We've already exceeded the timeout. */
+                      ret = -1, errno = ETIMEDOUT;
+                      break;
+                    }
+                }
+            }
+        }
       ret = fd_read (fd, dlbuf, rdsize, tmout);
 
       if (progress_interactive && ret < 0 && errno == ETIMEDOUT)
-       ret = 0;                /* interactive timeout, handled above */
+        ret = 0;                /* interactive timeout, handled above */
       else if (ret <= 0)
-       break;                  /* EOF or read error */
+        break;                  /* EOF or read error */
 
       if (progress || opt.limit_rate)
-       {
-         ptimer_measure (timer);
-         if (ret > 0)
-           last_successful_read_tm = ptimer_read (timer);
-       }
+        {
+          ptimer_measure (timer);
+          if (ret > 0)
+            last_successful_read_tm = ptimer_read (timer);
+        }
 
       if (ret > 0)
-       {
-         sum_read += ret;
-         if (!write_data (out, dlbuf, ret, &skip, &sum_written))
-           {
-             ret = -2;
-             goto out;
-           }
-       }
+        {
+          sum_read += ret;
+          if (!write_data (out, dlbuf, ret, &skip, &sum_written))
+            {
+              ret = -2;
+              goto out;
+            }
+        }
 
       if (opt.limit_rate)
-       limit_bandwidth (ret, timer);
+        limit_bandwidth (ret, timer);
 
       if (progress)
-       progress_update (progress, ret, ptimer_read (timer));
+        progress_update (progress, ret, ptimer_read (timer));
 #ifdef WINDOWS
       if (toread > 0 && !opt.quiet)
-       ws_percenttitle (100.0 *
-                        (startpos + sum_read) / (startpos + toread));
+        ws_percenttitle (100.0 *
+                         (startpos + sum_read) / (startpos + toread));
 #endif
     }
   if (ret < -1)
@@ -391,7 +391,7 @@ fd_read_hunk (int fd, hunk_terminator_t terminator, long sizehint, long maxsize)
 {
   long bufsize = sizehint;
   char *hunk = xmalloc (bufsize);
-  int tail = 0;                        /* tail position in HUNK */
+  int tail = 0;                 /* tail position in HUNK */
 
   assert (maxsize >= bufsize);
 
@@ -404,82 +404,82 @@ fd_read_hunk (int fd, hunk_terminator_t terminator, long sizehint, long maxsize)
 
       pklen = fd_peek (fd, hunk + tail, bufsize - 1 - tail, -1);
       if (pklen < 0)
-       {
-         xfree (hunk);
-         return NULL;
-       }
+        {
+          xfree (hunk);
+          return NULL;
+        }
       end = terminator (hunk, hunk + tail, pklen);
       if (end)
-       {
-         /* The data contains the terminator: we'll drain the data up
-            to the end of the terminator.  */
-         remain = end - (hunk + tail);
-         assert (remain >= 0);
-         if (remain == 0)
-           {
-             /* No more data needs to be read. */
-             hunk[tail] = '\0';
-             return hunk;
-           }
-         if (bufsize - 1 < tail + remain)
-           {
-             bufsize = tail + remain + 1;
-             hunk = xrealloc (hunk, bufsize);
-           }
-       }
+        {
+          /* The data contains the terminator: we'll drain the data up
+             to the end of the terminator.  */
+          remain = end - (hunk + tail);
+          assert (remain >= 0);
+          if (remain == 0)
+            {
+              /* No more data needs to be read. */
+              hunk[tail] = '\0';
+              return hunk;
+            }
+          if (bufsize - 1 < tail + remain)
+            {
+              bufsize = tail + remain + 1;
+              hunk = xrealloc (hunk, bufsize);
+            }
+        }
       else
-       /* No terminator: simply read the data we know is (or should
-          be) available.  */
-       remain = pklen;
+        /* No terminator: simply read the data we know is (or should
+           be) available.  */
+        remain = pklen;
 
       /* Now, read the data.  Note that we make no assumptions about
-        how much data we'll get.  (Some TCP stacks are notorious for
-        read returning less data than the previous MSG_PEEK.)  */
+         how much data we'll get.  (Some TCP stacks are notorious for
+         read returning less data than the previous MSG_PEEK.)  */
 
       rdlen = fd_read (fd, hunk + tail, remain, 0);
       if (rdlen < 0)
-       {
-         xfree_null (hunk);
-         return NULL;
-       }
+        {
+          xfree_null (hunk);
+          return NULL;
+        }
       tail += rdlen;
       hunk[tail] = '\0';
 
       if (rdlen == 0)
-       {
-         if (tail == 0)
-           {
-             /* EOF without anything having been read */
-             xfree (hunk);
-             errno = 0;
-             return NULL;
-           }
-         else
-           /* EOF seen: return the data we've read. */
-           return hunk;
-       }
+        {
+          if (tail == 0)
+            {
+              /* EOF without anything having been read */
+              xfree (hunk);
+              errno = 0;
+              return NULL;
+            }
+          else
+            /* EOF seen: return the data we've read. */
+            return hunk;
+        }
       if (end && rdlen == remain)
-       /* The terminator was seen and the remaining data drained --
-          we got what we came for.  */
-       return hunk;
+        /* The terminator was seen and the remaining data drained --
+           we got what we came for.  */
+        return hunk;
 
       /* Keep looping until all the data arrives. */
 
       if (tail == bufsize - 1)
-       {
-         /* Double the buffer size, but refuse to allocate more than
-            MAXSIZE bytes.  */
-         if (maxsize && bufsize >= maxsize)
-           {
-             xfree (hunk);
-             errno = ENOMEM;
-             return NULL;
-           }
-         bufsize <<= 1;
-         if (maxsize && bufsize > maxsize)
-           bufsize = maxsize;
-         hunk = xrealloc (hunk, bufsize);
-       }
+        {
+          /* Double the buffer size, but refuse to allocate more than
+             MAXSIZE bytes.  */
+          if (maxsize && bufsize >= maxsize)
+            {
+              xfree (hunk);
+              errno = ENOMEM;
+              return NULL;
+            }
+          bufsize <<= 1;
+          if (maxsize && bufsize > maxsize)
+            bufsize = maxsize;
+          hunk = xrealloc (hunk, bufsize);
+        }
     }
 }
 
@@ -526,8 +526,8 @@ retr_rate (wgint bytes, double secs)
   /* Use more digits for smaller numbers (regardless of unit used),
      e.g. "1022", "247", "12.5", "2.38".  */
   sprintf (res, "%.*f %s",
-          dlrate >= 99.95 ? 0 : dlrate >= 9.995 ? 1 : 2,
-          dlrate, rate_names[units]);
+           dlrate >= 99.95 ? 0 : dlrate >= 9.995 ? 1 : 2,
+           dlrate, rate_names[units]);
 
   return res;
 }
@@ -569,28 +569,22 @@ calc_rate (wgint bytes, double secs, int *units)
   return dlrate;
 }
 \f
-/* Maximum number of allowed redirections.  20 was chosen as a
-   "reasonable" value, which is low enough to not cause havoc, yet
-   high enough to guarantee that normal retrievals will not be hurt by
-   the check.  */
-
-#define MAX_REDIRECTIONS 20
-
-#define SUSPEND_POST_DATA do {                 \
-  post_data_suspended = true;                  \
-  saved_post_data = opt.post_data;             \
-  saved_post_file_name = opt.post_file_name;   \
-  opt.post_data = NULL;                                \
-  opt.post_file_name = NULL;                   \
+
+#define SUSPEND_POST_DATA do {                  \
+  post_data_suspended = true;                   \
+  saved_post_data = opt.post_data;              \
+  saved_post_file_name = opt.post_file_name;    \
+  opt.post_data = NULL;                         \
+  opt.post_file_name = NULL;                    \
 } while (0)
 
-#define RESTORE_POST_DATA do {                         \
-  if (post_data_suspended)                             \
-    {                                                  \
-      opt.post_data = saved_post_data;                 \
-      opt.post_file_name = saved_post_file_name;       \
-      post_data_suspended = false;                     \
-    }                                                  \
+#define RESTORE_POST_DATA do {                          \
+  if (post_data_suspended)                              \
+    {                                                   \
+      opt.post_data = saved_post_data;                  \
+      opt.post_file_name = saved_post_file_name;        \
+      post_data_suspended = false;                      \
+    }                                                   \
 } while (0)
 
 static char *getproxy (struct url *);
@@ -603,7 +597,7 @@ static char *getproxy (struct url *);
 
 uerr_t
 retrieve_url (const char *origurl, char **file, char **newloc,
-             const char *refurl, int *dt, bool recursive)
+              const char *refurl, int *dt, bool recursive)
 {
   uerr_t result;
   char *url;
@@ -611,7 +605,7 @@ retrieve_url (const char *origurl, char **file, char **newloc,
   int dummy;
   char *mynewloc, *proxy;
   struct url *u, *proxy_url;
-  int up_error_code;           /* url parse error code */
+  int up_error_code;            /* url parse error code */
   char *local_file;
   int redirection_count = 0;
 
@@ -655,21 +649,21 @@ retrieve_url (const char *origurl, char **file, char **newloc,
       /* Parse the proxy URL.  */
       proxy_url = url_parse (proxy, &up_error_code);
       if (!proxy_url)
-       {
-         logprintf (LOG_NOTQUIET, _("Error parsing proxy URL %s: %s.\n"),
-                    proxy, url_error (up_error_code));
-         xfree (url);
-         RESTORE_POST_DATA;
-         return PROXERR;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("Error parsing proxy URL %s: %s.\n"),
+                     proxy, url_error (up_error_code));
+          xfree (url);
+          RESTORE_POST_DATA;
+          return PROXERR;
+        }
       if (proxy_url->scheme != SCHEME_HTTP && proxy_url->scheme != u->scheme)
-       {
-         logprintf (LOG_NOTQUIET, _("Error in proxy URL %s: Must be HTTP.\n"), proxy);
-         url_free (proxy_url);
-         xfree (url);
-         RESTORE_POST_DATA;
-         return PROXERR;
-       }
+        {
+          logprintf (LOG_NOTQUIET, _("Error in proxy URL %s: Must be HTTP.\n"), proxy);
+          url_free (proxy_url);
+          xfree (url);
+          RESTORE_POST_DATA;
+          return PROXERR;
+        }
     }
 
   if (u->scheme == SCHEME_HTTP
@@ -683,24 +677,24 @@ retrieve_url (const char *origurl, char **file, char **newloc,
   else if (u->scheme == SCHEME_FTP)
     {
       /* If this is a redirection, temporarily turn off opt.ftp_glob
-        and opt.recursive, both being undesirable when following
-        redirects.  */
+         and opt.recursive, both being undesirable when following
+         redirects.  */
       bool oldrec = recursive, glob = opt.ftp_glob;
       if (redirection_count)
-       oldrec = glob = false;
+        oldrec = glob = false;
 
       result = ftp_loop (u, dt, proxy_url, recursive, glob);
       recursive = oldrec;
 
       /* There is a possibility of having HTTP being redirected to
-        FTP.  In these cases we must decide whether the text is HTML
-        according to the suffix.  The HTML suffixes are `.html',
-        `.htm' and a few others, case-insensitive.  */
+         FTP.  In these cases we must decide whether the text is HTML
+         according to the suffix.  The HTML suffixes are `.html',
+         `.htm' and a few others, case-insensitive.  */
       if (redirection_count && local_file && u->scheme == SCHEME_FTP)
-       {
-         if (has_html_suffix_p (local_file))
-           *dt |= TEXTHTML;
-       }
+        {
+          if (has_html_suffix_p (local_file))
+            *dt |= TEXTHTML;
+        }
     }
 
   if (proxy_url)
@@ -718,12 +712,12 @@ retrieve_url (const char *origurl, char **file, char **newloc,
       assert (mynewloc != NULL);
 
       if (local_file)
-       xfree (local_file);
+        xfree (local_file);
 
       /* The HTTP specs only allow absolute URLs to appear in
-        redirects, but a ton of boneheaded webservers and CGIs out
-        there break the rules and use relative URLs, and popular
-        browsers are lenient about this, so wget should be too. */
+         redirects, but a ton of boneheaded webservers and CGIs out
+         there break the rules and use relative URLs, and popular
+         browsers are lenient about this, so wget should be too. */
       construced_newloc = uri_merge (url, mynewloc);
       xfree (mynewloc);
       mynewloc = construced_newloc;
@@ -731,15 +725,15 @@ retrieve_url (const char *origurl, char **file, char **newloc,
       /* Now, see if this new location makes sense. */
       newloc_parsed = url_parse (mynewloc, &up_error_code);
       if (!newloc_parsed)
-       {
-         logprintf (LOG_NOTQUIET, "%s: %s.\n", escnonprint_uri (mynewloc),
-                    url_error (up_error_code));
-         url_free (u);
-         xfree (url);
-         xfree (mynewloc);
-         RESTORE_POST_DATA;
-         return result;
-       }
+        {
+          logprintf (LOG_NOTQUIET, "%s: %s.\n", escnonprint_uri (mynewloc),
+                     url_error (up_error_code));
+          url_free (u);
+          xfree (url);
+          xfree (mynewloc);
+          RESTORE_POST_DATA;
+          return result;
+        }
 
       /* Now mynewloc will become newloc_parsed->url, because if the
          Location contained relative paths like .././something, we
@@ -748,17 +742,17 @@ retrieve_url (const char *origurl, char **file, char **newloc,
       mynewloc = xstrdup (newloc_parsed->url);
 
       /* Check for max. number of redirections.  */
-      if (++redirection_count > MAX_REDIRECTIONS)
-       {
-         logprintf (LOG_NOTQUIET, _("%d redirections exceeded.\n"),
-                    MAX_REDIRECTIONS);
-         url_free (newloc_parsed);
-         url_free (u);
-         xfree (url);
-         xfree (mynewloc);
-         RESTORE_POST_DATA;
-         return WRONGCODE;
-       }
+      if (++redirection_count > opt.max_redirect)
+        {
+          logprintf (LOG_NOTQUIET, _("%d redirections exceeded.\n"),
+                     opt.max_redirect);
+          url_free (newloc_parsed);
+          url_free (u);
+          xfree (url);
+          xfree (mynewloc);
+          RESTORE_POST_DATA;
+          return WRONGCODE;
+        }
 
       xfree (url);
       url = mynewloc;
@@ -766,12 +760,12 @@ retrieve_url (const char *origurl, char **file, char **newloc,
       u = newloc_parsed;
 
       /* If we're being redirected from POST, we don't want to POST
-        again.  Many requests answer POST with a redirection to an
-        index page; that redirection is clearly a GET.  We "suspend"
-        POST data for the duration of the redirections, and restore
-        it when we're done. */
+         again.  Many requests answer POST with a redirection to an
+         index page; that redirection is clearly a GET.  We "suspend"
+         POST data for the duration of the redirections, and restore
+         it when we're done. */
       if (!post_data_suspended)
-       SUSPEND_POST_DATA;
+        SUSPEND_POST_DATA;
 
       goto redirected;
     }
@@ -779,15 +773,15 @@ retrieve_url (const char *origurl, char **file, char **newloc,
   if (local_file)
     {
       if (*dt & RETROKF)
-       {
-         register_download (u->url, local_file);
-         if (redirection_count && 0 != strcmp (origurl, u->url))
-           register_redirection (origurl, u->url);
-         if (*dt & TEXTHTML)
-           register_html (u->url, local_file);
-         if (*dt & TEXTCSS)
-           register_css (u->url, local_file);
-       }
+        {
+          register_download (u->url, local_file);
+          if (redirection_count && 0 != strcmp (origurl, u->url))
+            register_redirection (origurl, u->url);
+          if (*dt & TEXTHTML)
+            register_html (u->url, local_file);
+          if (*dt & TEXTCSS)
+            register_css (u->url, local_file);
+        }
     }
 
   if (file)
@@ -800,14 +794,14 @@ retrieve_url (const char *origurl, char **file, char **newloc,
   if (redirection_count)
     {
       if (newloc)
-       *newloc = url;
+        *newloc = url;
       else
-       xfree (url);
+        xfree (url);
     }
   else
     {
       if (newloc)
-       *newloc = NULL;
+        *newloc = NULL;
       xfree (url);
     }
 
@@ -829,7 +823,7 @@ retrieve_from_file (const char *file, bool html, int *count)
   struct urlpos *url_list, *cur_url;
 
   url_list = (html ? get_urls_html (file, NULL, NULL)
-             : get_urls_file (file));
+              : get_urls_file (file));
   status = RETROK;             /* Suppose everything is OK.  */
   *count = 0;                  /* Reset the URL count.  */
 
@@ -839,38 +833,38 @@ retrieve_from_file (const char *file, bool html, int *count)
       int dt;
 
       if (cur_url->ignore_when_downloading)
-       continue;
+        continue;
 
       if (opt.quota && total_downloaded_bytes > opt.quota)
-       {
-         status = QUOTEXC;
-         break;
-       }
+        {
+          status = QUOTEXC;
+          break;
+        }
       if ((opt.recursive || opt.page_requisites)
-         && (cur_url->url->scheme != SCHEME_FTP || getproxy (cur_url->url)))
-       {
-         int old_follow_ftp = opt.follow_ftp;
-
-         /* Turn opt.follow_ftp on in case of recursive FTP retrieval */
-         if (cur_url->url->scheme == SCHEME_FTP) 
-           opt.follow_ftp = 1;
-         
-         status = retrieve_tree (cur_url->url->url);
-
-         opt.follow_ftp = old_follow_ftp;
-       }
+          && (cur_url->url->scheme != SCHEME_FTP || getproxy (cur_url->url)))
+        {
+          int old_follow_ftp = opt.follow_ftp;
+
+          /* Turn opt.follow_ftp on in case of recursive FTP retrieval */
+          if (cur_url->url->scheme == SCHEME_FTP) 
+            opt.follow_ftp = 1;
+          
+          status = retrieve_tree (cur_url->url->url);
+
+          opt.follow_ftp = old_follow_ftp;
+        }
       else
-       status = retrieve_url (cur_url->url->url, &filename, &new_file, NULL, &dt, opt.recursive);
+        status = retrieve_url (cur_url->url->url, &filename, &new_file, NULL, &dt, opt.recursive);
 
       if (filename && opt.delete_after && file_exists_p (filename))
-       {
-         DEBUGP (("\
+        {
+          DEBUGP (("\
 Removing file due to --delete-after in retrieve_from_file():\n"));
-         logprintf (LOG_VERBOSE, _("Removing %s.\n"), filename);
-         if (unlink (filename))
-           logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
-         dt &= ~RETROKF;
-       }
+          logprintf (LOG_VERBOSE, _("Removing %s.\n"), filename);
+          if (unlink (filename))
+            logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
+          dt &= ~RETROKF;
+        }
 
       xfree_null (new_file);
       xfree_null (filename);
@@ -911,29 +905,29 @@ sleep_between_retrievals (int count)
   if (opt.waitretry && count > 1)
     {
       /* If opt.waitretry is specified and this is a retry, wait for
-        COUNT-1 number of seconds, or for opt.waitretry seconds.  */
+         COUNT-1 number of seconds, or for opt.waitretry seconds.  */
       if (count <= opt.waitretry)
-       xsleep (count - 1);
+        xsleep (count - 1);
       else
-       xsleep (opt.waitretry);
+        xsleep (opt.waitretry);
     }
   else if (opt.wait)
     {
       if (!opt.random_wait || count > 1)
-       /* If random-wait is not specified, or if we are sleeping
-          between retries of the same download, sleep the fixed
-          interval.  */
-       xsleep (opt.wait);
+        /* If random-wait is not specified, or if we are sleeping
+           between retries of the same download, sleep the fixed
+           interval.  */
+        xsleep (opt.wait);
       else
-       {
-         /* Sleep a random amount of time averaging in opt.wait
-            seconds.  The sleeping amount ranges from 0.5*opt.wait to
-            1.5*opt.wait.  */
-         double waitsecs = (0.5 + random_float ()) * opt.wait;
-         DEBUGP (("sleep_between_retrievals: avg=%f,sleep=%f\n",
-                  opt.wait, waitsecs));
-         xsleep (waitsecs);
-       }
+        {
+          /* Sleep a random amount of time averaging in opt.wait
+             seconds.  The sleeping amount ranges from 0.5*opt.wait to
+             1.5*opt.wait.  */
+          double waitsecs = (0.5 + random_float ()) * opt.wait;
+          DEBUGP (("sleep_between_retrievals: avg=%f,sleep=%f\n",
+                   opt.wait, waitsecs));
+          xsleep (waitsecs);
+        }
     }
 }
 
@@ -945,7 +939,7 @@ free_urlpos (struct urlpos *l)
     {
       struct urlpos *next = l->next;
       if (l->url)
-       url_free (l->url);
+        url_free (l->url);
       xfree_null (l->local_name);
       xfree (l);
       l = next;
index 930f70002da54c676f3b2ac39d46df10cc07c153..ec55cfdaf5284683c82aa986c011abd92a372b33 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for retr.c.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef RETR_H
 #define RETR_H
diff --git a/src/safe-ctype.c b/src/safe-ctype.c
deleted file mode 100644 (file)
index efc3c44..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/* <ctype.h> replacement macros.
-
-   Copyright (C) 2000 Free Software Foundation, Inc.
-   Contributed by Zack Weinberg <zackw@stanford.edu>.
-
-This file is part of the libiberty library.
-Libiberty 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 of the License, or (at your option) any later version.
-
-Libiberty 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 libiberty; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite
-Boston, MA 02111-1307, USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
-
-/* This is a compatible replacement of the standard C library's <ctype.h>
-   with the following properties:
-
-   - Implements all isxxx() macros required by C99.
-   - Also implements some character classes useful when
-     parsing C-like languages.
-   - Does not change behavior depending on the current locale.
-   - Behaves properly for all values in the range of a signed or
-     unsigned char.  */
-
-#include <config.h>
-#include <safe-ctype.h>
-#include <stdio.h>  /* for EOF */
-
-/* Shorthand */
-#define bl _sch_isblank
-#define cn _sch_iscntrl
-#define di _sch_isdigit
-#define is _sch_isidst
-#define lo _sch_islower
-#define nv _sch_isnvsp
-#define pn _sch_ispunct
-#define pr _sch_isprint
-#define sp _sch_isspace
-#define up _sch_isupper
-#define vs _sch_isvsp
-#define xd _sch_isxdigit
-
-/* Masks.  */
-#define L  lo|is   |pr /* lower case letter */
-#define XL lo|is|xd|pr /* lowercase hex digit */
-#define U  up|is   |pr /* upper case letter */
-#define XU up|is|xd|pr /* uppercase hex digit */
-#define D  di   |xd|pr /* decimal digit */
-#define P  pn      |pr /* punctuation */
-#define _  pn|is   |pr /* underscore */
-
-#define C           cn /* control character */
-#define Z  nv      |cn /* NUL */
-#define M  nv|sp   |cn /* cursor movement: \f \v */
-#define V  vs|sp   |cn /* vertical space: \r \n */
-#define T  nv|sp|bl|cn /* tab */
-#define S  nv|sp|bl|pr /* space */
-
-/* Are we ASCII? */
-#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \
-  && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 \
-  && EOF == -1
-
-const unsigned short _sch_istable[256] =
-{
-  Z,  C,  C,  C,   C,  C,  C,  C,   /* NUL SOH STX ETX  EOT ENQ ACK BEL */
-  C,  T,  V,  M,   M,  V,  C,  C,   /* BS  HT  LF  VT   FF  CR  SO  SI  */
-  C,  C,  C,  C,   C,  C,  C,  C,   /* DLE DC1 DC2 DC3  DC4 NAK SYN ETB */
-  C,  C,  C,  C,   C,  C,  C,  C,   /* CAN EM  SUB ESC  FS  GS  RS  US  */
-  S,  P,  P,  P,   P,  P,  P,  P,   /* SP  !   "   #    $   %   &   '   */
-  P,  P,  P,  P,   P,  P,  P,  P,   /* (   )   *   +    ,   -   .   /   */
-  D,  D,  D,  D,   D,  D,  D,  D,   /* 0   1   2   3    4   5   6   7   */
-  D,  D,  P,  P,   P,  P,  P,  P,   /* 8   9   :   ;    <   =   >   ?   */
-  P, XU, XU, XU,  XU, XU, XU,  U,   /* @   A   B   C    D   E   F   G   */
-  U,  U,  U,  U,   U,  U,  U,  U,   /* H   I   J   K    L   M   N   O   */
-  U,  U,  U,  U,   U,  U,  U,  U,   /* P   Q   R   S    T   U   V   W   */
-  U,  U,  U,  P,   P,  P,  P,  _,   /* X   Y   Z   [    \   ]   ^   _   */
-  P, XL, XL, XL,  XL, XL, XL,  L,   /* `   a   b   c    d   e   f   g   */
-  L,  L,  L,  L,   L,  L,  L,  L,   /* h   i   j   k    l   m   n   o   */
-  L,  L,  L,  L,   L,  L,  L,  L,   /* p   q   r   s    t   u   v   w   */
-  L,  L,  L,  P,   P,  P,  P,  C,   /* x   y   z   {    |   }   ~   DEL */
-
-  /* high half of unsigned char is locale-specific, so all tests are
-     false in "C" locale */
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,
-};
-
-const unsigned char _sch_tolower[256] =
-{
-   0,  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,
-
-  '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',
-
-  91, 92, 93, 94, 95, 96,
-
-  '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',
-
- 123,124,125,126,127,
-
- 128,129,130,131, 132,133,134,135, 136,137,138,139, 140,141,142,143,
- 144,145,146,147, 148,149,150,151, 152,153,154,155, 156,157,158,159,
- 160,161,162,163, 164,165,166,167, 168,169,170,171, 172,173,174,175,
- 176,177,178,179, 180,181,182,183, 184,185,186,187, 188,189,190,191,
-
- 192,193,194,195, 196,197,198,199, 200,201,202,203, 204,205,206,207,
- 208,209,210,211, 212,213,214,215, 216,217,218,219, 220,221,222,223,
- 224,225,226,227, 228,229,230,231, 232,233,234,235, 236,237,238,239,
- 240,241,242,243, 244,245,246,247, 248,249,250,251, 252,253,254,255,
-};
-
-const unsigned char _sch_toupper[256] =
-{
-   0,  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,
-
-  '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',
-
-  91, 92, 93, 94, 95, 96,
-
-  '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',
-
- 123,124,125,126,127,
-
- 128,129,130,131, 132,133,134,135, 136,137,138,139, 140,141,142,143,
- 144,145,146,147, 148,149,150,151, 152,153,154,155, 156,157,158,159,
- 160,161,162,163, 164,165,166,167, 168,169,170,171, 172,173,174,175,
- 176,177,178,179, 180,181,182,183, 184,185,186,187, 188,189,190,191,
-
- 192,193,194,195, 196,197,198,199, 200,201,202,203, 204,205,206,207,
- 208,209,210,211, 212,213,214,215, 216,217,218,219, 220,221,222,223,
- 224,225,226,227, 228,229,230,231, 232,233,234,235, 236,237,238,239,
- 240,241,242,243, 244,245,246,247, 248,249,250,251, 252,253,254,255,
-};
-
-#else
- #error "Unsupported host character set"
-#endif /* not ASCII */
diff --git a/src/safe-ctype.h b/src/safe-ctype.h
deleted file mode 100644 (file)
index 0c5c586..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/* <ctype.h> replacement macros.
-
-   Copyright (C) 2000 Free Software Foundation, Inc.
-   Contributed by Zack Weinberg <zackw@stanford.edu>.
-
-This file is part of the libiberty library.
-Libiberty 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 of the License, or (at your option) any later version.
-
-Libiberty 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 libiberty; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite
-Boston, MA 02111-1307, USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
-
-/* This is a compatible replacement of the standard C library's <ctype.h>
-   with the following properties:
-
-   - Implements all isxxx() macros required by C99.
-   - Also implements some character classes useful when
-     parsing C-like languages.
-   - Does not change behavior depending on the current locale.
-   - Behaves properly for all values in the range of a signed or
-     unsigned char.
-
-   To avoid conflicts, this header defines the isxxx functions in upper
-   case, e.g. ISALPHA not isalpha.  */
-
-#ifndef SAFE_CTYPE_H
-#define SAFE_CTYPE_H
-
-/* Catch erroneous use of ctype macros.  Files that really know what
-   they're doing can disable this check by defining the
-   I_REALLY_WANT_CTYPE_MACROS preprocessor constant. */
-
-#ifndef I_REALLY_WANT_CTYPE_MACROS
-
-/* We used to #define these to errors, but that loses when real
-   ctype.h is included, usually by a library's (OpenSSL's) header
-   which gets #included after wget.h.  */
-
-#undef isalpha
-#undef isalnum
-#undef isblank
-#undef iscntrl
-#undef isdigit
-#undef isgraph
-#undef islower
-#undef isprint
-#undef ispunct
-#undef isspace
-#undef isupper
-#undef isxdigit
-
-#endif /* I_REALLY_WANT_CTYPE_MACROS */
-
-/* Categories.  */
-
-enum {
-  /* In C99 */
-  _sch_isblank  = 0x0001,      /* space \t */
-  _sch_iscntrl  = 0x0002,      /* nonprinting characters */
-  _sch_isdigit  = 0x0004,      /* 0-9 */
-  _sch_islower  = 0x0008,      /* a-z */
-  _sch_isprint  = 0x0010,      /* any printing character including ' ' */
-  _sch_ispunct  = 0x0020,      /* all punctuation */
-  _sch_isspace  = 0x0040,      /* space \t \n \r \f \v */
-  _sch_isupper  = 0x0080,      /* A-Z */
-  _sch_isxdigit = 0x0100,      /* 0-9A-Fa-f */
-
-  /* Extra categories useful to cpplib.  */
-  _sch_isidst  = 0x0200,       /* A-Za-z_ */
-  _sch_isvsp    = 0x0400,      /* \n \r */
-  _sch_isnvsp   = 0x0800,      /* space \t \f \v \0 */
-
-  /* Combinations of the above.  */
-  _sch_isalpha  = _sch_isupper|_sch_islower,   /* A-Za-z */
-  _sch_isalnum  = _sch_isalpha|_sch_isdigit,   /* A-Za-z0-9 */
-  _sch_isidnum  = _sch_isidst|_sch_isdigit,    /* A-Za-z0-9_ */
-  _sch_isgraph  = _sch_isalnum|_sch_ispunct,   /* isprint and not space */
-  _sch_iscppsp  = _sch_isvsp|_sch_isnvsp       /* isspace + \0 */
-};
-
-/* Character classification.  */
-extern const unsigned short _sch_istable[256];
-
-#define _sch_test(c, bit) (_sch_istable[(c) & 0xff] & (unsigned short)(bit))
-
-#define ISALPHA(c)  _sch_test(c, _sch_isalpha)
-#define ISALNUM(c)  _sch_test(c, _sch_isalnum)
-#define ISBLANK(c)  _sch_test(c, _sch_isblank)
-#define ISCNTRL(c)  _sch_test(c, _sch_iscntrl)
-#define ISDIGIT(c)  _sch_test(c, _sch_isdigit)
-#define ISGRAPH(c)  _sch_test(c, _sch_isgraph)
-#define ISLOWER(c)  _sch_test(c, _sch_islower)
-#define ISPRINT(c)  _sch_test(c, _sch_isprint)
-#define ISPUNCT(c)  _sch_test(c, _sch_ispunct)
-#define ISSPACE(c)  _sch_test(c, _sch_isspace)
-#define ISUPPER(c)  _sch_test(c, _sch_isupper)
-#define ISXDIGIT(c) _sch_test(c, _sch_isxdigit)
-
-#define ISIDNUM(c)     _sch_test(c, _sch_isidnum)
-#define ISIDST(c)      _sch_test(c, _sch_isidst)
-#define IS_VSPACE(c)   _sch_test(c, _sch_isvsp)
-#define IS_NVSPACE(c)  _sch_test(c, _sch_isnvsp)
-#define IS_SPACE_OR_NUL(c)     _sch_test(c, _sch_iscppsp)
-
-/* Character transformation.  */
-extern const unsigned char  _sch_toupper[256];
-extern const unsigned char  _sch_tolower[256];
-#define TOUPPER(c) _sch_toupper[(c) & 0xff]
-#define TOLOWER(c) _sch_tolower[(c) & 0xff]
-
-#endif /* SAFE_CTYPE_H */
index 057ccc2740362842a6967a586e16b9772faafa8a..f458981af8f65f0726a4d7e0d29133c0216b6509 100644 (file)
 
 #include <string.h>
 #include <sys/types.h>
-#include <stdio.h>             /* for NULL */
+#include <stdio.h>              /* for NULL */
 
 #include <stdarg.h>
 
@@ -133,13 +133,13 @@ int snprintf (char *str, size_t count, const char *fmt, ...);
 int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
 
 static int dopr (char *buffer, size_t maxlen, const char *format,
-                va_list args);
+                 va_list args);
 static int fmtstr (char *buffer, size_t *currlen, size_t maxlen,
-                  const char *value, int flags, int min, int max);
+                   const char *value, int flags, int min, int max);
 static int fmtint (char *buffer, size_t *currlen, size_t maxlen,
-                  LLONG value, int base, int min, int max, int flags);
+                   LLONG value, int base, int min, int max, int flags);
 static int fmtfp (char *buffer, size_t *currlen, size_t maxlen,
-                 LDOUBLE fvalue, int min, int max, int flags);
+                  LDOUBLE fvalue, int min, int max, int flags);
 static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c);
 
 /*
@@ -158,14 +158,14 @@ static int dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c);
 #define DP_S_DONE    8
 
 /* format flags - Bits */
-#define DP_F_MINUS     (1 << 0)
-#define DP_F_PLUS      (1 << 1)
-#define DP_F_SPACE     (1 << 2)
-#define DP_F_NUM       (1 << 3)
-#define DP_F_ZERO      (1 << 4)
-#define DP_F_UP        (1 << 5)
-#define DP_F_UNSIGNED  (1 << 6)
-#define DP_F_FP_G      (1 << 7)
+#define DP_F_MINUS      (1 << 0)
+#define DP_F_PLUS       (1 << 1)
+#define DP_F_SPACE      (1 << 2)
+#define DP_F_NUM        (1 << 3)
+#define DP_F_ZERO       (1 << 4)
+#define DP_F_UP         (1 << 5)
+#define DP_F_UNSIGNED   (1 << 6)
+#define DP_F_FP_G       (1 << 7)
 
 /* Conversion Flags */
 #define DP_C_SHORT   1
@@ -206,113 +206,113 @@ static int dopr (char *buffer, size_t maxlen, const char *format, va_list args)
     {
     case DP_S_DEFAULT:
       if (ch == '%') 
-       state = DP_S_FLAGS;
+        state = DP_S_FLAGS;
       else 
-       total += dopr_outch (buffer, &currlen, maxlen, ch);
+        total += dopr_outch (buffer, &currlen, maxlen, ch);
       ch = *format++;
       break;
     case DP_S_FLAGS:
       switch (ch) 
       {
       case '-':
-       flags |= DP_F_MINUS;
+        flags |= DP_F_MINUS;
         ch = *format++;
-       break;
+        break;
       case '+':
-       flags |= DP_F_PLUS;
+        flags |= DP_F_PLUS;
         ch = *format++;
-       break;
+        break;
       case ' ':
-       flags |= DP_F_SPACE;
+        flags |= DP_F_SPACE;
         ch = *format++;
-       break;
+        break;
       case '#':
-       flags |= DP_F_NUM;
+        flags |= DP_F_NUM;
         ch = *format++;
-       break;
+        break;
       case '0':
-       flags |= DP_F_ZERO;
+        flags |= DP_F_ZERO;
         ch = *format++;
-       break;
+        break;
       default:
-       state = DP_S_MIN;
-       break;
+        state = DP_S_MIN;
+        break;
       }
       break;
     case DP_S_MIN:
       if ('0' <= ch && ch <= '9')
       {
-       min = 10*min + char_to_int (ch);
-       ch = *format++;
+        min = 10*min + char_to_int (ch);
+        ch = *format++;
       } 
       else if (ch == '*') 
       {
-       min = va_arg (args, int);
-       ch = *format++;
-       state = DP_S_DOT;
+        min = va_arg (args, int);
+        ch = *format++;
+        state = DP_S_DOT;
       } 
       else 
-       state = DP_S_DOT;
+        state = DP_S_DOT;
       break;
     case DP_S_DOT:
       if (ch == '.') 
       {
-       state = DP_S_MAX;
-       ch = *format++;
+        state = DP_S_MAX;
+        ch = *format++;
       } 
       else 
-       state = DP_S_MOD;
+        state = DP_S_MOD;
       break;
     case DP_S_MAX:
       if ('0' <= ch && ch <= '9')
       {
-       if (max < 0)
-         max = 0;
-       max = 10*max + char_to_int (ch);
-       ch = *format++;
+        if (max < 0)
+          max = 0;
+        max = 10*max + char_to_int (ch);
+        ch = *format++;
       } 
       else if (ch == '*') 
       {
-       max = va_arg (args, int);
-       ch = *format++;
-       state = DP_S_MOD;
+        max = va_arg (args, int);
+        ch = *format++;
+        state = DP_S_MOD;
       } 
       else 
-       state = DP_S_MOD;
+        state = DP_S_MOD;
       break;
     case DP_S_MOD:
       switch (ch) 
       {
       case 'h':
-       cflags = DP_C_SHORT;
-       ch = *format++;
-       break;
+        cflags = DP_C_SHORT;
+        ch = *format++;
+        break;
       case 'l':
-       cflags = DP_C_LONG;
-       ch = *format++;
-       break;
+        cflags = DP_C_LONG;
+        ch = *format++;
+        break;
       case 'L':
-       cflags = DP_C_LDOUBLE;
-       ch = *format++;
-       break;
+        cflags = DP_C_LDOUBLE;
+        ch = *format++;
+        break;
       default:
-       break;
+        break;
       }
       if (cflags != DP_C_LONG)
-       state = DP_S_CONV;
+        state = DP_S_CONV;
       else
-       state = DP_S_MOD_L;
+        state = DP_S_MOD_L;
       break;
     case DP_S_MOD_L:
       switch (ch)
-       {
-       case 'l':
-         cflags = DP_C_LLONG;
-         ch = *format++;
-         break;
-       default:
-         break;
-       }
+        {
+        case 'l':
+          cflags = DP_C_LLONG;
+          ch = *format++;
+          break;
+        default:
+          break;
+        }
       state = DP_S_CONV;
       break;
     case DP_S_CONV:
@@ -320,131 +320,131 @@ static int dopr (char *buffer, size_t maxlen, const char *format, va_list args)
       {
       case 'd':
       case 'i':
-       if (cflags == DP_C_SHORT) 
-         value = (short int) va_arg (args, int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, long int);
-       else if (cflags == DP_C_LLONG)
-         value = va_arg (args, LLONG);
-       else
-         value = va_arg (args, int);
-       total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
-       break;
+        if (cflags == DP_C_SHORT) 
+          value = (short int) va_arg (args, int);
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, long int);
+        else if (cflags == DP_C_LLONG)
+          value = va_arg (args, LLONG);
+        else
+          value = va_arg (args, int);
+        total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
+        break;
       case 'o':
-       flags |= DP_F_UNSIGNED;
-       if (cflags == DP_C_SHORT)
-         value = (unsigned short int) va_arg (args, unsigned int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, unsigned long int);
-       else if (cflags == DP_C_LLONG)
-         value = va_arg (args, unsigned LLONG);
-       else
-         value = va_arg (args, unsigned int);
-       total += fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags);
-       break;
+        flags |= DP_F_UNSIGNED;
+        if (cflags == DP_C_SHORT)
+          value = (unsigned short int) va_arg (args, unsigned int);
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, unsigned long int);
+        else if (cflags == DP_C_LLONG)
+          value = va_arg (args, unsigned LLONG);
+        else
+          value = va_arg (args, unsigned int);
+        total += fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags);
+        break;
       case 'u':
-       flags |= DP_F_UNSIGNED;
-       if (cflags == DP_C_SHORT)
-         value = (unsigned short int) va_arg (args, unsigned int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, unsigned long int);
-       else if (cflags == DP_C_LLONG)
-         value = va_arg (args, unsigned LLONG);
-       else
-         value = va_arg (args, unsigned int);
-       total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
-       break;
+        flags |= DP_F_UNSIGNED;
+        if (cflags == DP_C_SHORT)
+          value = (unsigned short int) va_arg (args, unsigned int);
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, unsigned long int);
+        else if (cflags == DP_C_LLONG)
+          value = va_arg (args, unsigned LLONG);
+        else
+          value = va_arg (args, unsigned int);
+        total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
+        break;
       case 'X':
-       flags |= DP_F_UP;
+        flags |= DP_F_UP;
       case 'x':
-       flags |= DP_F_UNSIGNED;
-       if (cflags == DP_C_SHORT)
-         value = (unsigned short int) va_arg (args, unsigned int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, unsigned long int);
-       else if (cflags == DP_C_LLONG)
-         value = va_arg (args, unsigned LLONG);
-       else
-         value = va_arg (args, unsigned int);
-       total += fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags);
-       break;
+        flags |= DP_F_UNSIGNED;
+        if (cflags == DP_C_SHORT)
+          value = (unsigned short int) va_arg (args, unsigned int);
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, unsigned long int);
+        else if (cflags == DP_C_LLONG)
+          value = va_arg (args, unsigned LLONG);
+        else
+          value = va_arg (args, unsigned int);
+        total += fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags);
+        break;
       case 'f':
-       if (cflags == DP_C_LDOUBLE)
-         fvalue = va_arg (args, LDOUBLE);
-       else
-         fvalue = va_arg (args, double);
-       total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
-       break;
+        if (cflags == DP_C_LDOUBLE)
+          fvalue = va_arg (args, LDOUBLE);
+        else
+          fvalue = va_arg (args, double);
+        total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
+        break;
       case 'E':
-       flags |= DP_F_UP;
+        flags |= DP_F_UP;
       case 'e':
-       if (cflags == DP_C_LDOUBLE)
-         fvalue = va_arg (args, LDOUBLE);
-       else
-         fvalue = va_arg (args, double);
-       total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
-       break;
+        if (cflags == DP_C_LDOUBLE)
+          fvalue = va_arg (args, LDOUBLE);
+        else
+          fvalue = va_arg (args, double);
+        total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
+        break;
       case 'G':
-       flags |= DP_F_UP;
+        flags |= DP_F_UP;
       case 'g':
-       flags |= DP_F_FP_G;
-       if (cflags == DP_C_LDOUBLE)
-         fvalue = va_arg (args, LDOUBLE);
-       else
-         fvalue = va_arg (args, double);
-       if (max == 0)
-         /* C99 says: if precision [for %g] is zero, it is taken as one */
-         max = 1;
-       total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
-       break;
+        flags |= DP_F_FP_G;
+        if (cflags == DP_C_LDOUBLE)
+          fvalue = va_arg (args, LDOUBLE);
+        else
+          fvalue = va_arg (args, double);
+        if (max == 0)
+          /* C99 says: if precision [for %g] is zero, it is taken as one */
+          max = 1;
+        total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
+        break;
       case 'c':
-       total += dopr_outch (buffer, &currlen, maxlen, va_arg (args, int));
-       break;
+        total += dopr_outch (buffer, &currlen, maxlen, va_arg (args, int));
+        break;
       case 's':
-       strvalue = va_arg (args, char *);
-       total += fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max);
-       break;
+        strvalue = va_arg (args, char *);
+        total += fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max);
+        break;
       case 'p':
-       strvalue = va_arg (args, void *);
-       total += fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min,
+        strvalue = va_arg (args, void *);
+        total += fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min,
                          max, flags);
-       break;
+        break;
       case 'n':
-       if (cflags == DP_C_SHORT) 
-       {
-         short int *num;
-         num = va_arg (args, short int *);
-         *num = currlen;
+        if (cflags == DP_C_SHORT) 
+        {
+          short int *num;
+          num = va_arg (args, short int *);
+          *num = currlen;
         }
-       else if (cflags == DP_C_LONG) 
-       {
-         long int *num;
-         num = va_arg (args, long int *);
-         *num = currlen;
+        else if (cflags == DP_C_LONG) 
+        {
+          long int *num;
+          num = va_arg (args, long int *);
+          *num = currlen;
         } 
-       else if (cflags == DP_C_LLONG) 
-       {
-         LLONG *num;
-         num = va_arg (args, LLONG *);
-         *num = currlen;
+        else if (cflags == DP_C_LLONG) 
+        {
+          LLONG *num;
+          num = va_arg (args, LLONG *);
+          *num = currlen;
         } 
-       else 
-       {
-         int *num;
-         num = va_arg (args, int *);
-         *num = currlen;
+        else 
+        {
+          int *num;
+          num = va_arg (args, int *);
+          *num = currlen;
         }
-       break;
+        break;
       case '%':
-       total += dopr_outch (buffer, &currlen, maxlen, ch);
-       break;
+        total += dopr_outch (buffer, &currlen, maxlen, ch);
+        break;
       case 'w':
-       /* not supported yet, treat as next char */
-       ch = *format++;
-       break;
+        /* not supported yet, treat as next char */
+        ch = *format++;
+        break;
       default:
-       /* Unknown, skip */
-       break;
+        /* Unknown, skip */
+        break;
       }
       ch = *format++;
       state = DP_S_DEFAULT;
@@ -469,7 +469,7 @@ static int dopr (char *buffer, size_t maxlen, const char *format, va_list args)
 }
 
 static int fmtstr (char *buffer, size_t *currlen, size_t maxlen,
-                  const char *value, int flags, int min, int max)
+                   const char *value, int flags, int min, int max)
 {
   int padlen, strln;     /* amount to pad */
   int cnt = 0;
@@ -514,7 +514,7 @@ static int fmtstr (char *buffer, size_t *currlen, size_t maxlen,
 /* Have to handle DP_F_NUM (ie 0x and 0 alternates) */
 
 static int fmtint (char *buffer, size_t *currlen, size_t maxlen,
-                  LLONG value, int base, int min, int max, int flags)
+                   LLONG value, int base, int min, int max, int flags)
 {
   int signvalue = 0;
   unsigned LLONG uvalue;
@@ -538,10 +538,10 @@ static int fmtint (char *buffer, size_t *currlen, size_t maxlen,
     }
     else
       if (flags & DP_F_PLUS)  /* Do a sign (+/i) */
-       signvalue = '+';
+        signvalue = '+';
     else
       if (flags & DP_F_SPACE)
-       signvalue = ' ';
+        signvalue = ' ';
   }
   
   if (flags & DP_F_UP)
@@ -644,7 +644,7 @@ static LLONG round_int (LDOUBLE value)
 }
 
 static int fmtfp (char *buffer, size_t *currlen, size_t maxlen,
-                 LDOUBLE fvalue, int min, int max, int flags)
+                  LDOUBLE fvalue, int min, int max, int flags)
 {
   int signvalue = 0;
   LDOUBLE ufvalue;
@@ -678,7 +678,7 @@ static int fmtfp (char *buffer, size_t *currlen, size_t maxlen,
       signvalue = '+';
     else
       if (flags & DP_F_SPACE)
-       signvalue = ' ';
+        signvalue = ' ';
 
 #if 0
   if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
@@ -691,23 +691,23 @@ static int fmtfp (char *buffer, size_t *currlen, size_t maxlen,
   if (flags & DP_F_FP_G)
     {
       if (intpart != 0)
-       {
-         /* For each digit of INTPART, print one less fractional digit. */
-         LLONG temp = intpart;
-         for (temp = intpart; temp != 0; temp /= 10)
-           --max;
-         if (max < 0)
-           max = 0;
-       }
+        {
+          /* For each digit of INTPART, print one less fractional digit. */
+          LLONG temp = intpart;
+          for (temp = intpart; temp != 0; temp /= 10)
+            --max;
+          if (max < 0)
+            max = 0;
+        }
       else
-       {
-         /* For each leading 0 in fractional part, print one more
-            fractional digit. */
-         LDOUBLE temp;
-         if (ufvalue != 0)
-           for (temp = ufvalue; temp < 0.1; temp *= 10)
-             ++max;
-       }
+        {
+          /* For each leading 0 in fractional part, print one more
+             fractional digit. */
+          LDOUBLE temp;
+          if (ufvalue != 0)
+            for (temp = ufvalue; temp < 0.1; temp *= 10)
+              ++max;
+        }
     }
 
   /* C99: trailing zeros are removed from the fractional portion of the
@@ -716,9 +716,9 @@ static int fmtfp (char *buffer, size_t *currlen, size_t maxlen,
     omitzeros = 1;
 
 #if SIZEOF_LONG_LONG > 0
-# define MAX_DIGITS 18         /* grok more digits with long long */
+# define MAX_DIGITS 18          /* grok more digits with long long */
 #else
-# define MAX_DIGITS 9          /* just long */
+# define MAX_DIGITS 9           /* just long */
 #endif
 
   /* 
@@ -747,8 +747,8 @@ static int fmtfp (char *buffer, size_t *currlen, size_t maxlen,
        requires one leading zero to distinguish it from 2.1. */
     while (fracpart < mask10 / 10)
       {
-       ++leadingfrac0s;
-       mask10 /= 10;
+        ++leadingfrac0s;
+        mask10 /= 10;
       }
 
 #ifdef DEBUG_SNPRINTF
@@ -915,8 +915,8 @@ int main (void)
     NULL
   };
   double fp_nums[] = { -1.5, 134.21, 91340.2, 341.1234, 0203.9, 0.96, 0.996, 
-                      0.9996, 1.996, 4.136, 0.00205, 0.0001, 321.000009,
-                      0};
+                       0.9996, 1.996, 4.136, 0.00205, 0.0001, 321.000009,
+                       0};
   char *int_fmt[] = {
     "%-1.5d",
     "%1.5d",
@@ -932,20 +932,20 @@ int main (void)
   long int_nums[] = { -1, 134, 91340, 341, 0203, 0};
 #if SIZEOF_LONG_LONG != 0
   char *llong_fmt[] = {
-    "%lld",            "%llu",
-    "%-1.5lld",                "%-1.5llu",
-    "%1.5lld",         "%1.5llu",
-    "%123.9lld",       "%123.9llu",
-    "%5.5lld",         "%5.5llu",
-    "%10.5lld",                "%10.5llu",
-    "% 10.5lld",       "% 10.5llu",
-    "%+22.33lld",      "%+22.33llu",
-    "%01.3lld",                "%01.3llu",
-    "%4lld",           "%4llu",
+    "%lld",             "%llu",
+    "%-1.5lld",         "%-1.5llu",
+    "%1.5lld",          "%1.5llu",
+    "%123.9lld",        "%123.9llu",
+    "%5.5lld",          "%5.5llu",
+    "%10.5lld",         "%10.5llu",
+    "% 10.5lld",        "% 10.5llu",
+    "%+22.33lld",       "%+22.33llu",
+    "%01.3lld",         "%01.3llu",
+    "%4lld",            "%4llu",
     NULL
   };
   long long llong_nums[] = {
-    ~(long long)0,             /* all-1 bit pattern */
+    ~(long long)0,              /* all-1 bit pattern */
     (~(unsigned long long)0) >> 1, /* largest signed long long */
     /* random... */
     -150, 134, 91340, 341,
@@ -965,9 +965,9 @@ int main (void)
       sprintf (buf2, fp_fmt[x], fp_nums[y]);
       if (strcmp (buf1, buf2))
       {
-       printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", 
-           fp_fmt[x], buf1, buf2);
-       fail++;
+        printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", 
+            fp_fmt[x], buf1, buf2);
+        fail++;
       }
       num++;
     }
@@ -979,9 +979,9 @@ int main (void)
       sprintf (buf2, int_fmt[x], int_nums[y]);
       if (strcmp (buf1, buf2))
       {
-       printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", 
-           int_fmt[x], buf1, buf2);
-       fail++;
+        printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", 
+            int_fmt[x], buf1, buf2);
+        fail++;
       }
       num++;
     }
@@ -994,9 +994,9 @@ int main (void)
       sprintf (buf2, llong_fmt[x], llong_nums[y]);
       if (strcmp (buf1, buf2))
       {
-       printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", 
-           llong_fmt[x], buf1, buf2);
-       fail++;
+        printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", 
+            llong_fmt[x], buf1, buf2);
+        fail++;
       }
       num++;
     }
index d8cf83619d9b349f9c925cd71695abdf582f31fb..08fefc9f353cb698a3321871dfe10f3a28322f40 100644 (file)
@@ -1,11 +1,11 @@
 /* Keep track of visited URLs in spider mode.
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,26 +14,25 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <errno.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "spider.h"
 #include "url.h"
 #include "utils.h"
@@ -41,7 +40,6 @@ so, delete this exception statement from your version.  */
 #include "res.h"
 
 
-static struct hash_table *visited_urls_hash;
 static struct hash_table *nonexisting_urls_set;
 
 /* Cleanup the data structures associated with this file.  */
@@ -49,72 +47,10 @@ static struct hash_table *nonexisting_urls_set;
 void
 spider_cleanup (void)
 {
-  if (visited_urls_hash)
-    {
-      free_keys_and_values (visited_urls_hash);
-      hash_table_destroy (visited_urls_hash);
-      visited_urls_hash = NULL;
-    }
   if (nonexisting_urls_set)
     string_set_free (nonexisting_urls_set);
 }
 \f
-/* Remembers visited files.  */
-
-struct url_list 
-{
-  char *url;
-  struct url_list *next;
-};
-
-static bool
-in_url_list_p (const struct url_list *list, const char *url, bool verbose)
-{
-  const struct url_list *ptr;
-  
-  for (ptr = list; ptr; ptr = ptr->next)
-    {
-      /* str[case]cmp is inadequate for URL comparison */
-      if (are_urls_equal (url, ptr->url)) 
-        return true;
-    }
-  return false;
-}
-
-void
-visited_url (const char *url, const char *referrer)
-{
-  struct url_list *list;
-
-  /* Ignore robots.txt URLs */
-  if (is_robots_txt_url (url))
-    return;
-  
-  if (!visited_urls_hash)
-    visited_urls_hash = make_string_hash_table (0);
-
-  list = hash_table_get (visited_urls_hash, url);
-  if (!list)
-    {
-      list = (struct url_list *) xnew0 (struct url_list);
-      list->url = referrer ? xstrdup (referrer) : NULL;
-      hash_table_put (visited_urls_hash, xstrdup (url), list);
-    }
-  else if (referrer && !in_url_list_p (list, referrer, false)) 
-    {
-      /* Append referrer at the end of the list */
-      struct url_list *newnode;
-      
-      while (list->next) 
-        list = list->next;
-      
-      newnode = (struct url_list *) xnew0 (struct url_list);
-      newnode->url = xstrdup (referrer);
-      list->next = newnode;
-    }
-}
-\f
 /* Remembers broken links.  */
 void
 nonexisting_url (const char *url)
@@ -141,16 +77,10 @@ print_broken_links (void)
   
   num_elems = hash_table_count (nonexisting_urls_set);
   assert (num_elems > 0);
-  
-  if (num_elems > 1) 
-    {
-      logprintf (LOG_NOTQUIET, _("Found %d broken links.\n\n"), 
-                 num_elems);
-    }
-  else
-    {
-      logprintf (LOG_NOTQUIET, _("Found 1 broken link.\n\n"));
-    }
+
+  logprintf (LOG_NOTQUIET, ngettext("Found %d broken link.\n\n",
+                                    "Found %d broken links.\n\n", num_elems),
+             num_elems);
   
   for (hash_table_iterate (nonexisting_urls_set, &iter);
        hash_table_iter_next (&iter); )
@@ -158,13 +88,7 @@ print_broken_links (void)
       struct url_list *list;
       const char *url = (const char *) iter.key;
           
-      logprintf (LOG_NOTQUIET, _("%s referred by:\n"), url);
-      
-      for (list = (struct url_list *) hash_table_get (visited_urls_hash, url); 
-           list; list = list->next) 
-        {
-          logprintf (LOG_NOTQUIET, _("    %s\n"), list->url);
-        }
+      logprintf (LOG_NOTQUIET, _("%s\n"), url);
     }
   logputs (LOG_NOTQUIET, "\n");
 }
index 9cf71e80ede54bdbe44b347384793d9e4b899828..d156df68c73b8061c8e65eb961dddefb5b875ee1 100644 (file)
@@ -1,11 +1,11 @@
 /* Declarations for spider.c
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,23 +14,23 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef SPIDER_H
 #define SPIDER_H
 
-void visited_url (const char *, const char *);
+#define visited_url(a,b)
 void nonexisting_url (const char *);
 void print_broken_links (void);
 
index ad2b9961bbf0c0a1c5a1440c427e988dfc7642cf..67fcda5b4cc7cb4bd3821f18671f48df40c055b4 100644 (file)
--- a/src/ssl.h
+++ b/src/ssl.h
@@ -1,12 +1,13 @@
 /* SSL support.
-   Copyright (C) 2000-2006 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
    Originally contributed by Christian Fraenkel.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,19 +15,19 @@ 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 Wget; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+You should have received a copy of the GNU General Public License along
+with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef GEN_SSLFUNC_H
 #define GEN_SSLFUNC_H
index 4df419c9ccbd9b0bcbac1ebb0de86750fafeb09e..ec50e0452c99635db37ea1ec40536c7d21b642ca 100644 (file)
@@ -1,11 +1,12 @@
 /* Dirty system-dependent hacks.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* This file is included by wget.h.  Random .c files need not include
    it.  */
@@ -33,12 +34,86 @@ so, delete this exception statement from your version.  */
 #ifndef SYSDEP_H
 #define SYSDEP_H
 
+/* Testing for __sun is not enough because it's also defined on SunOS.  */
+#ifdef __sun
+# ifdef __SVR4
+#  define solaris
+# endif
+#endif
+
+/* The "namespace tweaks" below attempt to set a friendly "compilation
+   environment" under popular operating systems.  Default compilation
+   environment often means that some functions that are "extensions"
+   are not declared -- `strptime' is one example.
+
+   But non-default environments can expose bugs in the system header
+   files, crippling compilation in _very_ non-obvious ways.  Because
+   of that, we define them only on well-tested architectures where we
+   know they will work.  */
+
+#undef NAMESPACE_TWEAKS
+
+#ifdef solaris
+# define NAMESPACE_TWEAKS
+#endif
+
+#ifdef __linux__
+# define NAMESPACE_TWEAKS
+#endif
+
+#ifdef NAMESPACE_TWEAKS
+
+/* Request the "Unix 98 compilation environment". */
+#define _XOPEN_SOURCE 500
+
+/* For Solaris: request everything else that is available and doesn't
+   conflict with the above.  */
+#define __EXTENSIONS__
+
+/* For Linux: request features of 4.3BSD and SVID (System V Interface
+   Definition). */
+#define _SVID_SOURCE
+#define _BSD_SOURCE
+
+/* Under glibc-based systems we want all GNU extensions as well.  This
+   declares some unnecessary cruft, but also useful functions such as
+   timegm, FNM_CASEFOLD extension to fnmatch, memrchr, etc.  */
+#define _GNU_SOURCE
+
+#endif /* NAMESPACE_TWEAKS */
+
+
+/* Alloca declaration, based on recommendation in the Autoconf manual.
+   These have to be after the above namespace tweaks, but before any
+   non-preprocessor code.  */
+
+#if HAVE_ALLOCA_H
+# include <alloca.h>
+#elif defined WINDOWS
+# include <malloc.h>
+# ifndef alloca
+#  define alloca _alloca
+# endif
+#elif defined __GNUC__
+# define alloca __builtin_alloca
+#elif defined _AIX
+# define alloca __alloca
+#else
+# include <stddef.h>
+# ifdef  __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+#endif
+
 /* Must include these, so we can test for the missing stat macros and
    define them as necessary.  */
 #include <sys/types.h>
 #include <sys/stat.h>
 
 #ifdef HAVE_INTTYPES_H
+  /* Compaq C V6.5-303 (dtk) on HP Tru64 UNIX V5.1B (Rev. 2650) needs: */
+# include <stdint.h>
 # include <inttypes.h>
 #endif
 
@@ -70,15 +145,15 @@ typedef unsigned char _Bool;
 # define __bool_true_false_are_defined 1
 #endif
 
-/* Needed for compilation under OS/2: */
-#ifdef __EMX__
+/* Needed for compilation under OS/2 and MSDOS */
+#if defined(__EMX__) || defined(MSDOS)
 # ifndef S_ISLNK
 #  define S_ISLNK(m) 0
 # endif
 # ifndef lstat
 #  define lstat stat
 # endif
-#endif /* __EMX__ */
+#endif /* __EMX__ || MSDOS */
 
 /* Reportedly, stat() macros are broken on some old systems.  Those
    systems will have to fend for themselves, as I will not introduce
index f9102bcad5967aa4016b81572e3c417af811b294..04658bc75e79a49ca5a2c359c16f361dcbcaf34a 100644 (file)
@@ -1,11 +1,11 @@
 /* Unit testing.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #include <stdio.h>
 
index f128a87de345ccacb53d0e73d365afdb959ec275..496954e20697aa2a425014aebc8741b8cc9e933c 100644 (file)
@@ -1,11 +1,11 @@
 /* Unit testing declarations.
-   Copyright (C) 2005-2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,26 +14,32 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef TEST_H
 #define TEST_H
 
 /* from MinUnit */
 #define mu_assert(message, test) do { if (!(test)) return message; } while (0)
-#define mu_run_test(test) do { const char *message = test(); tests_run++; \
-                               if (message) return message; } while (0)
+#define mu_run_test(test) \
+do { \
+  puts("RUNNING TEST " #test "..."); \
+  const char *message = test(); \
+  tests_run++; \
+  if (message) return message; \
+  puts("PASSED\n"); \
+} while (0)
 
 extern int tests_run;
 
index 4a9b69e40e02baed5d711b3415750dab6edd6827..a561725a200db5bebc75d5284bdbdb21130c7ff9 100644 (file)
--- a/src/url.c
+++ b/src/url.c
@@ -1,11 +1,12 @@
 /* URL handling.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or (at
+the Free Software Foundation; either version 3 of the License, or (at
 your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -38,7 +39,6 @@ so, delete this exception statement from your version.  */
 #include <errno.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "utils.h"
 #include "url.h"
 #include "host.h"  /* for is_valid_ipv6_address */
@@ -183,7 +183,7 @@ url_unescape (char *s)
         {
           char c;
           /* Do nothing if '%' is not followed by two hex digits. */
-          if (!h[1] || !h[2] || !(ISXDIGIT (h[1]) && ISXDIGIT (h[2])))
+          if (!h[1] || !h[2] || !(c_isxdigit (h[1]) && c_isxdigit (h[2])))
             goto copychar;
           c = X2DIGITS_TO_NUM (h[1], h[2]);
           /* Don't unescape %00 because there is no way to insert it
@@ -272,7 +272,7 @@ char_needs_escaping (const char *p)
 {
   if (*p == '%')
     {
-      if (ISXDIGIT (*(p + 1)) && ISXDIGIT (*(p + 2)))
+      if (c_isxdigit (*(p + 1)) && c_isxdigit (*(p + 2)))
         return false;
       else
         /* Garbled %.. sequence: encode `%'. */
@@ -428,7 +428,7 @@ url_scheme (const char *url)
   return SCHEME_INVALID;
 }
 
-#define SCHEME_CHAR(ch) (ISALNUM (ch) || (ch) == '-' || (ch) == '+')
+#define SCHEME_CHAR(ch) (c_isalnum (ch) || (ch) == '-' || (ch) == '+')
 
 /* Return 1 if the URL begins with any "scheme", 0 otherwise.  As
    currently implemented, it returns true if URL begins with
@@ -590,10 +590,10 @@ lowercase_str (char *str)
 {
   bool changed = false;
   for (; *str; str++)
-    if (ISUPPER (*str))
+    if (c_isupper (*str))
       {
         changed = true;
-        *str = TOLOWER (*str);
+        *str = c_tolower (*str);
       }
   return changed;
 }
@@ -769,7 +769,7 @@ url_parse (const char *url, int *error)
       if (port_b != port_e)
         for (port = 0, pp = port_b; pp < port_e; pp++)
           {
-            if (!ISDIGIT (*pp))
+            if (!c_isdigit (*pp))
               {
                 /* http://host:12randomgarbage/blah */
                 /*               ^                  */
@@ -856,7 +856,7 @@ url_parse (const char *url, int *error)
       /* If we suspect that a transformation has rendered what
          url_string might return different from URL_ENCODED, rebuild
          u->url using url_string.  */
-      u->url = url_string (u, false);
+      u->url = url_string (u, URL_AUTH_SHOW);
 
       if (url_encoded != url)
         xfree ((char *) url_encoded);
@@ -1072,7 +1072,7 @@ sync_path (struct url *u)
 
   /* Regenerate u->url as well.  */
   xfree (u->url);
-  u->url = url_string (u, false);
+  u->url = url_string (u, URL_AUTH_SHOW);
 }
 
 /* Mutators.  Code in ftp.c insists on changing u->dir and u->file.
@@ -1370,12 +1370,12 @@ append_uri_pathel (const char *b, const char *e, bool escaped,
       || opt.restrict_files_case == restrict_uppercase)
     {
       char *q;
-      for (q = TAIL (dest); *q; ++q)
+      for (q = TAIL (dest); q < TAIL (dest) + outlen; ++q)
         {
           if (opt.restrict_files_case == restrict_lowercase)
-            *q = TOLOWER (*q);
+            *q = c_tolower (*q);
           else
-            *q = TOUPPER (*q);
+            *q = c_toupper (*q);
         }
     }
           
@@ -1815,7 +1815,7 @@ uri_merge (const char *base, const char *link)
    the URL will be quoted.  */
 
 char *
-url_string (const struct url *url, bool hide_password)
+url_string (const struct url *url, enum url_auth_mode auth_mode)
 {
   int size;
   char *result, *p;
@@ -1832,13 +1832,16 @@ url_string (const struct url *url, bool hide_password)
   /* Make sure the user name and password are quoted. */
   if (url->user)
     {
-      quoted_user = url_escape_allow_passthrough (url->user);
-      if (url->passwd)
+      if (auth_mode != URL_AUTH_HIDE)
         {
-          if (hide_password)
-            quoted_passwd = HIDDEN_PASSWORD;
-          else
-            quoted_passwd = url_escape_allow_passthrough (url->passwd);
+          quoted_user = url_escape_allow_passthrough (url->user);
+          if (url->passwd)
+            {
+              if (auth_mode == URL_AUTH_HIDE_PASSWD)
+                quoted_passwd = HIDDEN_PASSWORD;
+              else
+                quoted_passwd = url_escape_allow_passthrough (url->passwd);
+            }
         }
     }
 
@@ -1900,7 +1903,8 @@ url_string (const struct url *url, bool hide_password)
 
   if (quoted_user && quoted_user != url->user)
     xfree (quoted_user);
-  if (quoted_passwd && !hide_password && quoted_passwd != url->passwd)
+  if (quoted_passwd && auth_mode == URL_AUTH_SHOW
+      && quoted_passwd != url->passwd)
     xfree (quoted_passwd);
   if (quoted_host != url->host)
     xfree (quoted_host);
@@ -1936,10 +1940,7 @@ getchar_from_escaped_string (const char *str, char *c)
   
   if (p[0] == '%')
     {
-      if (p[1] == 0)
-        return 0; /* error: invalid string */
-
-      if (p[1] == '%')
+      if (!c_isxdigit(p[1]) || !c_isxdigit(p[2]))
         {
           *c = '%';
           return 1;
@@ -1950,8 +1951,13 @@ getchar_from_escaped_string (const char *str, char *c)
             return 0; /* error: invalid string */
 
           *c = X2DIGITS_TO_NUM (p[1], p[2]);
-
-          return 3;
+          if (URL_RESERVED_CHAR(*c))
+            {
+              *c = '%';
+              return 1;
+            }
+          else
+            return 3;
         }
     }
   else
@@ -1968,14 +1974,15 @@ are_urls_equal (const char *u1, const char *u2)
   const char *p, *q;
   int pp, qq;
   char ch1, ch2;
+  assert(u1 && u2);
 
   p = u1;
   q = u2;
 
-  while (*p 
+  while (*p && *q
          && (pp = getchar_from_escaped_string (p, &ch1))
          && (qq = getchar_from_escaped_string (q, &ch2))
-         && (TOLOWER(ch1) == TOLOWER(ch2)))
+         && (c_tolower(ch1) == c_tolower(ch2)))
     {
       p += pp;
       q += qq;
@@ -2086,6 +2093,7 @@ test_append_uri_pathel()
       
       append_string (test_array[i].original_url, &dest);
       append_uri_pathel (p, p + strlen(p), test_array[i].escaped, &dest);
+      append_char ('\0', &dest);
 
       mu_assert ("test_append_uri_pathel: wrong result", 
                  strcmp (dest.base, test_array[i].expected_result) == 0);
@@ -2107,6 +2115,8 @@ test_are_urls_equal()
     { "http://www.adomain.com/apath/", "http://www.adomain.com/anotherpath/", false },
     { "http://www.adomain.com/apath/", "http://www.anotherdomain.com/path/",  false },
     { "http://www.adomain.com/~path/", "http://www.adomain.com/%7epath/",     true },
+    { "http://www.adomain.com/longer-path/", "http://www.adomain.com/path/",  false },
+    { "http://www.adomain.com/path%2f", "http://www.adomain.com/path/",       false },
   };
   
   for (i = 0; i < sizeof(test_array)/sizeof(test_array[0]); ++i) 
index a2d295139d5fb0d3bd3dfac2518f1aa53b2ff2da..7c8bcfed92875dbd21e98084a798e5b10761c448 100644 (file)
--- a/src/url.h
+++ b/src/url.h
@@ -1,11 +1,12 @@
 /* Declarations for url.c.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef URL_H
 #define URL_H
@@ -35,6 +36,14 @@ so, delete this exception statement from your version.  */
 #define DEFAULT_FTP_PORT 21
 #define DEFAULT_HTTPS_PORT 443
 
+/* Specifies how, or whether, user auth information should be included
+ * in URLs regenerated from URL parse structures. */
+enum url_auth_mode {
+  URL_AUTH_SHOW,
+  URL_AUTH_HIDE_PASSWD,
+  URL_AUTH_HIDE
+};
+
 /* Note: the ordering here is related to the order of elements in
    `supported_schemes' in url.c.  */
 
@@ -87,7 +96,7 @@ bool url_has_scheme (const char *);
 int scheme_default_port (enum url_scheme);
 void scheme_disable (enum url_scheme);
 
-char *url_string (const struct url *, bool);
+char *url_string (const struct url *, enum url_auth_mode);
 char *url_file_name (const struct url *);
 
 char *uri_merge (const char *, const char *);
index 7a90c0692dfe6a569e1e53bafd6e92de23d91d36..a4928dabacea525261ba3806dd8f34d80f89ad6e 100644 (file)
@@ -1,11 +1,12 @@
 /* Various utility functions.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -42,6 +43,9 @@ so, delete this exception statement from your version.  */
 #ifdef HAVE_MMAP
 # include <sys/mman.h>
 #endif
+#ifdef HAVE_PROCESS_H
+# include <process.h>  /* getpid() */
+#endif
 #ifdef HAVE_UTIME_H
 # include <utime.h>
 #endif
@@ -77,7 +81,6 @@ so, delete this exception statement from your version.  */
 # define USE_SIGNAL_TIMEOUT
 #endif
 
-#include "wget.h"
 #include "utils.h"
 #include "hash.h"
 
@@ -93,7 +96,7 @@ xstrdup_lower (const char *s)
   char *copy = xstrdup (s);
   char *p = copy;
   for (; *p; p++)
-    *p = TOLOWER (*p);
+    *p = c_tolower (*p);
   return copy;
 }
 
@@ -126,18 +129,18 @@ sepstring (const char *s)
   while (*s)
     {
       if (*s == ',')
-       {
-         res = xrealloc (res, (i + 2) * sizeof (char *));
-         res[i] = strdupdelim (p, s);
-         res[++i] = NULL;
-         ++s;
-         /* Skip the blanks following the ','.  */
-         while (ISSPACE (*s))
-           ++s;
-         p = s;
-       }
+        {
+          res = xrealloc (res, (i + 2) * sizeof (char *));
+          res[i] = strdupdelim (p, s);
+          res[++i] = NULL;
+          ++s;
+          /* Skip the blanks following the ','.  */
+          while (c_isspace (*s))
+            ++s;
+          p = s;
+        }
       else
-       ++s;
+        ++s;
     }
   res = xrealloc (res, (i + 2) * sizeof (char *));
   res[i] = strdupdelim (p, s);
@@ -156,10 +159,17 @@ sepstring (const char *s)
    vsnprintf until the correct size is found.  Since Wget also ships a
    fallback implementation of vsnprintf, this should be portable.  */
 
+/* Constant is using for limits memory allocation for text buffer.
+   Applicable in situation when: vasprintf is not available in the system 
+   and vsnprintf return -1 when long line is truncated (in old versions of
+   glibc and in other system where C99 doesn`t support) */
+
+#define FMT_MAX_LENGTH 1048576
+
 char *
 aprintf (const char *fmt, ...)
 {
-#ifdef HAVE_VASPRINTF
+#if defined HAVE_VASPRINTF && !defined DEBUG_MALLOC
   /* Use vasprintf. */
   int ret;
   va_list args;
@@ -168,7 +178,8 @@ aprintf (const char *fmt, ...)
   ret = vasprintf (&str, fmt, args);
   va_end (args);
   if (ret < 0 && errno == ENOMEM)
-    abort ();                  /* for consistency with xmalloc/xrealloc */
+    memfatal ("aprintf", UNKNOWN_ATTEMPTED_SIZE);  /* for consistency
+                                                      with xmalloc/xrealloc */
   else if (ret < 0)
     return NULL;
   return str;
@@ -193,13 +204,26 @@ aprintf (const char *fmt, ...)
 
       /* If the printing worked, return the string. */
       if (n > -1 && n < size)
-       return str;
+        return str;
 
       /* Else try again with a larger buffer. */
-      if (n > -1)              /* C99 */
-       size = n + 1;           /* precisely what is needed */
+      if (n > -1)               /* C99 */
+        size = n + 1;           /* precisely what is needed */
+      else if (size >= FMT_MAX_LENGTH)  /* We have a huge buffer, */
+        {                               /* maybe we have some wrong
+                                           format string? */
+          logprintf (LOG_ALWAYS, 
+                     _("%s: aprintf: text buffer is too big (%ld bytes), "
+                       "aborting.\n"),
+                     exec_name, size);  /* printout a log message */
+          abort ();                     /* and abort... */
+        }
       else
-       size <<= 1;             /* twice the old size */
+        {
+          /* else, we continue to grow our
+           * buffer: Twice the old size. */
+          size <<= 1;
+        }
       str = xrealloc (str, size);
     }
 #endif /* not HAVE_VASPRINTF */
@@ -212,7 +236,7 @@ char *
 concat_strings (const char *str0, ...)
 {
   va_list args;
-  int saved_lengths[5];                /* inspired by Apache's apr_pstrcat */
+  int saved_lengths[5];         /* inspired by Apache's apr_pstrcat */
   char *ret, *p;
 
   const char *next_str;
@@ -227,7 +251,7 @@ concat_strings (const char *str0, ...)
     {
       int len = strlen (next_str);
       if (argcount < countof (saved_lengths))
-       saved_lengths[argcount++] = len;
+        saved_lengths[argcount++] = len;
       total_length += len;
     }
   va_end (args);
@@ -241,9 +265,9 @@ concat_strings (const char *str0, ...)
     {
       int len;
       if (argcount < countof (saved_lengths))
-       len = saved_lengths[argcount++];
+        len = saved_lengths[argcount++];
       else
-       len = strlen (next_str);
+        len = strlen (next_str);
       memcpy (p, next_str, len);
       p += len;
     }
@@ -288,9 +312,9 @@ datetime_str (time_t t)
 }
 \f
 /* The Windows versions of the following two functions are defined in
-   mswindows.c.  */
+   mswindows.c. On MSDOS this function should never be called. */
 
-#ifndef WINDOWS
+#if !defined(WINDOWS) && !defined(MSDOS)
 void
 fork_to_background (void)
 {
@@ -298,19 +322,19 @@ fork_to_background (void)
   /* Whether we arrange our own version of opt.lfilename here.  */
   bool logfile_changed = false;
 
-  if (!opt.lfilename)
+  if (!opt.lfilename && (!opt.quiet || opt.server_response))
     {
       /* We must create the file immediately to avoid either a race
-        condition (which arises from using unique_name and failing to
-        use fopen_excl) or lying to the user about the log file name
-        (which arises from using unique_name, printing the name, and
-        using fopen_excl later on.)  */
+         condition (which arises from using unique_name and failing to
+         use fopen_excl) or lying to the user about the log file name
+         (which arises from using unique_name, printing the name, and
+         using fopen_excl later on.)  */
       FILE *new_log_fp = unique_create (DEFAULT_LOGFILE, false, &opt.lfilename);
       if (new_log_fp)
-       {
-         logfile_changed = true;
-         fclose (new_log_fp);
-       }
+        {
+          logfile_changed = true;
+          fclose (new_log_fp);
+        }
     }
   pid = fork ();
   if (pid < 0)
@@ -324,8 +348,8 @@ fork_to_background (void)
       /* parent, no error */
       printf (_("Continuing in background, pid %d.\n"), (int) pid);
       if (logfile_changed)
-       printf (_("Output will be written to `%s'.\n"), opt.lfilename);
-      exit (0);                        /* #### should we use _exit()? */
+        printf (_("Output will be written to `%s'.\n"), opt.lfilename);
+      exit (0);                 /* #### should we use _exit()? */
     }
 
   /* child: give up the privileges and keep running. */
@@ -334,7 +358,7 @@ fork_to_background (void)
   freopen ("/dev/null", "w", stdout);
   freopen ("/dev/null", "w", stderr);
 }
-#endif /* not WINDOWS */
+#endif /* !WINDOWS && !MSDOS */
 \f
 /* "Touch" FILE, i.e. make its mtime ("modified time") equal the time
    specified with TM.  The atime ("access time") is set to the current
@@ -370,8 +394,8 @@ remove_link (const char *file)
       DEBUGP (("Unlinking %s (symlink).\n", file));
       err = unlink (file);
       if (err != 0)
-       logprintf (LOG_VERBOSE, _("Failed to unlink symlink `%s': %s\n"),
-                  file, strerror (errno));
+        logprintf (LOG_VERBOSE, _("Failed to unlink symlink `%s': %s\n"),
+                   file, strerror (errno));
     }
   return err;
 }
@@ -503,12 +527,12 @@ unique_create (const char *name, bool binary, char **opened_name)
   if (opened_name && fp != NULL)
     {
       if (fp)
-       *opened_name = uname;
+        *opened_name = uname;
       else
-       {
-         *opened_name = NULL;
-         xfree (uname);
-       }
+        {
+          *opened_name = NULL;
+          xfree (uname);
+        }
     }
   else
     xfree (uname);
@@ -573,21 +597,21 @@ make_directory (const char *directory)
   for (i = (*dir == '/'); 1; ++i)
     {
       for (; dir[i] && dir[i] != '/'; i++)
-       ;
+        ;
       if (!dir[i])
-       quit = 1;
+        quit = 1;
       dir[i] = '\0';
       /* Check whether the directory already exists.  Allow creation of
-        of intermediate directories to fail, as the initial path components
-        are not necessarily directories!  */
+         of intermediate directories to fail, as the initial path components
+         are not necessarily directories!  */
       if (!file_exists_p (dir))
-       ret = mkdir (dir, 0777);
+        ret = mkdir (dir, 0777);
       else
-       ret = 0;
+        ret = 0;
       if (quit)
-       break;
+        break;
       else
-       dir[i] = '/';
+        dir[i] = '/';
     }
   return ret;
 }
@@ -633,10 +657,10 @@ fnmatch_nocase (const char *pattern, const char *string, int flags)
   char *strcopy = (char *) alloca (strlen (string) + 1);
   char *p;
   for (p = patcopy; *pattern; pattern++, p++)
-    *p = TOLOWER (*pattern);
+    *p = c_tolower (*pattern);
   *p = '\0';
   for (p = strcopy; *string; string++, p++)
-    *p = TOLOWER (*string);
+    *p = c_tolower (*string);
   *p = '\0';
   return fnmatch (patcopy, strcopy, flags);
 #endif
@@ -658,10 +682,10 @@ acceptable (const char *s)
   if (opt.accepts)
     {
       if (opt.rejects)
-       return (in_acclist ((const char *const *)opt.accepts, s, true)
-               && !in_acclist ((const char *const *)opt.rejects, s, true));
+        return (in_acclist ((const char *const *)opt.accepts, s, true)
+                && !in_acclist ((const char *const *)opt.rejects, s, true));
       else
-       return in_acclist ((const char *const *)opt.accepts, s, true);
+        return in_acclist ((const char *const *)opt.accepts, s, true);
     }
   else if (opt.rejects)
     return !in_acclist ((const char *const *)opt.rejects, s, true);
@@ -674,11 +698,13 @@ acceptable (const char *s)
 bool
 subdir_p (const char *d1, const char *d2)
 {
+  if (*d1 == '\0')
+    return true;
   if (!opt.ignore_case)
     for (; *d1 && *d2 && (*d1 == *d2); ++d1, ++d2)
       ;
   else
-    for (; *d1 && *d2 && (TOLOWER (*d1) == TOLOWER (*d2)); ++d1, ++d2)
+    for (; *d1 && *d2 && (c_tolower (*d1) == c_tolower (*d2)); ++d1, ++d2)
       ;
   
   return *d1 == '\0' && (*d2 == '\0' || *d2 == '/');
@@ -699,15 +725,15 @@ dir_matches_p (char **dirlist, const char *dir)
       /* Remove leading '/' */
       char *p = *x + (**x == '/');
       if (has_wildcards_p (p))
-       {
-         if (matcher (p, dir, FNM_PATHNAME) == 0)
-           break;
-       }
+        {
+          if (matcher (p, dir, FNM_PATHNAME) == 0)
+            break;
+        }
       else
-       {
-         if (subdir_p (p, dir))
-           break;
-       }
+        {
+          if (subdir_p (p, dir))
+            break;
+        }
     }
       
   return *x ? true : false;
@@ -728,12 +754,12 @@ accdir (const char *directory)
   if (opt.includes)
     {
       if (!dir_matches_p (opt.includes, directory))
-       return false;
+        return false;
     }
   if (opt.excludes)
     {
       if (dir_matches_p (opt.excludes, directory))
-       return false;
+        return false;
     }
   return true;
 }
@@ -757,14 +783,14 @@ match_tail (const char *string, const char *tail, bool fold_case)
   if (!fold_case)
     {
       for (i = strlen (string), j = strlen (tail); i >= 0 && j >= 0; i--, j--)
-       if (string[i] != tail[j])
-         break;
+        if (string[i] != tail[j])
+          break;
     }
   else
     {
       for (i = strlen (string), j = strlen (tail); i >= 0 && j >= 0; i--, j--)
-       if (TOLOWER (string[i]) != TOLOWER (tail[j]))
-         break;
+        if (c_tolower (string[i]) != c_tolower (tail[j]))
+          break;
     }
 
   /* If the tail was exhausted, the match was succesful.  */
@@ -786,28 +812,28 @@ in_acclist (const char *const *accepts, const char *s, bool backward)
   for (; *accepts; accepts++)
     {
       if (has_wildcards_p (*accepts))
-       {
-         int res = opt.ignore_case
-           ? fnmatch_nocase (*accepts, s, 0) : fnmatch (*accepts, s, 0);
-         /* fnmatch returns 0 if the pattern *does* match the string.  */
-         if (res == 0)
-           return true;
-       }
+        {
+          int res = opt.ignore_case
+            ? fnmatch_nocase (*accepts, s, 0) : fnmatch (*accepts, s, 0);
+          /* fnmatch returns 0 if the pattern *does* match the string.  */
+          if (res == 0)
+            return true;
+        }
       else
-       {
-         if (backward)
-           {
-             if (match_tail (s, *accepts, opt.ignore_case))
-               return true;
-           }
-         else
-           {
-             int cmp = opt.ignore_case
-               ? strcasecmp (s, *accepts) : strcmp (s, *accepts);
-             if (cmp == 0)
-               return true;
-           }
-       }
+        {
+          if (backward)
+            {
+              if (match_tail (s, *accepts, opt.ignore_case))
+                return true;
+            }
+          else
+            {
+              int cmp = opt.ignore_case
+                ? strcasecmp (s, *accepts) : strcmp (s, *accepts);
+              if (cmp == 0)
+                return true;
+            }
+        }
     }
   return false;
 }
@@ -892,12 +918,12 @@ read_whole_line (FILE *fp)
     {
       length += strlen (line + length);
       if (length == 0)
-       /* Possible for example when reading from a binary file where
-          a line begins with \0.  */
-       continue;
+        /* Possible for example when reading from a binary file where
+           a line begins with \0.  */
+        continue;
 
       if (line[length - 1] == '\n')
-       break;
+        break;
 
       /* fgets() guarantees to read the whole line, or to use up the
          space we've given it.  We can double the buffer
@@ -969,7 +995,7 @@ read_file (const char *file)
        specify PROT_READ and MAP_SHARED for a marginal gain in
        efficiency, but at some cost to generality.  */
     fm->content = mmap (NULL, fm->length, PROT_READ | PROT_WRITE,
-                       MAP_PRIVATE, fd, 0);
+                        MAP_PRIVATE, fd, 0);
     if (fm->content == (char *)MAP_FAILED)
       goto mmap_lose;
     if (!inhibit_close)
@@ -987,41 +1013,41 @@ read_file (const char *file)
 #endif /* HAVE_MMAP */
 
   fm->length = 0;
-  size = 512;                  /* number of bytes fm->contents can
+  size = 512;                   /* number of bytes fm->contents can
                                    hold at any given time. */
   fm->content = xmalloc (size);
   while (1)
     {
       wgint nread;
       if (fm->length > size / 2)
-       {
-         /* #### I'm not sure whether the whole exponential-growth
+        {
+          /* #### I'm not sure whether the whole exponential-growth
              thing makes sense with kernel read.  On Linux at least,
              read() refuses to read more than 4K from a file at a
              single chunk anyway.  But other Unixes might optimize it
              better, and it doesn't *hurt* anything, so I'm leaving
              it.  */
 
-         /* Normally, we grow SIZE exponentially to make the number
+          /* Normally, we grow SIZE exponentially to make the number
              of calls to read() and realloc() logarithmic in relation
              to file size.  However, read() can read an amount of data
              smaller than requested, and it would be unreasonable to
              double SIZE every time *something* was read.  Therefore,
              we double SIZE only when the length exceeds half of the
              entire allocated size.  */
-         size <<= 1;
-         fm->content = xrealloc (fm->content, size);
-       }
+          size <<= 1;
+          fm->content = xrealloc (fm->content, size);
+        }
       nread = read (fd, fm->content + fm->length, size - fm->length);
       if (nread > 0)
-       /* Successful read. */
-       fm->length += nread;
+        /* Successful read. */
+        fm->length += nread;
       else if (nread < 0)
-       /* Error. */
-       goto lose;
+        /* Error. */
+        goto lose;
       else
-       /* EOF */
-       break;
+        /* EOF */
+        break;
     }
   if (!inhibit_close)
     close (fd);
@@ -1070,7 +1096,7 @@ free_vec (char **vec)
     {
       char **p = vec;
       while (*p)
-       xfree (*p++);
+        xfree (*p++);
       xfree (vec);
     }
 }
@@ -1112,12 +1138,12 @@ merge_vecs (char **v1, char **v2)
 char **
 vec_append (char **vec, const char *str)
 {
-  int cnt;                     /* count of vector elements, including
-                                  the one we're about to append */
+  int cnt;                      /* count of vector elements, including
+                                   the one we're about to append */
   if (vec != NULL)
     {
       for (cnt = 0; vec[cnt]; cnt++)
-       ;
+        ;
       ++cnt;
     }
   else
@@ -1216,19 +1242,25 @@ get_grouping_data (const char **sep, const char **grouping)
       struct lconv *lconv = localeconv ();
       cached_sep = lconv->thousands_sep;
       cached_grouping = lconv->grouping;
+#if ! USE_NLS_PROGRESS_BAR
+      /* We can't count column widths, so ensure that the separator
+       * is single-byte only (let check below determine what byte). */
+      if (strlen(cached_sep) > 1)
+        cached_sep = "";
+#endif
       if (!*cached_sep)
-       {
-         /* Many locales (such as "C" or "hr_HR") don't specify
-            grouping, which we still want to use it for legibility.
-            In those locales set the sep char to ',', unless that
-            character is used for decimal point, in which case set it
-            to ".".  */
-         if (*lconv->decimal_point != ',')
-           cached_sep = ",";
-         else
-           cached_sep = ".";
-         cached_grouping = "\x03";
-       }
+        {
+          /* Many locales (such as "C" or "hr_HR") don't specify
+             grouping, which we still want to use it for legibility.
+             In those locales set the sep char to ',', unless that
+             character is used for decimal point, in which case set it
+             to ".".  */
+          if (*lconv->decimal_point != ',')
+            cached_sep = ",";
+          else
+            cached_sep = ".";
+          cached_grouping = "\x03";
+        }
       initialized = true;
     }
   *sep = cached_sep;
@@ -1279,18 +1311,18 @@ with_thousand_seps (wgint n)
       *--p = n % 10 + '0';
       n /= 10;
       if (n == 0)
-       break;
+        break;
       /* Prepend SEP to every groupsize'd digit and get new groupsize.  */
       if (++i == groupsize)
-       {
-         if (seplen == 1)
-           *--p = *sep;
-         else
-           memcpy (p -= seplen, sep, seplen);
-         i = 0;
-         if (*atgroup)
-           groupsize = *atgroup++;
-       }
+        {
+          if (seplen == 1)
+            *--p = *sep;
+          else
+            memcpy (p -= seplen, sep, seplen);
+          i = 0;
+          if (*atgroup)
+            groupsize = *atgroup++;
+        }
     }
   if (negative)
     *--p = '-';
@@ -1320,12 +1352,12 @@ human_readable (HR_NUMTYPE n)
   /* These suffixes are compatible with those of GNU `ls -lh'. */
   static char powers[] =
     {
-      'K',                     /* kilobyte, 2^10 bytes */
-      'M',                     /* megabyte, 2^20 bytes */
-      'G',                     /* gigabyte, 2^30 bytes */
-      'T',                     /* terabyte, 2^40 bytes */
-      'P',                     /* petabyte, 2^50 bytes */
-      'E',                     /* exabyte,  2^60 bytes */
+      'K',                      /* kilobyte, 2^10 bytes */
+      'M',                      /* megabyte, 2^20 bytes */
+      'G',                      /* gigabyte, 2^30 bytes */
+      'T',                      /* terabyte, 2^40 bytes */
+      'P',                      /* petabyte, 2^50 bytes */
+      'E',                      /* exabyte,  2^60 bytes */
     };
   static char buf[8];
   int i;
@@ -1343,20 +1375,20 @@ human_readable (HR_NUMTYPE n)
   for (i = 0; i < countof (powers); i++)
     {
       /* At each iteration N is greater than the *subsequent* power.
-        That way N/1024.0 produces a decimal number in the units of
-        *this* power.  */
+         That way N/1024.0 produces a decimal number in the units of
+         *this* power.  */
       if ((n / 1024) < 1024 || i == countof (powers) - 1)
-       {
-         double val = n / 1024.0;
-         /* Print values smaller than 10 with one decimal digits, and
-            others without any decimals.  */
-         snprintf (buf, sizeof (buf), "%.*f%c",
-                   val < 10 ? 1 : 0, val, powers[i]);
-         return buf;
-       }
+        {
+          double val = n / 1024.0;
+          /* Print values smaller than 10 with one decimal digits, and
+             others without any decimals.  */
+          snprintf (buf, sizeof (buf), "%.*f%c",
+                    val < 10 ? 1 : 0, val, powers[i]);
+          return buf;
+        }
       n /= 1024;
     }
-  return NULL;                 /* unreached */
+  return NULL;                  /* unreached */
 }
 
 /* Count the digits in the provided number.  Used to allocate space
@@ -1367,7 +1399,7 @@ numdigit (wgint number)
 {
   int cnt = 1;
   if (number < 0)
-    ++cnt;                     /* accomodate '-' */
+    ++cnt;                      /* accomodate '-' */
   while ((number /= 10) != 0)
     ++cnt;
   return cnt;
@@ -1442,8 +1474,8 @@ number_to_string (char *buffer, wgint number)
   if (n < 0)
     {
       if (n < -WGINT_MAX)
-       {
-         /* n = -n would overflow because -n would evaluate to a
+        {
+          /* n = -n would overflow because -n would evaluate to a
              wgint value larger than WGINT_MAX.  Need to make n
              smaller and handle the last digit separately.  */
           int last_digit = n % 10;
@@ -1454,7 +1486,7 @@ number_to_string (char *buffer, wgint number)
             last_digit_char = '0' + last_digit;
           /* After n is made smaller, -n will not overflow. */
           n /= 10;
-       }
+        }
 
       *p++ = '-';
       n = -n;
@@ -1586,7 +1618,7 @@ determine_screen_width (void)
 
   fd = fileno (stderr);
   if (ioctl (fd, TIOCGWINSZ, &wsz) < 0)
-    return 0;                  /* most likely ENOTTY */
+    return 0;                   /* most likely ENOTTY */
 
   return wsz.ws_col;
 #elif defined(WINDOWS)
@@ -1662,9 +1694,9 @@ random_float (void)
   return drand48 ();
 #else  /* not HAVE_DRAND48 */
   return (  random_number (10000) / 10000.0
-         + random_number (10000) / (10000.0 * 10000.0)
-         + random_number (10000) / (10000.0 * 10000.0 * 10000.0)
-         + random_number (10000) / (10000.0 * 10000.0 * 10000.0 * 10000.0));
+          + random_number (10000) / (10000.0 * 10000.0)
+          + random_number (10000) / (10000.0 * 10000.0 * 10000.0)
+          + random_number (10000) / (10000.0 * 10000.0 * 10000.0 * 10000.0));
 #endif /* not HAVE_DRAND48 */
 }
 \f
@@ -1817,7 +1849,7 @@ run_with_timeout (double timeout, void (*fun) (void *), void *arg)
    define it under Windows, because Windows has its own version of
    run_with_timeout that uses threads.  */
 
-int
+bool
 run_with_timeout (double timeout, void (*fun) (void *), void *arg)
 {
   fun (arg);
@@ -1852,8 +1884,8 @@ xsleep (double seconds)
   if (seconds >= 1)
     {
       /* On some systems, usleep cannot handle values larger than
-        1,000,000.  If the period is larger than that, use sleep
-        first, then add usleep for subsecond accuracy.  */
+         1,000,000.  If the period is larger than that, use sleep
+         first, then add usleep for subsecond accuracy.  */
       sleep (seconds);
       seconds -= (long) seconds;
     }
@@ -1935,9 +1967,9 @@ base64_encode (const void *data, int length, char *dest)
 
 /* Store in C the next non-whitespace character from the string, or \0
    when end of string is reached.  */
-#define NEXT_CHAR(c, p) do {                   \
-  c = (unsigned char) *p++;                    \
-} while (ISSPACE (c))
+#define NEXT_CHAR(c, p) do {                    \
+  c = (unsigned char) *p++;                     \
+} while (c_isspace (c))
 
 #define IS_ASCII(c) (((c) & 0x80) == 0)
 
@@ -1960,19 +1992,19 @@ base64_decode (const char *base64, void *dest)
      assumes ASCII (but so does Wget in other places).  */
   static const signed char base64_char_to_value[128] =
     {
-      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, /*   0-  9 */
-      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, /*  10- 19 */
-      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, /*  20- 29 */
-      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, /*  30- 39 */
-      -1,  -1,  -1,  62,  -1,  -1,  -1,  63,  52,  53, /*  40- 49 */
-      54,  55,  56,  57,  58,  59,  60,  61,  -1,  -1, /*  50- 59 */
-      -1,  -1,  -1,  -1,  -1,  0,   1,   2,   3,   4,  /*  60- 69 */
-      5,   6,   7,   8,   9,   10,  11,  12,  13,  14, /*  70- 79 */
-      15,  16,  17,  18,  19,  20,  21,  22,  23,  24, /*  80- 89 */
-      25,  -1,  -1,  -1,  -1,  -1,  -1,  26,  27,  28, /*  90- 99 */
-      29,  30,  31,  32,  33,  34,  35,  36,  37,  38, /* 100-109 */
-      39,  40,  41,  42,  43,  44,  45,  46,  47,  48, /* 110-119 */
-      49,  50,  51,  -1,  -1,  -1,  -1,  -1            /* 120-127 */
+      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  /*   0-  9 */
+      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  /*  10- 19 */
+      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  /*  20- 29 */
+      -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  /*  30- 39 */
+      -1,  -1,  -1,  62,  -1,  -1,  -1,  63,  52,  53,  /*  40- 49 */
+      54,  55,  56,  57,  58,  59,  60,  61,  -1,  -1,  /*  50- 59 */
+      -1,  -1,  -1,  -1,  -1,  0,   1,   2,   3,   4,   /*  60- 69 */
+      5,   6,   7,   8,   9,   10,  11,  12,  13,  14,  /*  70- 79 */
+      15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  /*  80- 89 */
+      25,  -1,  -1,  -1,  -1,  -1,  -1,  26,  27,  28,  /*  90- 99 */
+      29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  /* 100-109 */
+      39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  /* 110-119 */
+      49,  50,  51,  -1,  -1,  -1,  -1,  -1             /* 120-127 */
     };
 #define BASE64_CHAR_TO_VALUE(c) ((int) base64_char_to_value[c])
 #define IS_BASE64(c) ((IS_ASCII (c) && BASE64_CHAR_TO_VALUE (c) >= 0) || c == '=')
@@ -1988,36 +2020,36 @@ base64_decode (const char *base64, void *dest)
       /* Process first byte of a quadruplet.  */
       NEXT_CHAR (c, p);
       if (!c)
-       break;
+        break;
       if (c == '=' || !IS_BASE64 (c))
-       return -1;              /* illegal char while decoding base64 */
+        return -1;              /* illegal char while decoding base64 */
       value = BASE64_CHAR_TO_VALUE (c) << 18;
 
       /* Process second byte of a quadruplet.  */
       NEXT_CHAR (c, p);
       if (!c)
-       return -1;              /* premature EOF while decoding base64 */
+        return -1;              /* premature EOF while decoding base64 */
       if (c == '=' || !IS_BASE64 (c))
-       return -1;              /* illegal char while decoding base64 */
+        return -1;              /* illegal char while decoding base64 */
       value |= BASE64_CHAR_TO_VALUE (c) << 12;
       *q++ = value >> 16;
 
       /* Process third byte of a quadruplet.  */
       NEXT_CHAR (c, p);
       if (!c)
-       return -1;              /* premature EOF while decoding base64 */
+        return -1;              /* premature EOF while decoding base64 */
       if (!IS_BASE64 (c))
-       return -1;              /* illegal char while decoding base64 */
+        return -1;              /* illegal char while decoding base64 */
 
       if (c == '=')
-       {
-         NEXT_CHAR (c, p);
-         if (!c)
-           return -1;          /* premature EOF while decoding base64 */
-         if (c != '=')
-           return -1;          /* padding `=' expected but not found */
-         continue;
-       }
+        {
+          NEXT_CHAR (c, p);
+          if (!c)
+            return -1;          /* premature EOF while decoding base64 */
+          if (c != '=')
+            return -1;          /* padding `=' expected but not found */
+          continue;
+        }
 
       value |= BASE64_CHAR_TO_VALUE (c) << 6;
       *q++ = 0xff & value >> 8;
@@ -2025,11 +2057,11 @@ base64_decode (const char *base64, void *dest)
       /* Process fourth byte of a quadruplet.  */
       NEXT_CHAR (c, p);
       if (!c)
-       return -1;              /* premature EOF while decoding base64 */
+        return -1;              /* premature EOF while decoding base64 */
       if (c == '=')
-       continue;
+        continue;
       if (!IS_BASE64 (c))
-       return -1;              /* illegal char while decoding base64 */
+        return -1;              /* illegal char while decoding base64 */
 
       value |= BASE64_CHAR_TO_VALUE (c);
       *q++ = 0xff & value;
@@ -2048,7 +2080,7 @@ base64_decode (const char *base64, void *dest)
 
 static void
 mergesort_internal (void *base, void *temp, size_t size, size_t from, size_t to,
-                   int (*cmpfun) (const void *, const void *))
+                    int (*cmpfun) (const void *, const void *))
 {
 #define ELT(array, pos) ((char *)(array) + (pos) * size)
   if (from < to)
@@ -2060,16 +2092,16 @@ mergesort_internal (void *base, void *temp, size_t size, size_t from, size_t to,
       i = from;
       j = mid + 1;
       for (k = from; (i <= mid) && (j <= to); k++)
-       if (cmpfun (ELT (base, i), ELT (base, j)) <= 0)
-         memcpy (ELT (temp, k), ELT (base, i++), size);
-       else
-         memcpy (ELT (temp, k), ELT (base, j++), size);
+        if (cmpfun (ELT (base, i), ELT (base, j)) <= 0)
+          memcpy (ELT (temp, k), ELT (base, i++), size);
+        else
+          memcpy (ELT (temp, k), ELT (base, j++), size);
       while (i <= mid)
-       memcpy (ELT (temp, k++), ELT (base, i++), size);
+        memcpy (ELT (temp, k++), ELT (base, i++), size);
       while (j <= to)
-       memcpy (ELT (temp, k++), ELT (base, j++), size);
+        memcpy (ELT (temp, k++), ELT (base, j++), size);
       for (k = from; k <= to; k++)
-       memcpy (ELT (base, k), ELT (temp, k), size);
+        memcpy (ELT (base, k), ELT (temp, k), size);
     }
 #undef ELT
 }
@@ -2080,7 +2112,7 @@ mergesort_internal (void *base, void *temp, size_t size, size_t from, size_t to,
 
 void
 stable_sort (void *base, size_t nmemb, size_t size,
-            int (*cmpfun) (const void *, const void *))
+             int (*cmpfun) (const void *, const void *))
 {
   if (size > 1)
     {
@@ -2164,7 +2196,15 @@ test_dir_matches_p()
     { { "/somedir", "/someotherdir", NULL }, "anotherdir", false },
     { { "/somedir", "/*otherdir", NULL }, "anotherdir", true },
     { { "/somedir/d1", "/someotherdir", NULL }, "somedir/d1", true },
+    { { "*/*d1", "/someotherdir", NULL }, "somedir/d1", true },
     { { "/somedir/d1", "/someotherdir", NULL }, "d1", false },
+    { { "!COMPLETE", NULL, NULL }, "!COMPLETE", true },
+    { { "*COMPLETE", NULL, NULL }, "!COMPLETE", true },
+    { { "*/!COMPLETE", NULL, NULL }, "foo/!COMPLETE", true },
+    { { "*COMPLETE", NULL, NULL }, "foo/!COMPLETE", false },
+    { { "*/*COMPLETE", NULL, NULL }, "foo/!COMPLETE", true },
+    { { "/dir with spaces", NULL, NULL }, "dir with spaces", true },
+    { { "/dir*with*spaces", NULL, NULL }, "dir with spaces", true },
   };
   
   for (i = 0; i < countof(test_array); ++i) 
index 596a8b870ef9ff98a609032833163020d11e1e4e..7d41b3148e5c3e011d9bcb1e27d9d95aca17e46c 100644 (file)
@@ -1,11 +1,12 @@
 /* Declarations for utils.c.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef UTILS_H
 #define UTILS_H
diff --git a/src/version.c b/src/version.c
deleted file mode 100644 (file)
index 87fdbae..0000000
+++ /dev/null
@@ -1 +0,0 @@
-char *version_string = "1.10+devel";
index c6dd19c10eec07540236219afc990b99206312b8..5b0df1a833df9ca11514993547e2cb23a7e04095 100644 (file)
@@ -1,11 +1,12 @@
 /* Miscellaneous declarations.
-   Copyright (C) 1996-2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +15,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 /* This file contains declarations that are universally useful and
    those that don't fit elsewhere.  It also includes sysdep.h which
@@ -35,6 +36,11 @@ so, delete this exception statement from your version.  */
 #ifndef WGET_H
 #define WGET_H
 
+#include "config.h"
+
+/* Include these, so random files need not include them.  */
+#include "sysdep.h"
+
 /* Disable assertions when debug support is not compiled in. */
 #ifndef ENABLE_DEBUG
 # define NDEBUG
@@ -47,16 +53,8 @@ so, delete this exception statement from your version.  */
 
 /* `gettext (FOO)' is long to write, so we use `_(FOO)'.  If NLS is
    unavailable, _(STRING) simply returns STRING.  */
-#ifdef HAVE_NLS
-# define _(string) gettext (string)
-# ifdef HAVE_LIBINTL_H
-#  include <libintl.h>
-# else  /* not HAVE_LIBINTL_H */
-   const char *gettext ();
-# endif /* not HAVE_LIBINTL_H */
-#else  /* not HAVE_NLS */
-# define _(string) (string)
-#endif /* not HAVE_NLS */
+#include "gettext.h"
+#define _(string)   gettext (string)
 
 /* A pseudo function call that serves as a marker for the automated
    extraction of messages, but does not call gettext().  The run-time
@@ -69,6 +67,19 @@ so, delete this exception statement from your version.  */
    variables.  -- explanation partly taken from GNU make.  */
 #define N_(string) string
 
+#if ! ENABLE_NLS
+# undef HAVE_WCHAR_H
+# undef HAVE_WCWIDTH
+# undef HAVE_MBTOWC
+#endif /* not ENABLE_NLS */
+
+#if HAVE_WCWIDTH && HAVE_MBTOWC
+# define USE_NLS_PROGRESS_BAR 1
+#else
+/* Just to be a little paranoid about it. */
+# undef  USE_NLS_PROGRESS_BAR
+#endif
+
 /* I18N NOTE: You will notice that none of the DEBUGP messages are
    marked as translatable.  This is intentional, for a few reasons:
 
@@ -84,11 +95,8 @@ so, delete this exception statement from your version.  */
    debug problems with Wget.  If I get them in a language I don't
    understand, debugging will become a new challenge of its own!  */
 
-
-/* Include these, so random files need not include them.  */
-#include "sysdep.h"
 /* locale independent replacement for ctype.h */
-#include "safe-ctype.h"
+#include "c-ctype.h"
 
 /* Conditionalize the use of GCC's __attribute__((format)) and
    __builtin_expect features using macros.  */
@@ -221,7 +229,7 @@ typedef double SUM_SIZE_INT;
 /* Convert an ASCII hex digit to the corresponding number between 0
    and 15.  H should be a hexadecimal digit that satisfies isxdigit;
    otherwise, the result is undefined.  */
-#define XDIGIT_TO_NUM(h) ((h) < 'A' ? (h) - '0' : TOUPPER (h) - 'A' + 10)
+#define XDIGIT_TO_NUM(h) ((h) < 'A' ? (h) - '0' : c_toupper (h) - 'A' + 10)
 #define X2DIGITS_TO_NUM(h1, h2) ((XDIGIT_TO_NUM (h1) << 4) + XDIGIT_TO_NUM (h2))
 
 /* The reverse of the above: convert a number in the [0, 16) range to
index ebafea1c0479ce19569a5ab962124a82c43c8e09..aaf743df559bf05ee067e0960e4a9ce714b058b3 100644 (file)
@@ -1,12 +1,13 @@
 /* Wrappers around malloc and memory debugging support.
-   Copyright (C) 2003-2006 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation,
+   Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
- (at your option) any later version.
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -14,20 +15,20 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
 
-#include <config.h>
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
+
+#include "wget.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -35,9 +36,8 @@ so, delete this exception statement from your version.  */
 #include <errno.h>
 #include <assert.h>
 
-#include "wget.h"
 #include "xmalloc.h"
-#include "hash.h"              /* for hash_pointer */
+#include "hash.h"               /* for hash_pointer */
 
 /* This file implements several wrappers around the basic allocation
    routines.  This is done for two reasons: first, so that the callers
@@ -53,15 +53,29 @@ so, delete this exception statement from your version.  */
 /* Croak the fatal memory error and bail out with non-zero exit
    status.  */
 
-static void
+void
 memfatal (const char *context, long attempted_size)
 {
   /* Make sure we don't try to store part of the log line, and thus
      call malloc.  */
   log_set_save_context (false);
-  logprintf (LOG_ALWAYS,
-            _("%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"),
-            exec_name, context, attempted_size);
+
+  /* We have different log outputs in different situations:
+     1) output without bytes information
+     2) output with bytes information  */
+  if (attempted_size == UNKNOWN_ATTEMPTED_SIZE)
+    {
+      logprintf (LOG_ALWAYS,
+                 _("%s: %s: Failed to allocate enough memory; memory exhausted.\n"),
+                 exec_name, context);
+    }
+  else
+    {
+      logprintf (LOG_ALWAYS,
+                 _("%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"),
+                 exec_name, context, attempted_size);
+    }
+
   exit (1);
 }
 
@@ -209,8 +223,8 @@ static int malloc_count, free_count;
 
 /* Home-grown hash table of mallocs: */
 
-#define SZ 100003              /* Prime just over 100,000.  Increase
-                                  it to debug larger Wget runs.  */
+#define SZ 100003               /* Prime just over 100,000.  Increase
+                                   it to debug larger Wget runs.  */
 
 static struct {
   const void *ptr;
@@ -270,10 +284,10 @@ unregister_ptr (void *ptr)
       /* Find the new location for the key. */
       int j = hash_pointer (ptr2) % SZ;
       for (; malloc_table[j].ptr != NULL; j = (j + 1) % SZ)
-       if (ptr2 == malloc_table[j].ptr)
-         /* No need to relocate entry at [i]; it's already at or near
-            its hash position. */
-         goto cont_outer;
+        if (ptr2 == malloc_table[j].ptr)
+          /* No need to relocate entry at [i]; it's already at or near
+             its hash position. */
+          goto cont_outer;
       malloc_table[j] = malloc_table[i];
       malloc_table[i].ptr = NULL;
     cont_outer:
@@ -292,11 +306,11 @@ print_malloc_debug_stats (void)
 {
   int i;
   printf ("\nMalloc:  %d\nFree:    %d\nBalance: %d\n\n",
-         malloc_count, free_count, malloc_count - free_count);
+          malloc_count, free_count, malloc_count - free_count);
   for (i = 0; i < SZ; i++)
     if (malloc_table[i].ptr != NULL)
       printf ("0x%0*lx: %s:%d\n", PTR_FORMAT (malloc_table[i].ptr),
-             malloc_table[i].file, malloc_table[i].line);
+              malloc_table[i].file, malloc_table[i].line);
 }
 
 void *
@@ -352,13 +366,13 @@ debugging_free (void *ptr, const char *source_file, int source_line)
   if (ptr == NULL)
     {
       fprintf (stderr, "%s: xfree(NULL) at %s:%d\n",
-              exec_name, source_file, source_line);
+               exec_name, source_file, source_line);
       abort ();
     }
   if (!unregister_ptr (ptr))
     {
       fprintf (stderr, "%s: bad xfree(0x%0*lx) at %s:%d\n",
-              exec_name, PTR_FORMAT (ptr), source_file, source_line);
+               exec_name, PTR_FORMAT (ptr), source_file, source_line);
       abort ();
     }
   ++free_count;
index c464d196db3da257f5eed448de14799f7db0baa6..ce326b1b7ae9300390cafd6b1d24783fbf1a3024 100644 (file)
@@ -1,12 +1,13 @@
 /* xmalloc.c declarations.
-   Copyright (C) 2003-2006 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation,
+   Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
- (at your option) any later version.
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -14,22 +15,29 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 #ifndef XMALLOC_H
 #define XMALLOC_H
 
+/* Croak the fatal memory error and bail out with non-zero exit
+   status.  */
+void memfatal (const char *context, long attempted_size);
+
+/* Constant is using when we don`t know attempted size exactly */
+#define UNKNOWN_ATTEMPTED_SIZE -3
+
 /* Define this to use Wget's builtin malloc debugging, which is crude
    but occasionally useful.  It will make Wget a lot slower and
    larger, and susceptible to aborting if malloc_table overflows, so
diff --git a/stamp-h.in b/stamp-h.in
deleted file mode 100644 (file)
index 9788f70..0000000
+++ /dev/null
@@ -1 +0,0 @@
-timestamp
index 618e6563cb6176d6345290dc984be473fb3d14b2..e6972b500c7fcba3b1b515cb84fa2a0ad5282eb9 100644 (file)
@@ -1,3 +1,123 @@
+2008-04-10  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.in, Test-proxy-auth-basic.px: Added a test for
+       accessing password-protected URLs through a proxy.
+
+2008-01-25  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am: Updated copyright year.
+
+2008-01-23  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am: Add libmd5 to unit-tests.
+
+2007-11-28  Micah Cowan <micah@cowan.name>
+
+       * Makefile.am: Updated license exception for OpenSSL, per the
+       SFLC.
+
+2007-10-18  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am: Add dependency for unit_tests on libgnu.a.
+
+2007-10-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * WgetTest.pm.in: wget is built in the build tree.  Use an
+       absolute path to the binary.
+       * Makefile.in: Removed, replaced by Makefile.am.
+       * Makefile.am: Converted from Makefile.in.
+
+2007-09-25  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.in: Use EXEEXT instead of exeext.
+
+2007-08-21  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * WgetTest.pm.in: Added support for timestamping of pre-existing
+       files.
+
+       * Test-N-current.px: Fixed broken test logic.
+
+       * Makefile.in: Updated list of automatically run tests.
+
+       * Test-HTTP-Content-Disposition.px: Added -e contentdisposition=on
+       option, since now HTTP Content-Disposition header support is turned
+       off by default.
+
+       * Test-HTTP-Content-Disposition-1.px: Ditto.
+
+2007-08-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * Test--spider--no-content-disposition-trivial.px: Added new tests for
+       validation of HTTP Content-Disposition header support logic. In
+       particular, these tests check wget's behavior for every combination of
+       --spider [-r] and -e contentdisposition=on/off options.
+
+       * Test--spider-r-HTTP-Content-Disposition.px: Ditto.
+
+       * Test--spider-HTTP-Content-Disposition.px: Ditto.
+
+       * Test--spider--no-content-disposition.px: Ditto.
+
+       * Test--spider-r--no-content-disposition-trivial.px: Ditto.
+
+       * Test--spider-r--no-content-disposition.px: Ditto.
+
+2007-07-25  Micah Cowan  <micah@cowan.name>
+
+       * HTTPServer.pm (run, send_response): Farmed out some logic from
+       the run method into a separate one named send_response, which
+       was then modified to handle simple authentication testing.
+       (handle_auth): Added to handle simple authentication testing.
+       (verify_auth_basic): Checks to make sure Basic credentials are
+       valid.
+       (verify_auth_digest): Stub added; always fails test.
+       * Makefile.in: Added Test-auth-basic.px to list of automatically
+       run tests.
+       * Test-auth-basic: Simple basic authentication test; mainly just
+       lets the server do its testing. Its current purpose is just to
+       ensure that correct basic creds are sent, but never until a
+       challenge has been sent.
+
+2007-07-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * Test--no-content-disposition.px: Added new tests for validation of
+       HTTP Content-Disposition header support logic. In particular, these
+       tests check wget's behavior for every combination of -N/-O and -e
+       contentdisposition=on/off options.
+
+       * Test--no-content-disposition-trivial.px: Ditto.
+
+       * Test-N-HTTP-Content-Disposition.px: Ditto.
+
+       * Test-N--no-content-disposition.px: Ditto.
+
+       * Test-N--no-content-disposition-trivial.px: Ditto.
+
+       * Test-O-HTTP-Content-Disposition.px: Ditto.
+
+       * Test-O--no-content-disposition.px: Ditto.
+
+       * Test-O--no-content-disposition-trivial.px: Ditto.
+
+2007-07-05  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.in:
+       Updated GPL reference to version 3 or later, removed FSF
+       address.
+
+2007-06-14  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * FTPServer.pm: Added FTP testing support.
+
+       * FTPTest.pm: Ditto.
+
+       * Test-ftp.px: Ditto.
+
+2006-12-22  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * HTTPTest.pm: Don't ignore initial '/' character in requested URLs.
+
 2006-11-10  Mauro Tortonesi  <mauro@ferrara.linux.it>
 
        * Test-np.px: Added test for -np.
diff --git a/tests/FTPServer.pm b/tests/FTPServer.pm
new file mode 100644 (file)
index 0000000..7c7f3e5
--- /dev/null
@@ -0,0 +1,935 @@
+#!/usr/bin/perl -w
+
+# Part of this code was borrowed from Richard Jones's Net::FTPServer
+# http://www.annexia.org/freeware/netftpserver
+
+package FTPServer;
+
+use strict;
+
+use Cwd;
+use Socket;
+use IO::Socket::INET;
+use IO::Seekable;
+use POSIX qw(strftime);
+
+my $log        = undef;
+my $GOT_SIGURG = 0;
+
+# CONSTANTS
+
+# connection states
+my %_connection_states = (
+    'NEWCONN'  => 0x01, 
+    'WAIT4PWD' => 0x02, 
+    'LOGGEDIN' => 0x04,
+    'TWOSOCKS' => 0x08,
+);
+
+# subset of FTP commands supported by these server and the respective
+# connection states in which they are allowed
+my %_commands = ( 
+    # Standard commands from RFC 959.
+    'CWD'  => $_connection_states{LOGGEDIN} |
+              $_connection_states{TWOSOCKS}, 
+#   'EPRT' => $_connection_states{LOGGEDIN},
+#   'EPSV' => $_connection_states{LOGGEDIN}, 
+    'LIST' => $_connection_states{TWOSOCKS}, 
+#   'LPRT' => $_connection_states{LOGGEDIN},
+#   'LPSV' => $_connection_states{LOGGEDIN}, 
+    'PASS' => $_connection_states{WAIT4PWD}, 
+    'PASV' => $_connection_states{LOGGEDIN}, 
+    'PORT' => $_connection_states{LOGGEDIN}, 
+    'PWD'  => $_connection_states{LOGGEDIN} |
+              $_connection_states{TWOSOCKS}, 
+    'QUIT' => $_connection_states{LOGGEDIN} |
+              $_connection_states{TWOSOCKS}, 
+    'REST' => $_connection_states{TWOSOCKS}, 
+    'RETR' => $_connection_states{TWOSOCKS}, 
+    'SYST' => $_connection_states{LOGGEDIN},
+    'TYPE' => $_connection_states{LOGGEDIN} |
+              $_connection_states{TWOSOCKS},
+    'USER' => $_connection_states{NEWCONN}, 
+    # From ftpexts Internet Draft.
+    'SIZE' => $_connection_states{LOGGEDIN} |
+              $_connection_states{TWOSOCKS},
+);
+
+
+
+# COMMAND-HANDLING ROUTINES
+
+sub _CWD_command
+{
+    my ($conn, $cmd, $path) = @_;
+
+    local $_;
+    my $newdir = $conn->{dir};
+
+    # If the path starts with a "/" then it's an absolute path.
+    if (substr ($path, 0, 1) eq "/") {
+        $newdir = "";
+        $path =~ s,^/+,,;
+    }
+
+    # Split the path into its component parts and process each separately.
+    my @elems = split /\//, $path;
+
+    foreach (@elems) {
+        if ($_ eq "" || $_ eq ".") { 
+            # Ignore these.
+            next;
+        } elsif ($_ eq "..") {
+            # Go to parent directory.
+            if ($newdir eq "") {
+                print {$conn->{socket}} "550 Directory not found.\r\n";
+                return;
+            }
+            $newdir = substr ($newdir, 0, rindex ($newdir, "/"));
+        } else {
+            # Go into subdirectory, if it exists.
+            $newdir .= ("/" . $_);
+            if (! -d $conn->{rootdir} . $newdir) {
+                print {$conn->{socket}} "550 Directory not found.\r\n";
+                return;
+            }
+        }
+    }
+
+    $conn->{dir} = $newdir;
+}
+
+sub _LIST_command
+{
+    my ($conn, $cmd, $path) = @_;
+
+    # This is something of a hack. Some clients expect a Unix server
+    # to respond to flags on the 'ls command line'. Remove these flags
+    # and ignore them. This is particularly an issue with ncftp 2.4.3.
+    $path =~ s/^-[a-zA-Z0-9]+\s?//;
+
+    my $dir = $conn->{dir};
+
+    print STDERR "_LIST_command - dir is: $dir\n";
+
+    # Absolute path?
+    if (substr ($path, 0, 1) eq "/") {
+        $dir = "/";
+        $path =~ s,^/+,,;
+    }
+    
+    # Parse the first elements of the path until we find the appropriate
+    # working directory.
+    my @elems = split /\//, $path;
+    my ($wildcard, $filename);
+    local $_;
+
+    for (my $i = 0; $i < @elems; ++$i) {
+        $_ = $elems[$i];
+        my $lastelement = $i == @elems-1;
+
+        if ($_ eq "" || $_ eq ".") { next } # Ignore these.
+        elsif ($_ eq "..") {
+            # Go to parent directory.
+            unless ($dir eq "/") {
+                $dir = substr ($dir, 0, rindex ($dir, "/"));
+            }
+        } else {
+            if (!$lastelement) { # These elements can only be directories.
+                unless (-d $conn->{rootdir} . $dir . $_) {
+                    print {$conn->{socket}} "550 File or directory not found.\r\n";
+                    return;
+                }
+                $dir .= $_;
+            } else { # It's the last element: check if it's a file, directory or wildcard.
+                if (-f $conn->{rootdir} . $dir . $_) { 
+                    # It's a file.
+                    $filename = $_;
+                } elsif (-d $conn->{rootdir} . $dir . $_) { 
+                    # It's a directory.
+                    $dir .= $_;
+                } elsif (/\*/ || /\?/) {
+                    # It is a wildcard.
+                    $wildcard = $_;
+                } else {
+                    print {$conn->{socket}} "550 File or directory not found.\r\n";
+                    return;
+                }
+            }
+        }
+    }
+    
+    print STDERR "_LIST_command - dir is: $dir\n" if $log;
+    
+    print {$conn->{socket}} "150 Opening data connection for file listing.\r\n";
+
+    # Open a path back to the client.
+    my $sock = __open_data_connection ($conn);
+
+    unless ($sock) {
+        print {$conn->{socket}} "425 Can't open data connection.\r\n";
+        return;
+    }
+
+    # If the path contains a directory name, extract it so that
+    # we can prefix it to every filename listed.
+    my $prefix = (($filename || $wildcard) && $path =~ /(.*\/).*/) ? $1 : "";
+    
+    print STDERR "_LIST_command - prefix is: $prefix\n" if $log;
+
+    # OK, we're either listing a full directory, listing a single
+    # file or listing a wildcard.
+    if ($filename) {            # Single file.
+        __list_file ($sock, $prefix . $filename);
+    } else {                    # Wildcard or full directory $dirh.
+        unless ($wildcard) {
+            # Synthesize (fake) "total" field for directory listing.
+            print $sock "total 1 \r\n";
+        }
+
+        foreach (__get_file_list ($conn->{rootdir} . $dir, $wildcard)) {
+            __list_file ($sock, $prefix . $_);
+        }
+    }
+    
+    unless ($sock->close) {
+        print {$conn->{socket}} "550 Error closing data connection: $!\r\n";
+        return;
+    }
+
+    print {$conn->{socket}} "226 Listing complete. Data connection has been closed.\r\n";
+}
+
+sub _PASS_command
+{
+    my ($conn, $cmd, $pass) = @_;
+
+    # TODO: implement authentication?
+
+    print STDERR "switching to LOGGEDIN state\n" if $log;
+    $conn->{state} = $_connection_states{LOGGEDIN};
+    
+    if ($conn->{username} eq "anonymous") {
+        print {$conn->{socket}} "202 Anonymous user access is always granted.\r\n";
+    } else {
+        print {$conn->{socket}} "230 Authentication not implemented yet, access is always granted.\r\n";
+    }
+}
+
+sub _PASV_command
+{
+    my ($conn, $cmd, $rest) = @_;
+    
+    # Open a listening socket - but don't actually accept on it yet.
+    "0" =~ /(0)/; # Perl 5.7 / IO::Socket::INET bug workaround.
+    my $sock = IO::Socket::INET->new (LocalHost => '127.0.0.1',
+                                      LocalPort => '0',
+                                      Listen => 1,
+                                      Reuse => 1,
+                                      Proto => 'tcp',
+                                      Type => SOCK_STREAM);
+
+    unless ($sock) {
+        # Return a code 550 here, even though this is not in the RFC. XXX
+        print {$conn->{socket}} "550 Can't open a listening socket.\r\n";
+        return;
+    }
+
+    $conn->{passive} = 1;
+    $conn->{passive_socket} = $sock;
+
+    # Get our port number.
+    my $sockport = $sock->sockport;
+
+    # Split the port number into high and low components.
+    my $p1 = int ($sockport / 256);
+    my $p2 = $sockport % 256;
+
+    $conn->{state} = $_connection_states{TWOSOCKS};
+    
+    # We only accept connections from localhost.
+    print {$conn->{socket}} "227 Entering Passive Mode (127,0,0,1,$p1,$p2)\r\n";
+}
+
+sub _PORT_command
+{
+    my ($conn, $cmd, $rest) = @_;
+
+    # The arguments to PORT are a1,a2,a3,a4,p1,p2 where a1 is the
+    # most significant part of the address (eg. 127,0,0,1) and
+    # p1 is the most significant part of the port.
+    unless ($rest =~ /^\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})/) {
+        print {$conn->{socket}} "501 Syntax error in PORT command.\r\n";
+        return;
+    }
+
+    # Check host address.
+    unless ($1  > 0 && $1 < 224 &&
+            $2 >= 0 && $2 < 256 &&
+            $3 >= 0 && $3 < 256 &&
+            $4 >= 0 && $4 < 256) {
+        print {$conn->{socket}} "501 Invalid host address.\r\n";
+        return;
+    }
+
+    # Construct host address and port number.
+    my $peeraddrstring = "$1.$2.$3.$4";
+    my $peerport = $5 * 256 + $6;
+
+    # Check port number.
+    unless ($peerport > 0 && $peerport < 65536) {
+        print {$conn->{socket}} "501 Invalid port number.\r\n";
+    }
+
+    $conn->{peeraddrstring} = $peeraddrstring;
+    $conn->{peeraddr} = inet_aton ($peeraddrstring);
+    $conn->{peerport} = $peerport;
+    $conn->{passive} = 0;
+
+    $conn->{state} = $_connection_states{TWOSOCKS};
+
+    print {$conn->{socket}} "200 PORT command OK.\r\n";
+}
+
+sub _PWD_command
+{
+    my ($conn, $cmd, $rest) = @_;
+    
+    # See RFC 959 Appendix II and draft-ietf-ftpext-mlst-11.txt section 6.2.1.
+    my $pathname = $conn->{dir};
+    $pathname =~ s,/+$,, unless $pathname eq "/";
+    $pathname =~ tr,/,/,s;
+
+    print {$conn->{socket}} "257 \"$pathname\"\r\n";
+}
+
+sub _REST_command
+{
+    my ($conn, $cmd, $restart_from) = @_;
+    
+    unless ($restart_from =~ /^([1-9][0-9]*|0)$/) {
+        print {$conn->{socket}} "501 REST command needs a numeric argument.\r\n";
+        return;
+    }
+
+    $conn->{restart} = $1;
+
+    print {$conn->{socket}} "350 Restarting next transfer at $1.\r\n";
+}
+
+sub _RETR_command
+{
+    my ($conn, $cmd, $path) = @_;
+    
+    my $dir = $conn->{dir};
+
+    # Absolute path?
+    if (substr ($path, 0, 1) eq "/") {
+        $dir = "/";
+        $path =~ s,^/+,,;
+        $path = "." if $path eq "";
+    }
+
+    # Parse the first elements of path until we find the appropriate
+    # working directory.
+    my @elems = split /\//, $path;
+    my $filename = pop @elems;
+
+    foreach (@elems) {
+        if ($_ eq "" || $_ eq ".") { 
+            next # Ignore these.
+        } elsif ($_ eq "..") {
+            # Go to parent directory.
+            unless ($dir eq "/") {
+                $dir = substr ($dir, 0, rindex ($dir, "/"));
+            }
+        } else {
+            unless (-d $conn->{rootdir} . $dir . $_) {
+                print {$conn->{socket}} "550 File or directory not found.\r\n";
+                return;
+            }
+            $dir .= $_;
+        }
+    }
+
+    unless (defined $filename && length $filename) {
+        print {$conn->{socket}} "550 File or directory not found.\r\n";
+           return;
+    }
+
+    if ($filename eq "." || $filename eq "..") {
+        print {$conn->{socket}} "550 RETR command is not supported on directories.\r\n";
+           return;
+    }
+    
+    my $fullname = $conn->{rootdir} . $dir . $filename;
+    unless (-f $fullname) {
+        print {$conn->{socket}} "550 RETR command is only supported on plain files.\r\n";
+        return;
+    }
+
+    # Try to open the file.
+    unless (open (FILE, '<', $fullname)) {
+        print {$conn->{socket}} "550 File or directory not found.\r\n";
+        return;
+    }
+
+    print {$conn->{socket}} "150 Opening " .
+        ($conn->{type} eq 'A' ? "ASCII mode" : "BINARY mode") .
+        " data connection for file $filename.\r\n";
+
+    # Open a path back to the client.
+    my $sock = __open_data_connection ($conn);
+
+    unless ($sock) {
+        print {$conn->{socket}} "425 Can't open data connection.\r\n";
+        return;
+    }
+
+    # What mode are we sending this file in?
+    unless ($conn->{type} eq 'A') # Binary type.
+    {
+        my ($r, $buffer, $n, $w);
+
+        # Restart the connection from previous point?
+        if ($conn->{restart}) {
+            # VFS seek method only required to support relative forward seeks
+            #
+            # In Perl = 5.00503, SEEK_CUR is exported by IO::Seekable,
+            # in Perl >= 5.6, SEEK_CUR is exported by both IO::Seekable
+            # and Fcntl. Hence we 'use IO::Seekable' at the top of the
+            # file to get this symbol reliably in both cases.
+            sysseek (FILE, $conn->{restart}, SEEK_CUR);
+            $conn->{restart} = 0;
+        }
+
+        # Copy data.
+        while ($r = sysread (FILE, $buffer, 65536))
+        {
+            # Restart alarm clock timer.
+            alarm $conn->{idle_timeout};
+
+            for ($n = 0; $n < $r; )
+            {
+                $w = syswrite ($sock, $buffer, $r - $n, $n);
+
+                # Cleanup and exit if there was an error.
+                unless (defined $w) {
+                    close $sock;
+                    close FILE;
+                    print {$conn->{socket}} "426 File retrieval error: $!. Data connection has been closed.\r\n";
+                    return;
+                }
+
+                $n += $w;
+            }
+
+            # Transfer aborted by client?
+            if ($GOT_SIGURG) {
+                $GOT_SIGURG = 0;
+                close $sock;
+                close FILE;
+                print {$conn->{socket}} "426 Transfer aborted. Data connection closed.\r\n";
+                return;
+            }
+        }
+
+        # Cleanup and exit if there was an error.
+        unless (defined $r) {
+            close $sock;
+            close FILE;
+            print {$conn->{socket}} "426 File retrieval error: $!. Data connection has been closed.\r\n";
+            return;
+        }
+    } else { # ASCII type.
+        # Restart the connection from previous point?
+        if ($conn->{restart}) {
+            for (my $i = 0; $i < $conn->{restart}; ++$i) {
+                getc FILE;
+            }
+            $conn->{restart} = 0;
+        }
+
+        # Copy data.
+        while (defined ($_ = <FILE>)) {
+            # Remove any native line endings.
+            s/[\n\r]+$//;
+
+            # Restart alarm clock timer.
+            alarm $conn->{idle_timeout};
+
+            # Write the line with telnet-format line endings.
+            print $sock "$_\r\n";
+
+            # Transfer aborted by client?
+            if ($GOT_SIGURG) {
+                $GOT_SIGURG = 0;
+                close $sock;
+                close FILE;
+                print {$conn->{socket}} "426 Transfer aborted. Data connection closed.\r\n";
+                return;
+            }
+        }
+    }
+
+    unless (close ($sock) && close (FILE)) {
+        print {$conn->{socket}} "550 File retrieval error: $!.\r\n";
+        return;
+    }
+
+    print {$conn->{socket}} "226 File retrieval complete. Data connection has been closed.\r\n";
+}
+
+sub _SIZE_command
+{
+    my ($conn, $cmd, $path) = @_;
+    
+    my $dir = $conn->{dir};
+
+    # Absolute path?
+    if (substr ($path, 0, 1) eq "/") {
+        $dir = "/";
+        $path =~ s,^/+,,;
+        $path = "." if $path eq "";
+    }
+
+    # Parse the first elements of path until we find the appropriate
+    # working directory.
+    my @elems = split /\//, $path;
+    my $filename = pop @elems;
+
+    foreach (@elems) {
+        if ($_ eq "" || $_ eq ".") { 
+            next # Ignore these.
+        } elsif ($_ eq "..") {
+            # Go to parent directory.
+            unless ($dir eq "/") {
+                $dir = substr ($dir, 0, rindex ($dir, "/"));
+            }
+        } else {
+            unless (-d $conn->{rootdir} . $dir . $_) {
+                print {$conn->{socket}} "550 File or directory not found.\r\n";
+                return;
+            }
+            $dir .= $_;
+        }
+    }
+
+    unless (defined $filename && length $filename) {
+        print {$conn->{socket}} "550 File or directory not found.\r\n";
+           return;
+    }
+
+    if ($filename eq "." || $filename eq "..") {
+        print {$conn->{socket}} "550 SIZE command is not supported on directories.\r\n";
+           return;
+    }
+
+    my $fullname = $conn->{rootdir} . $dir . $filename;
+    unless (-f $fullname) {
+        print {$conn->{socket}} "550 SIZE command is only supported on plain files.\r\n";
+        return;
+    }
+
+    my $size = 0;
+    if ($conn->{type} eq 'A') {
+        # ASCII mode: we have to count the characters by hand.
+        unless (open (FILE, '<', $filename)) {
+            print {$conn->{socket}} "550 Cannot calculate size of $filename.\r\n";
+            return;
+        }
+        $size++ while (defined (getc(FILE)));
+        close FILE;
+    } else {
+        # BINARY mode: we can use stat
+        $size = (stat($filename))[7];
+    }
+
+    print {$conn->{socket}} "213 $size\r\n";
+}
+
+sub _SYST_command
+{
+    my ($conn, $cmd, $dummy) = @_;
+    
+    print {$conn->{socket}} "215 UNIX Type: L8\r\n";
+}
+
+sub _TYPE_command
+{
+    my ($conn, $cmd, $type) = @_;
+    
+    # See RFC 959 section 5.3.2.
+    if ($type =~ /^([AI])$/i) {
+        $conn->{type} = 'A';
+    } elsif ($type =~ /^([AI])\sN$/i) {
+        $conn->{type} = 'A';
+    } elsif ($type =~ /^L\s8$/i) {
+        $conn->{type} = 'L8';
+    } else {
+        print {$conn->{socket}} "504 This server does not support TYPE $type.\r\n";
+        return;
+    }
+
+    print {$conn->{socket}} "200 TYPE changed to $type.\r\n";
+}
+
+sub _USER_command
+{
+    my ($conn, $cmd, $username) = @_;
+
+    print STDERR "username: $username\n" if $log;
+    $conn->{username} = $username;
+
+    print STDERR "switching to WAIT4PWD state\n" if $log;
+    $conn->{state} = $_connection_states{WAIT4PWD};
+    
+    if ($conn->{username} eq "anonymous") {
+        print {$conn->{socket}} "230 Anonymous user access granted.\r\n";
+    } else {
+        print {$conn->{socket}} "331 Password required.\r\n";
+    }
+}
+
+
+# HELPER ROUTINES
+
+sub __open_data_connection
+{
+    my $conn = shift;
+
+    my $sock;
+
+    if ($conn->{passive}) {
+        # Passive mode - wait for a connection from the client.
+        accept ($sock, $conn->{passive_socket}) or return undef;
+    } else {
+        # Active mode - connect back to the client.
+        "0" =~ /(0)/; # Perl 5.7 / IO::Socket::INET bug workaround.
+        $sock = IO::Socket::INET->new (LocalAddr => '127.0.0.1',
+                                       PeerAddr => $conn->{peeraddrstring},
+                                       PeerPort => $conn->{peerport},
+                                       Proto => 'tcp',
+                                       Type => SOCK_STREAM) or return undef;
+    }
+
+    return $sock;
+}
+
+
+sub __list_file
+{
+    my $sock = shift;
+    my $filename = shift;
+
+    # Get the status information.
+    my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
+        $atime, $mtime, $ctime, $blksize, $blocks)
+      = lstat $filename;
+
+    # If the file has been removed since we created this
+    # handle, then $dev will be undefined. Return immediately.
+    return unless defined $dev;
+
+    # Generate printable user/group.
+    my $user = getpwuid ($uid) || "-";
+    my $group = getgrgid ($gid) || "-";
+
+    # Permissions from mode.
+    my $perms = $mode & 0777;
+
+    # Work out the mode using special "_" operator which causes Perl
+    # to use the result of the previous stat call.
+    $mode = (-f _ ? 'f' :
+             (-d _ ? 'd' :
+              (-l _ ? 'l' :
+               (-p _ ? 'p' :
+                (-S _ ? 's' :
+                 (-b _ ? 'b' :
+                  (-c _ ? 'c' : '?')))))));
+
+    # Generate printable date (this logic is taken from GNU fileutils:
+    # src/ls.c: print_long_format).
+    my $time = time;
+    my $fmt;
+    if ($time > $mtime + 6 * 30 * 24 * 60 * 60 || $time < $mtime - 60 * 60) {
+        $fmt = "%b %e  %Y";
+    } else {
+        $fmt = "%b %e %H:%M";
+    }
+
+    my $fmt_time = strftime $fmt, localtime ($mtime);
+
+    # Generate printable permissions.
+    my $fmt_perms = join "",
+      ($perms & 0400 ? 'r' : '-'),
+      ($perms & 0200 ? 'w' : '-'),
+      ($perms & 0100 ? 'x' : '-'),
+      ($perms & 040 ? 'r' : '-'),
+      ($perms & 020 ? 'w' : '-'),
+      ($perms & 010 ? 'x' : '-'),
+      ($perms & 04 ? 'r' : '-'),
+      ($perms & 02 ? 'w' : '-'),
+      ($perms & 01 ? 'x' : '-');
+
+    # Printable file type.
+    my $fmt_mode = $mode eq 'f' ? '-' : $mode;
+
+    # If it's a symbolic link, display the link.
+    my $link;
+    if ($mode eq 'l') {
+        $link = readlink $filename;
+        die "readlink: $!" unless defined $link;
+    }
+    my $fmt_link = defined $link ? " -> $link" : "";
+
+    # Display the file.
+    my $line = sprintf
+      ("%s%s%4d %-8s %-8s %8d %s %s%s\r\n",
+       $fmt_mode,
+       $fmt_perms,
+       $nlink,
+       $user,
+       $group,
+       $size,
+       $fmt_time,
+       $filename,
+       $fmt_link);
+    $sock->print ($line);
+}
+
+
+sub __get_file_list
+{
+    my $dir = shift;
+    my $wildcard = shift;
+
+    opendir (DIRHANDLE, $dir)
+        or die "Cannot open directory!!!";
+
+    my @allfiles = readdir DIRHANDLE;
+    my @filenames = ();
+    
+    if ($wildcard) {
+        # Get rid of . and ..
+        @allfiles = grep !/^\.{1,2}$/, @allfiles;
+        
+        # Convert wildcard to a regular expression.
+        $wildcard = __wildcard_to_regex ($wildcard);
+
+        @filenames = grep /$wildcard/, @allfiles;
+    } else {
+        @filenames = @allfiles;
+    }
+
+    closedir (DIRHANDLE);
+
+    return sort @filenames;
+}
+
+
+sub __wildcard_to_regex
+{
+    my $wildcard = shift;
+
+    $wildcard =~ s,([^?*a-zA-Z0-9]),\\$1,g; # Escape punctuation.
+    $wildcard =~ s,\*,.*,g; # Turn * into .*
+    $wildcard =~ s,\?,.,g;  # Turn ? into .
+    $wildcard = "^$wildcard\$"; # Bracket it.
+
+    return $wildcard;
+}
+
+
+###########################################################################
+# FTPSERVER CLASS
+###########################################################################
+
+{
+    my %_attr_data = ( # DEFAULT
+        _localAddr  => 'localhost',
+        _localPort  => 8021,
+        _reuseAddr  => 1,
+        _rootDir    => Cwd::getcwd(),
+    );
+    
+    sub _default_for
+    {
+        my ($self, $attr) = @_;
+        $_attr_data{$attr};
+    }
+
+    sub _standard_keys 
+    {
+        keys %_attr_data;
+    }
+}
+
+
+sub new {
+    my ($caller, %args) = @_;
+    my $caller_is_obj = ref($caller);
+    my $class = $caller_is_obj || $caller;
+    my $self = bless {}, $class;
+    foreach my $attrname ($self->_standard_keys()) {
+        my ($argname) = ($attrname =~ /^_(.*)/);
+        if (exists $args{$argname}) {
+            $self->{$attrname} = $args{$argname};
+        } elsif ($caller_is_obj) {
+            $self->{$attrname} = $caller->{$attrname};
+        } else {
+            $self->{$attrname} = $self->_default_for($attrname);
+        }
+    }
+    return $self;
+}
+
+
+sub run 
+{
+    my ($self, $synch_callback) = @_;
+    my $initialized = 0;
+
+    # turn buffering off on STDERR
+    select((select(STDERR), $|=1)[0]);
+
+    # initialize command table
+    my $command_table = {};
+    foreach (keys %_commands) {
+        my $subname = "_${_}_command";
+        $command_table->{$_} = \&$subname;
+    }
+
+    my $old_ils = $/;
+    $/ = "\r\n";
+
+    # create server socket
+    "0" =~ /(0)/; # Perl 5.7 / IO::Socket::INET bug workaround.
+    my $server_sock = IO::Socket::INET->new (LocalHost => $self->{_localAddr},
+                                             LocalPort => $self->{_localPort},
+                                             Listen => 1,
+                                             Reuse => $self->{_reuseAddr},
+                                             Proto => 'tcp',
+                                             Type => SOCK_STREAM) or die "bind: $!";
+
+    if (!$initialized) {
+        $synch_callback->();
+        $initialized = 1;
+    }
+
+    $SIG{CHLD} = sub { wait };
+
+    # the accept loop
+    while (my $client_addr = accept (my $socket, $server_sock))
+    {    
+        # turn buffering off on $socket
+        select((select($socket), $|=1)[0]);
+        
+        # find out who connected    
+        my ($client_port, $client_ip) = sockaddr_in ($client_addr);
+        my $client_ipnum = inet_ntoa ($client_ip);
+
+        # print who connected
+        print STDERR "got a connection from: $client_ipnum\n" if $log;
+
+        # fork off a process to handle this connection.
+        my $pid = fork();
+        unless (defined $pid) {
+            warn "fork: $!";
+            sleep 5; # Back off in case system is overloaded.
+            next;
+        }
+
+        if ($pid == 0) { # Child process.
+
+            # install signals
+            $SIG{URG}  = sub { 
+                $GOT_SIGURG  = 1; 
+            };
+
+            $SIG{PIPE} = sub {
+                print STDERR "Client closed connection abruptly.\n";
+                exit;
+            };
+
+            $SIG{ALRM} = sub {
+                print STDERR "Connection idle timeout expired. Closing server.\n";
+                exit;
+            };
+            
+            #$SIG{CHLD} = 'IGNORE';
+
+
+            print STDERR "in child\n" if $log;
+
+            my $conn = { 
+                'socket'       => $socket, 
+                'state'        => $_connection_states{NEWCONN},
+                'dir'          => '/',
+                'restart'      => 0,
+                'idle_timeout' => 60, # 1 minute timeout
+                'rootdir'      => $self->{_rootDir},
+            };
+        
+            print {$conn->{socket}} "220 GNU Wget Testing FTP Server ready.\r\n";
+
+            # command handling loop
+            for (;;) {
+                print STDERR "waiting for request\n" if $log;
+
+                last unless defined (my $req = <$socket>);
+
+                # Remove trailing CRLF.
+                $req =~ s/[\n\r]+$//;
+
+                print STDERR "received request $req\n" if $log;
+
+                # Get the command.
+                # See also RFC 2640 section 3.1.
+                unless ($req =~ m/^([A-Z]{3,4})\s?(.*)/i) {
+                    # badly formed command
+                    exit 0;
+                }
+
+                # The following strange 'eval' is necessary to work around a
+                # very odd bug in Perl 5.6.0. The following assignment to
+                # $cmd will fail in some cases unless you use $1 in some sort
+                # of an expression beforehand.
+                # - RWMJ 2002-07-05.
+                eval '$1 eq $1';
+
+                my ($cmd, $rest) = (uc $1, $2);
+
+                # Got a command which matches in the table?
+                unless (exists $command_table->{$cmd}) {
+                    print {$conn->{socket}} "500 Unrecognized command.\r\n";
+                    next;
+                }
+
+                # Command requires user to be authenticated?
+                unless ($_commands{$cmd} | $conn->{state}) {
+                    print {$conn->{socket}} "530 Not logged in.\r\n";
+                    next;
+                }
+                
+                # Handle the QUIT command specially.
+                if ($cmd eq "QUIT") {
+                    print {$conn->{socket}} "221 Goodbye. Service closing connection.\r\n";
+                    last;
+                }
+
+                # Run the command.
+                &{$command_table->{$cmd}} ($conn, $cmd, $rest);
+            }
+        } else { # Father
+            close $socket;
+        }
+    } 
+
+    $/ = $old_ils;
+}
+
+1;
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/FTPTest.pm b/tests/FTPTest.pm
new file mode 100644 (file)
index 0000000..0e9e071
--- /dev/null
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+package FTPTest;
+
+use strict;
+
+use FTPServer;
+use WgetTest;
+
+our @ISA = qw(WgetTest);
+my $VERSION = 0.01;
+
+
+{
+    my %_attr_data = ( # DEFAULT
+    );
+    
+    sub _default_for
+    {
+        my ($self, $attr) = @_;
+        return $_attr_data{$attr} if exists $_attr_data{$attr};
+        return $self->SUPER::_default_for($attr);
+    }
+
+    sub _standard_keys 
+    {
+        my ($self) = @_;
+        ($self->SUPER::_standard_keys(), keys %_attr_data);
+    }
+}
+    
+
+sub _setup_server {
+    my $self = shift;
+
+    foreach my $url (keys %{$self->{_input}}) {
+        my $filename = $url;
+        $filename =~ s/^\///;
+        open (FILE, ">$filename")
+            or return "Test failed: cannot open input file $filename\n";
+
+        print FILE $self->{_input}->{$url}->{content}
+            or return "Test failed: cannot write input file $filename\n";
+
+        close (FILE);
+    }
+}
+
+
+sub _launch_server {
+    my $self = shift;
+    my $synch_func = shift;
+
+    my $server = FTPServer->new (LocalAddr => 'localhost',
+                                 LocalPort => '8021',
+                                 ReuseAddr => 1,
+                                 rootDir => "$self->{_workdir}/$self->{_name}/input") or die "Cannot create server!!!";
+    $server->run ($synch_func);
+}
+
+1;
+
+# vim: et ts=4 sw=4
+
old mode 100755 (executable)
new mode 100644 (file)
index 2d56160..97e9139
@@ -24,7 +24,6 @@ sub run {
             $synch_callback->();
             $initialized = 1;
         }        
-                                
         my $con = $self->accept();
         print STDERR "Accepted a new connection\n" if $log;
         while (my $req = $con->get_request) {
@@ -32,9 +31,9 @@ sub run {
             if ($url_path =~ m{/$}) { # append 'index.html'
                 $url_path .= 'index.html';
             }
-            if ($url_path =~ m{^/}) { # remove trailing '/'
-                $url_path = substr ($url_path, 1);
-            }
+            #if ($url_path =~ m{^/}) { # remove trailing '/'
+            #    $url_path = substr ($url_path, 1);
+            #}
             if ($log) {
                 print STDERR "Method: ", $req->method, "\n";
                 print STDERR "Path: ", $url_path, "\n";
@@ -47,55 +46,8 @@ sub run {
                 print STDERR "Serving requested URL: ", $url_path, "\n" if $log;
                 next unless ($req->method eq "HEAD" || $req->method eq "GET");
                 
-                # create response
-                my $tmp = $urls->{$url_path};
-                my $resp = HTTP::Response->new ($tmp->{code}, $tmp->{msg});
-                print STDERR "HTTP::Response: \n", $resp->as_string if $log;
-                
-                #if (is_dynamic_url) { # dynamic resource
-                #} else { # static resource
-                    # fill in headers
-                    while (my ($name, $value) = each %{$tmp->{headers}}) {
-                        # print STDERR "setting header: $name = $value\n";
-                        $resp->header($name => $value);
-                    }
-                    print STDERR "HTTP::Response with headers: \n", $resp->as_string if $log;
-                    
-                    if ($req->method eq "GET") {
-                        if (exists($tmp->{headers}{"Content-Length"})) {
-                            # Content-Length and length($tmp->{content}) don't match
-                            # manually prepare the HTTP response
-                            $con->send_basic_header($tmp->{code}, $resp->message, $resp->protocol);
-                            print $con $resp->headers_as_string($CRLF);
-                            print $con $CRLF;
-                            print $con $tmp->{content};
-                            next;
-                        }
-                        if ($req->header("Range")) {
-                            $req->header("Range") =~ m/bytes=(\d*)-(\d*)/;
-                            my $content_len = length($tmp->{content});
-                            my $start = $1 ? $1 : 0;
-                            my $end = $2 ? $2 : ($content_len - 1);
-                            my $len = $2 ? ($2 - $start) : ($content_len - $start);
-                            $resp->header("Accept-Ranges" => "bytes");
-                            $resp->header("Content-Length" => $len);
-                            $resp->header("Content-Range" => "bytes $start-$end/$content_len");
-                            $resp->header("Keep-Alive" => "timeout=15, max=100");
-                            $resp->header("Connection" => "Keep-Alive");
-                            $con->send_basic_header(206, "Partial Content", $resp->protocol);
-                            print $con $resp->headers_as_string($CRLF);
-                            print $con $CRLF;
-                            print $con substr($tmp->{content}, $start, $len);
-                            next;
-                        }
-                        # fill in content
-                        $resp->content($tmp->{content});
-                        print STDERR "HTTP::Response with content: \n", $resp->as_string if $log;
-                    }
-                #}
-                
-                $con->send_response($resp);
-                print STDERR "HTTP::Response sent: \n", $resp->as_string if $log;
+                my $url_rec = $urls->{$url_path};
+                $self->send_response($req, $url_rec, $con);
             } else {
                 print STDERR "Requested wrong URL: ", $url_path, "\n" if $log;
                 $con->send_error($HTTP::Status::RC_FORBIDDEN);
@@ -107,6 +59,144 @@ sub run {
     }
 }
 
+sub send_response {
+    my ($self, $req, $url_rec, $con) = @_;
+
+    # create response
+    my ($code, $msg, $headers);
+    my $send_content = ($req->method eq "GET");
+    if (exists $url_rec->{'auth_method'}) {
+        ($send_content, $code, $msg, $headers) =
+            $self->handle_auth($req, $url_rec);
+    } else {
+        ($code, $msg) = @{$url_rec}{'code', 'msg'};
+        $headers = $url_rec->{headers};
+    }
+    my $resp = HTTP::Response->new ($code, $msg);
+    print STDERR "HTTP::Response: \n", $resp->as_string if $log;
+
+    while (my ($name, $value) = each %{$headers}) {
+        # print STDERR "setting header: $name = $value\n";
+        $resp->header($name => $value);
+    }
+    print STDERR "HTTP::Response with headers: \n", $resp->as_string if $log;
+
+    if ($send_content) {
+        my $content = $url_rec->{content};
+        if (exists($url_rec->{headers}{"Content-Length"})) {
+            # Content-Length and length($content) don't match
+            # manually prepare the HTTP response
+            $con->send_basic_header($url_rec->{code}, $resp->message, $resp->protocol);
+            print $con $resp->headers_as_string($CRLF);
+            print $con $CRLF;
+            print $con $content;
+            next;
+        }
+        if ($req->header("Range")) {
+            $req->header("Range") =~ m/bytes=(\d*)-(\d*)/;
+            my $content_len = length($content);
+            my $start = $1 ? $1 : 0;
+            my $end = $2 ? $2 : ($content_len - 1);
+            my $len = $2 ? ($2 - $start) : ($content_len - $start);
+            $resp->header("Accept-Ranges" => "bytes");
+            $resp->header("Content-Length" => $len);
+            $resp->header("Content-Range" => "bytes $start-$end/$content_len");
+            $resp->header("Keep-Alive" => "timeout=15, max=100");
+            $resp->header("Connection" => "Keep-Alive");
+            $con->send_basic_header(206, "Partial Content", $resp->protocol);
+            print $con $resp->headers_as_string($CRLF);
+            print $con $CRLF;
+            print $con substr($content, $start, $len);
+            next;
+        }
+        # fill in content
+        $resp->content($content);
+        print STDERR "HTTP::Response with content: \n", $resp->as_string if $log;
+    }
+
+    $con->send_response($resp);
+    print STDERR "HTTP::Response sent: \n", $resp->as_string if $log;
+}
+
+# Generates appropriate response content based on the authentication
+# status of the URL.
+sub handle_auth {
+    my ($self, $req, $url_rec) = @_;
+    my ($send_content, $code, $msg, $headers);
+    # Catch failure to set code, msg:
+    $code = 500;
+    $msg  = "Didn't set response code in handle_auth";
+    # Most cases, we don't want to send content.
+    $send_content = 0;
+    # Initialize headers
+    $headers = {};
+    my $authhdr = $req->header('Authorization');
+
+    # Have we sent the challenge yet?
+    unless (defined $url_rec->{auth_challenged}
+        && $url_rec->{auth_challenged}) {
+        # Since we haven't challenged yet, we'd better not
+        # have received authentication (for our testing purposes).
+        if ($authhdr) {
+            $code = 400;
+            $msg  = "You sent auth before I sent challenge";
+        } else {
+            # Send challenge
+            $code = 401;
+            $msg  = "Authorization Required";
+            $headers->{'WWW-Authenticate'} = $url_rec->{'auth_method'}
+                . " realm=\"wget-test\"";
+            $url_rec->{auth_challenged} = 1;
+        }
+    } elsif (!defined($authhdr)) {
+        # We've sent the challenge; we should have received valid
+        # authentication with this one. A normal server would just
+        # resend the challenge; but since this is a test, wget just
+        # failed it.
+        $code = 400;
+        $msg  = "You didn't send auth after I sent challenge";
+    } else {
+        my ($sent_method) = ($authhdr =~ /^(\S+)/g);
+        unless ($sent_method eq $url_rec->{'auth_method'}) {
+            # Not the authorization type we were expecting.
+            $code = 400;
+            $msg = "Expected auth type $url_rec->{'auth_method'} but got "
+                . "$sent_method";
+        } elsif (($sent_method eq 'Digest'
+                  && &verify_auth_digest($authhdr, $url_rec, \$msg))
+                 ||
+                 ($sent_method eq 'Basic'
+                  && &verify_auth_basic($authhdr, $url_rec, \$msg))) {
+            # SUCCESSFUL AUTH: send expected message, headers, content.
+            ($code, $msg) = @{$url_rec}{'code', 'msg'};
+            $headers = $url_rec->{headers};
+            $send_content = 1;
+        } else {
+            $code = 400;
+        }
+    }
+
+    return ($send_content, $code, $msg, $headers);
+}
+
+sub verify_auth_digest {
+    return undef; # Not yet implemented.
+}
+
+sub verify_auth_basic {
+    require MIME::Base64;
+    my ($authhdr, $url_rec, $msgref) = @_;
+    my $expected = MIME::Base64::encode_base64($url_rec->{'user'} . ':'
+        . $url_rec->{'passwd'}, '');
+    my ($got) = $authhdr =~ /^Basic (.*)$/;
+    if ($got eq $expected) {
+        return 1;
+    } else {
+        $$msgref = "Wanted ${expected} got ${got}";
+        return undef;
+    }
+}
+
 1;
 
 # vim: et ts=4 sw=4
old mode 100755 (executable)
new mode 100644 (file)
index 7274adc..cd4fb2e
@@ -5,9 +5,9 @@ package HTTPTest;
 use strict;
 
 use HTTPServer;
-use Test;
+use WgetTest;
 
-our @ISA = qw(Test);
+our @ISA = qw(WgetTest);
 my $VERSION = 0.01;
 
 
@@ -15,18 +15,18 @@ my $VERSION = 0.01;
     my %_attr_data = ( # DEFAULT
     );
     
-       sub _default_for
-       {
-               my ($self, $attr) = @_;
+    sub _default_for
+    {
+        my ($self, $attr) = @_;
         return $_attr_data{$attr} if exists $_attr_data{$attr};
-               return $self->SUPER::_default_for($attr);
-       }
+        return $self->SUPER::_default_for($attr);
+    }
 
-       sub _standard_keys 
-       {
+    sub _standard_keys 
+    {
         my ($self) = @_;
-               ($self->SUPER::_standard_keys(), keys %_attr_data);
-       }
+        ($self->SUPER::_standard_keys(), keys %_attr_data);
+    }
 }
     
 
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644 (file)
index 0000000..224cb9c
--- /dev/null
@@ -0,0 +1,106 @@
+# Makefile for `wget' utility
+# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+# 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+# This program 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 3 of the License, 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with Wget.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
+
+#
+# Version: @VERSION@
+#
+
+PERL     = perl
+PERLRUN = $(PERL) -I$(srcdir)
+
+.PHONY: test run-unit-tests run-px-tests
+
+check-local: test
+
+test: ../src/wget$(EXEEXT) run-unit-tests #run-px-tests
+
+../src/wget$(EXEEXT):
+       cd ../src && $(MAKE) $(AM_MAKEFLAGS)
+
+run-unit-tests: unit-tests$(EXEEXT)
+       ./unit-tests$(EXEEXT)
+
+run-px-tests: WgetTest.pm
+       $(PERLRUN) $(srcdir)/Test-proxy-auth-basic.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-auth-basic.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-c-full.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-c-partial.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-c.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-E-k-K.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-E-k.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-ftp.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-HTTP-Content-Disposition-1.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-HTTP-Content-Disposition-2.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-HTTP-Content-Disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-N-current-HTTP-CD.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-N-current.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-N-HTTP-Content-Disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-N--no-content-disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-N--no-content-disposition-trivial.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--no-content-disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--no-content-disposition-trivial.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-N-old.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-nonexisting-quiet.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-noop.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-np.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-N.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-O-HTTP-Content-Disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-O--no-content-disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-O--no-content-disposition-trivial.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-O-nonexisting.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-O.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-Restrict-Lowercase.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test-Restrict-Uppercase.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider-fail.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider-HTTP-Content-Disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider--no-content-disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider--no-content-disposition-trivial.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider-r-HTTP-Content-Disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider-r--no-content-disposition.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider-r--no-content-disposition-trivial.px && echo && echo
+       $(PERLRUN) $(srcdir)/Test--spider-r.px && echo && echo
+
+EXTRA_DIST = FTPServer.pm FTPTest.pm HTTPServer.pm HTTPTest.pm \
+            Test-auth-basic.px Test-c-full.px Test-c-partial.px \
+            Test-c.px Test-E-k-K.px Test-E-k.px Test-ftp.px \
+            Test-HTTP-Content-Disposition-1.px \
+            Test-HTTP-Content-Disposition-2.px \
+            Test-HTTP-Content-Disposition.px \
+            Test-N-current.px Test-N-old.px Test-nonexisting-quiet.px \
+            Test-noop.px Test-np.px Test-N.px \
+            Test-O-nonexisting.px Test-O.px \
+            Test-Restrict-Lowercase.px Test-Restrict-Uppercase.px \
+            Test--spider-fail.px Test--spider.px Test--spider-r.px
+
+check_PROGRAMS = unit-tests
+unit_tests_SOURCES = 
+LDADD = ../src/libunittest.a ../lib/libgnu.a @LIBSSL@ @LIBGNUTLS@ \
+        @MD5_LDADD@
+
+CLEANFILES = *~ *.bak core core.[0-9]*
diff --git a/tests/Makefile.in b/tests/Makefile.in
deleted file mode 100644 (file)
index 2257c1e..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-# Makefile for `wget' utility
-# Copyright (C) 1995-2005 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with Wget; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
-#
-# Version: @VERSION@
-#
-
-SHELL = /bin/sh
-
-top_builddir = ..
-
-top_srcdir = @top_srcdir@
-srcdir     = @srcdir@
-VPATH      = @srcdir@
-
-prefix       = @prefix@
-exec_prefix  = @exec_prefix@
-bindir       = @bindir@
-sysconfdir   = @sysconfdir@
-datadir      = @datadir@
-localedir    = $(datadir)/locale
-
-DESTDIR      =
-
-CC       = @CC@
-CPPFLAGS = @CPPFLAGS@
-# The following line is losing on some versions of make!
-DEFS     = @DEFS@ -DSYSTEM_WGETRC=\"$(sysconfdir)/wgetrc\" -DLOCALEDIR=\"$(localedir)\"
-CFLAGS   = @CFLAGS@
-LDFLAGS  = @LDFLAGS@ 
-LIBS     = @LIBS@ @LIBSSL@ @LIBGNUTLS@
-exeext   = @exeext@
-
-INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../src
-
-COMPILE = $(CC) $(INCLUDES) $(CPPFLAGS) $(DEFS) $(CFLAGS)
-LINK    = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-RM = rm -f
-ETAGS = etags
-
-# Conditional compiles
-ALLOCA     = @ALLOCA@
-MD5_OBJ    = @MD5_OBJ@
-OPIE_OBJ   = @OPIE_OBJ@
-NTLM_OBJ   = @NTLM_OBJ@
-SSL_OBJ    = @SSL_OBJ@
-GETOPT_OBJ = @GETOPT_OBJ@
-
-
-all:
-
-unittest: test$(exeext)
-
-#
-# Dependencies for test binary
-#
-
-TESTOBJ = $(ALLOCA) cmpt.o connect.o convert.o cookies.o              \
-          ftp.o ftp-basic.o ftp-ls.o $(OPIE_OBJ) $(GETOPT_OBJ) hash.o \
-          host.o html-parse.o html-url.o http.o $(NTLM_OBJ) init.o    \
-          log.o main.o $(MD5_OBJ) netrc.o progress.o                  \
-          ptimer.o recur.o res.o retr.o safe-ctype.o snprintf.o       \
-          spider.o $(SSL_OBJ) test.o url.o utils.o version.o xmalloc.o
-
-# We make object files depend on every header.  Rather than attempt to
-# track dependencies, everything gets recompiled when a header
-# changes.  With a program of Wget's size this doesn't waste much
-# time, and it's a lot safer than attempting to get all the
-# dependencies right.
-
-HEADERS = ../src/config-post.h ../src/config.h                 \
-         ../src/connect.h ../src/convert.h ../src/cookies.h   \
-         ../src/ftp.h ../src/gen-md5.h ../src/getopt.h        \
-         ../src/gnu-md5.h ../src/hash.h ../src/host.h         \
-         ../src/html-parse.h ../src/http-ntlm.h ../src/init.h \
-         ../src/log.h ../src/mswindows.h ../src/netrc.h       \
-         ../src/options.h ../src/progress.h                   \
-         ../src/ptimer.h ../src/recur.h ../src/res.h          \
-         ../src/retr.h ../src/safe-ctype.h ../src/spider.h    \
-         ../src/ssl.h ../src/sysdep.h ../src/test.h           \
-         ../src/url.h ../src/utils.h ../src/wget.h            \
-         ../src/xmalloc.h
-
-alloca.o: ../src/alloca.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-ccache.o: ../src/ccache.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-cmpt.o: ../src/cmpt.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-connect.o: ../src/connect.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-convert.o: ../src/convert.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-cookies.o: ../src/cookies.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-ftp-basic.o: ../src/ftp-basic.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-ftp.o: ../src/ftp.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-ftp-ls.o: ../src/ftp-ls.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-ftp-opie.o: ../src/ftp-opie.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-gen-md5.o: ../src/gen-md5.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-getopt.o: ../src/getopt.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-gnu-md5.o: ../src/gnu-md5.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-gnutls.o: ../src/gnutls.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-hash.o: ../src/hash.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-host.o: ../src/host.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-html-parse.o: ../src/html-parse.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-html-url.o: ../src/html-url.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-http.o: ../src/http.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-http-ntlm.o: ../src/http-ntlm.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-init.o: ../src/init.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-log.o: ../src/log.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-main.o: ../src/main.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-mswindows.o: ../src/mswindows.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-netrc.o: ../src/netrc.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-openssl.o: ../src/openssl.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-progress.o: ../src/progress.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-protocol.o: ../src/protocol.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-ptimer.o: ../src/ptimer.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-recur.o: ../src/recur.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-res.o: ../src/res.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-retr.o: ../src/retr.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-safe-ctype.o: ../src/safe-ctype.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-snprintf.o: ../src/snprintf.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-spider.o: ../src/spider.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-test.o: ../src/test.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-url.o: ../src/url.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-utils.o: ../src/utils.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-version.o: ../src/version.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-xmalloc.o: ../src/xmalloc.c $(HEADERS)
-       $(COMPILE) -DTESTING -c $<
-
-       
-test$(exeext): $(TESTOBJ)
-       $(LINK) $(TESTOBJ) $(LIBS)
-
-#
-# Dependencies for cleanup
-#
-
-clean:
-       $(RM) *.o test$(exeext) *~ *.bak core core.[0-9]*
-
-distclean: clean
-       $(RM) Makefile
-
-realclean: distclean
-
-#
-# Dependencies for maintenance
-#
-
-subdir = tests
-
-Makefile: Makefile.in ../config.status
-       cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
-
diff --git a/tests/Test--no-content-disposition-trivial.px b/tests/Test--no-content-disposition-trivial.px
new file mode 100755 (executable)
index 0000000..1d64125
--- /dev/null
@@ -0,0 +1,55 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+<html>
+<head>
+  <title>Page Title</title>
+</head>
+<body>
+  <p>
+    Some text.
+  </p>
+</body>
+</html>
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $dummyfile,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --no-content-disposition http://localhost:8080/dummy.html";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'dummy.html' => {
+        content => $dummyfile,
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--no-content-disposition-trivial",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test--no-content-disposition.px b/tests/Test--no-content-disposition.px
new file mode 100755 (executable)
index 0000000..d5433f0
--- /dev/null
@@ -0,0 +1,56 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+<html>
+<head>
+  <title>Page Title</title>
+</head>
+<body>
+  <p>
+    Some text.
+  </p>
+</body>
+</html>
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+            "Content-Disposition" => "attachment; filename=\"filename.html\"",
+        },
+        content => $dummyfile,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --no-content-disposition http://localhost:8080/dummy.html";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'dummy.html' => {
+        content => $dummyfile,
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--no-content-disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test--spider--no-content-disposition-trivial.px b/tests/Test--spider--no-content-disposition-trivial.px
new file mode 100755 (executable)
index 0000000..323db07
--- /dev/null
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $mainpage = <<EOF;
+<html>
+<head>
+  <title>Main Page</title>
+</head>
+<body>
+  <p>
+    Some text.
+  </p>
+</body>
+</html>
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/index.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $mainpage,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --spider --no-content-disposition http://localhost:8080/index.html";
+
+my $expected_error_code = 256;
+
+my %expected_downloaded_files = (
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--spider--no-content-disposition-trivial",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test--spider--no-content-disposition.px b/tests/Test--spider--no-content-disposition.px
new file mode 100755 (executable)
index 0000000..acf73a7
--- /dev/null
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $mainpage = <<EOF;
+<html>
+<head>
+  <title>Main Page</title>
+</head>
+<body>
+  <p>
+    Some text.
+  </p>
+</body>
+</html>
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/index.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+            "Content-Disposition" => "attachment; filename=\"filename.html\"",
+        },
+        content => $mainpage,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --spider --no-content-disposition http://localhost:8080/index.html";
+
+my $expected_error_code = 256;
+
+my %expected_downloaded_files = (
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--spider--no-content-disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test--spider-HTTP-Content-Disposition.px b/tests/Test--spider-HTTP-Content-Disposition.px
new file mode 100755 (executable)
index 0000000..79eaba5
--- /dev/null
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $mainpage = <<EOF;
+<html>
+<head>
+  <title>Main Page</title>
+</head>
+<body>
+  <p>
+    Some text.
+  </p>
+</body>
+</html>
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/index.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+            "Content-Disposition" => "attachment; filename=\"filename.html\"",
+        },
+        content => $mainpage,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --spider http://localhost:8080/index.html";
+
+my $expected_error_code = 256;
+
+my %expected_downloaded_files = (
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--spider-HTTP-Content-Disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
index 9682681b94e1c9e530028a55d9b20c2d03fb7ea1..c5a299d1ad09583a18f02cdb4246f022009c6e28 100755 (executable)
@@ -32,7 +32,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --spider http://localhost:8080/nonexistent";
+my $cmdline = $WgetTest::WGETPATH . " --spider http://localhost:8080/nonexistent";
 
 my $expected_error_code = 256;
 
@@ -46,7 +46,7 @@ my $the_test = HTTPTest->new (name => "Test--spider-fail",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
diff --git a/tests/Test--spider-r--no-content-disposition-trivial.px b/tests/Test--spider-r--no-content-disposition-trivial.px
new file mode 100755 (executable)
index 0000000..0e290c2
--- /dev/null
@@ -0,0 +1,109 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $mainpage = <<EOF;
+<html>
+<head>
+  <title>Main Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/secondpage.html">second page</a>.
+    Also, a <a href="http://localhost:8080/nonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $secondpage = <<EOF;
+<html>
+<head>
+  <title>Second Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/thirdpage.html">third page</a>.
+    Also, a <a href="http://localhost:8080/nonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $thirdpage = <<EOF;
+<html>
+<head>
+  <title>Third Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/dummy.txt">text file</a>.
+    Also, another <a href="http://localhost:8080/againnonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $dummyfile = <<EOF;
+Don't care.
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/index.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $mainpage,
+    },
+    '/secondpage.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $secondpage,
+    },
+    '/thirdpage.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $thirdpage,
+    },
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --spider -r --no-content-disposition http://localhost:8080/";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--spider-r--no-content-disposition-trivial",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test--spider-r--no-content-disposition.px b/tests/Test--spider-r--no-content-disposition.px
new file mode 100755 (executable)
index 0000000..0e3c00e
--- /dev/null
@@ -0,0 +1,110 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $mainpage = <<EOF;
+<html>
+<head>
+  <title>Main Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/secondpage.html">second page</a>.
+    Also, a <a href="http://localhost:8080/nonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $secondpage = <<EOF;
+<html>
+<head>
+  <title>Second Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/thirdpage.html">third page</a>.
+    Also, a <a href="http://localhost:8080/nonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $thirdpage = <<EOF;
+<html>
+<head>
+  <title>Third Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/dummy.txt">text file</a>.
+    Also, another <a href="http://localhost:8080/againnonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $dummyfile = <<EOF;
+Don't care.
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/index.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $mainpage,
+    },
+    '/secondpage.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+            "Content-Disposition" => "attachment; filename=\"filename.html\"",
+        },
+        content => $secondpage,
+    },
+    '/thirdpage.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $thirdpage,
+    },
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --spider -r --no-content-disposition http://localhost:8080/";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--spider-r--no-content-disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test--spider-r-HTTP-Content-Disposition.px b/tests/Test--spider-r-HTTP-Content-Disposition.px
new file mode 100755 (executable)
index 0000000..e70f6b4
--- /dev/null
@@ -0,0 +1,110 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $mainpage = <<EOF;
+<html>
+<head>
+  <title>Main Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/secondpage.html">second page</a>.
+    Also, a <a href="http://localhost:8080/nonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $secondpage = <<EOF;
+<html>
+<head>
+  <title>Second Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/thirdpage.html">third page</a>.
+    Also, a <a href="http://localhost:8080/nonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $thirdpage = <<EOF;
+<html>
+<head>
+  <title>Third Page</title>
+</head>
+<body>
+  <p>
+    Some text and a link to a <a href="http://localhost:8080/dummy.txt">text file</a>.
+    Also, another <a href="http://localhost:8080/againnonexistent">broken link</a>.
+  </p>
+</body>
+</html>
+EOF
+
+my $dummyfile = <<EOF;
+Don't care.
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/index.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $mainpage,
+    },
+    '/secondpage.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+            "Content-Disposition" => "attachment; filename=\"filename.html\"",
+        },
+        content => $secondpage,
+    },
+    '/thirdpage.html' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/html",
+        },
+        content => $thirdpage,
+    },
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --spider -r http://localhost:8080/";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test--spider-r-HTTP-Content-Disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
index 94ca2c7a905a46e39385a46ee666c48e5231740b..7b8d460f107d1ee59784f7973e43241841102b59 100755 (executable)
@@ -89,7 +89,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --spider -r http://localhost:8080/";
+my $cmdline = $WgetTest::WGETPATH . " --spider -r http://localhost:8080/";
 
 my $expected_error_code = 0;
 
@@ -103,7 +103,7 @@ my $the_test = HTTPTest->new (name => "Test--spider-r",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 2c58cebd671b4ddcd8a4603ed97ac4069b87d1ee..c2c1263e01bf9aa125647a9cf627bff8f64b0aa1 100755 (executable)
@@ -32,7 +32,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --spider http://localhost:8080/index.html";
+my $cmdline = $WgetTest::WGETPATH . " --spider http://localhost:8080/index.html";
 
 my $expected_error_code = 256;
 
@@ -46,7 +46,7 @@ my $the_test = HTTPTest->new (name => "Test--spider",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 854d47ad7e500df6ab4b823f834c4a0008e9ffb8..71d51ea15808505b808f521baf5689adaa5cec82 100755 (executable)
@@ -60,7 +60,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -d -r -nd -E -k -K http://localhost:8080/index.php";
+my $cmdline = $WgetTest::WGETPATH . " -d -r -nd -E -k -K http://localhost:8080/index.php";
 
 my $expected_error_code = 0;
 
@@ -83,7 +83,7 @@ my $the_test = HTTPTest->new (name => "Test-E-k-K",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 86e2dcf62524986e142626d6e34ea99be989378d..3bf441df6d070fbd8c61d82526c52a241879f2c8 100755 (executable)
@@ -60,7 +60,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -r -nd -E -k http://localhost:8080/index.php";
+my $cmdline = $WgetTest::WGETPATH . " -r -nd -E -k http://localhost:8080/index.php";
 
 my $expected_error_code = 0;
 
@@ -80,7 +80,7 @@ my $the_test = HTTPTest->new (name => "Test-E-k",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 3727ad162187647579d4a8492241830ccbefb1d1..ffc9eb25af43643c7fc75beeb5e39c906d449c84 100755 (executable)
@@ -37,7 +37,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget http://localhost:8080/dummy.html";
+my $cmdline = $WgetTest::WGETPATH . " -e contentdisposition=on http://localhost:8080/dummy.html";
 
 my $expected_error_code = 0;
 
@@ -64,13 +64,13 @@ my %expected_downloaded_files = (
 
 ###############################################################################
 
-my $the_test = HTTPTest->new (name => "Test6",
+my $the_test = HTTPTest->new (name => "Test-HTTP-Content-Disposition-1",
                               input => \%urls, 
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               existing => \%existing_files,
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 8064f76bf2ef1da96d007bed66a49c29b5270fa3..03eb2beeebae2269a0870d616a3de866b5bf962b 100755 (executable)
@@ -37,7 +37,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --no-content-disposition http://localhost:8080/dummy.html";
+my $cmdline = $WgetTest::WGETPATH . " --no-content-disposition http://localhost:8080/dummy.html";
 
 my $expected_error_code = 0;
 
@@ -64,13 +64,13 @@ my %expected_downloaded_files = (
 
 ###############################################################################
 
-my $the_test = HTTPTest->new (name => "Test7",
+my $the_test = HTTPTest->new (name => "Test-HTTP-Content-Disposition-2",
                               input => \%urls, 
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               existing => \%existing_files,
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index c9bc62fa9d0d5d2b00c17e860260359205bd13ef..0f4b285b6190ec4a3779226d9250bfd36a3e81d5 100755 (executable)
@@ -33,7 +33,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget http://localhost:8080/dummy.html";
+my $cmdline = $WgetTest::WGETPATH . " -e contentdisposition=on http://localhost:8080/dummy.html";
 
 my $expected_error_code = 0;
 
@@ -45,12 +45,12 @@ my %expected_downloaded_files = (
 
 ###############################################################################
 
-my $the_test = HTTPTest->new (name => "Test5",
+my $the_test = HTTPTest->new (name => "Test-HTTP-Content-Disposition",
                               input => \%urls, 
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
diff --git a/tests/Test-N--no-content-disposition-trivial.px b/tests/Test-N--no-content-disposition-trivial.px
new file mode 100755 (executable)
index 0000000..390d369
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+Content
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+            "Last-Modified" => "Sat, 09 Oct 2004 08:30:00 GMT",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " -N --no-content-disposition http://localhost:8080/dummy.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'dummy.txt' => {
+        content => $dummyfile,
+        timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-N--no-content-disposition-trivial",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test-N--no-content-disposition.px b/tests/Test-N--no-content-disposition.px
new file mode 100755 (executable)
index 0000000..dbec7c6
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+Content
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+            "Last-Modified" => "Sat, 09 Oct 2004 08:30:00 GMT",
+            "Content-Disposition" => "attachment; filename=\"filename.txt\"",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " -N --no-content-disposition http://localhost:8080/dummy.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'dummy.txt' => {
+        content => $dummyfile,
+        timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-N--no-content-disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test-N-HTTP-Content-Disposition.px b/tests/Test-N-HTTP-Content-Disposition.px
new file mode 100755 (executable)
index 0000000..8c5e418
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+Don't care.
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+            "Last-Modified" => "Sat, 09 Oct 2004 08:30:00 GMT",
+            "Content-Disposition" => "attachment; filename=\"filename.txt\"",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:8080/dummy.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'filename.txt' => {
+        content => $dummyfile,
+        timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-N-HTTP-Content-Disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
index 9343d179ad47124bd452725339d8b2ee1d025a2c..47003c7ee2cd085ff3f3310391339aa1359c3f58 100755 (executable)
@@ -7,7 +7,7 @@ use HTTPTest;
 
 ###############################################################################
 
-my $wholefile = <<EOF;
+my $currentversion = <<EOF;
 11111111111111111111111111111111111111111111111111
 222222222222222222222222222222222222222222222222222222222222
 3333333333333333333333333333333333333333333333333333333333333333333333
@@ -22,24 +22,27 @@ my %urls = (
         msg => "Dontcare",
         headers => {
             "Content-type" => "text/plain",
+            "Last-Modified" => "Sat, 09 Oct 2004 08:30:00 GMT",
         },
-        content => $wholefile,
+        content => $currentversion,
     },
 );
 
-my $cmdline = "wget -c http://localhost:8080/somefile.txt";
+my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:8080/somefile.txt";
 
 my $expected_error_code = 0;
 
 my %existing_files = (
     'somefile.txt' => {
-        content => $wholefile,
+        content => $currentversion,
+        timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
     },
 );
 
 my %expected_downloaded_files = (
     'somefile.txt' => {
-        content => $wholefile,
+        content => $currentversion,
+        timestamp => 1097310600, # "Sat, 09 Oct 2004 08:30:00 GMT"
     },
 );
 
@@ -51,7 +54,7 @@ my $the_test = HTTPTest->new (name => "Test-N-current",
                               errcode => $expected_error_code, 
                               existing => \%existing_files,
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 7cdc3a0b95e7a8bea4db25179a6f0da5b8e9fc2a..05383dbef8d127fe23ec150c3f604a1f719aa060 100755 (executable)
@@ -33,7 +33,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -N http://localhost:8080/somefile.txt";
+my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:8080/somefile.txt";
 
 my $expected_error_code = 0;
 
@@ -59,7 +59,7 @@ my $the_test = HTTPTest->new (name => "Test-N-old",
                               errcode => $expected_error_code, 
                               existing => \%existing_files,
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index d70171db7ef3b4f3ff35e76d4729a09dc04f2181..610698751ced01378cb12eddce0a8c391dd6e31c 100755 (executable)
@@ -24,7 +24,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -N http://localhost:8080/dummy.txt";
+my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:8080/dummy.txt";
 
 my $expected_error_code = 0;
 
@@ -42,7 +42,7 @@ my $the_test = HTTPTest->new (name => "Test-N",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
diff --git a/tests/Test-O--no-content-disposition-trivial.px b/tests/Test-O--no-content-disposition-trivial.px
new file mode 100755 (executable)
index 0000000..be25960
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+Don't care.
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " -O out --no-content-disposition http://localhost:8080/dummy.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'out' => {
+        content => $dummyfile,
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-O--no-content-disposition-trivial",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test-O--no-content-disposition.px b/tests/Test-O--no-content-disposition.px
new file mode 100755 (executable)
index 0000000..47cab07
--- /dev/null
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+Don't care.
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+            "Content-Disposition" => "attachment; filename=\"filename.txt\"",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " -O out --no-content-disposition http://localhost:8080/dummy.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'out' => {
+        content => $dummyfile,
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-O--no-content-disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test-O-HTTP-Content-Disposition.px b/tests/Test-O-HTTP-Content-Disposition.px
new file mode 100755 (executable)
index 0000000..b0a5aa4
--- /dev/null
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $dummyfile = <<EOF;
+Don't care.
+EOF
+
+# code, msg, headers, content
+my %urls = (
+    '/dummy.txt' => {
+        code => "200",
+        msg => "Dontcare",
+        headers => {
+            "Content-type" => "text/plain",
+            "Content-Disposition" => "attachment; filename=\"filename.txt\"",
+        },
+        content => $dummyfile
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " -O out http://localhost:8080/dummy.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'out' => {
+        content => $dummyfile,
+    }
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-O-HTTP-Content-Disposition",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
index 676bd5f4e3ee41fdd147e1265c9b7ff88c2a0354..347dc38e068617fdf4701d8aac0f98d2750a92aa 100755 (executable)
@@ -23,7 +23,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --quiet -O out http://localhost:8080/nonexistent";
+my $cmdline = $WgetTest::WGETPATH . " --quiet -O out http://localhost:8080/nonexistent";
 
 my $expected_error_code = 256;
 
@@ -35,12 +35,12 @@ my %expected_downloaded_files = (
 
 ###############################################################################
 
-my $the_test = HTTPTest->new (name => "Test4",
+my $the_test = HTTPTest->new (name => "Test-O-nonexisting",
                               input => \%urls, 
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 722ff39c07aeea2bf6fd401d89457b5c5f9a041f..e584d060f5899881ef5df6c1e48e2d3e2549f87f 100755 (executable)
@@ -23,7 +23,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -O out http://localhost:8080/dummy.txt";
+my $cmdline = $WgetTest::WGETPATH . " -O out http://localhost:8080/dummy.txt";
 
 my $expected_error_code = 0;
 
@@ -40,7 +40,7 @@ my $the_test = HTTPTest->new (name => "Test-O",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 98c8ed60845c41caac943341290bc0ae8eab4065..fab08d438277e40e6c2aad0eb608568d788c8504 100755 (executable)
@@ -32,7 +32,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --restrict-file-names=lowercase http://localhost:8080/SomePage.html";
+my $cmdline = $WgetTest::WGETPATH . " --restrict-file-names=lowercase http://localhost:8080/SomePage.html";
 
 my $expected_error_code = 0;
 
@@ -44,12 +44,12 @@ my %expected_downloaded_files = (
 
 ###############################################################################
 
-my $the_test = HTTPTest->new (name => "Test9",
+my $the_test = HTTPTest->new (name => "Test-Restrict-Lowercase",
                               input => \%urls, 
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index e2294030b089b78fdd6f7cfe98e811a4d972143e..cefa172232bcecd4eb06a589f736c57edcd583cf 100755 (executable)
@@ -32,7 +32,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --restrict-file-names=uppercase http://localhost:8080/SomePage.html";
+my $cmdline = $WgetTest::WGETPATH . " --restrict-file-names=uppercase http://localhost:8080/SomePage.html";
 
 my $expected_error_code = 0;
 
@@ -44,12 +44,12 @@ my %expected_downloaded_files = (
 
 ###############################################################################
 
-my $the_test = HTTPTest->new (name => "Test9",
+my $the_test = HTTPTest->new (name => "Test-Restrict-Uppercase",
                               input => \%urls, 
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
diff --git a/tests/Test-auth-basic.px b/tests/Test-auth-basic.px
new file mode 100755 (executable)
index 0000000..527d420
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $wholefile = "You're all authenticated.\n";
+
+# code, msg, headers, content
+my %urls = (
+    '/needs-auth.txt' => {
+        auth_method => 'Basic',
+        user => 'fiddle-dee-dee',
+        passwd => 'Dodgson',
+        code => "200",
+        msg => "You want fries with that?",
+        headers => {
+            "Content-type" => "text/plain",
+        },
+        content => $wholefile,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee --password=Dodgson"
+    . " http://localhost:8080/needs-auth.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'needs-auth.txt' => {
+        content => $wholefile,
+    },
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-auth-basic",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
index c57182ef201bd4c106a6ab6da9df8bebe6fb8338..bb9304b927115460d031549541ddb7bc816b57d5 100755 (executable)
@@ -27,7 +27,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -c http://localhost:8080/somefile.txt";
+my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:8080/somefile.txt";
 
 my $expected_error_code = 0;
 
@@ -51,7 +51,7 @@ my $the_test = HTTPTest->new (name => "Test-c-full",
                               errcode => $expected_error_code, 
                               existing => \%existing_files,
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 8661cfa6571417d14a726a5013b6dc8e35d7ccf2..ee48cbf621ba2ee82becac724eb6c8ab2b4375f1 100755 (executable)
@@ -32,7 +32,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -c http://localhost:8080/somefile.txt";
+my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:8080/somefile.txt";
 
 my $expected_error_code = 0;
 
@@ -56,7 +56,7 @@ my $the_test = HTTPTest->new (name => "Test-c-partial",
                               errcode => $expected_error_code, 
                               existing => \%existing_files,
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 4306cab692fe6d4b1c63e2f9496235c7c3fa36a8..58b45f722f7e6d56d905992a3ebb42f96a344d4e 100755 (executable)
@@ -27,7 +27,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -c http://localhost:8080/somefile.txt";
+my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:8080/somefile.txt";
 
 my $expected_error_code = 0;
 
@@ -48,7 +48,7 @@ my $the_test = HTTPTest->new (name => "Test-c",
                               errcode => $expected_error_code, 
                               existing => \%existing_files,
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
diff --git a/tests/Test-ftp.px b/tests/Test-ftp.px
new file mode 100755 (executable)
index 0000000..5925e38
--- /dev/null
@@ -0,0 +1,44 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use FTPTest;
+
+
+###############################################################################
+
+my $afile = <<EOF;
+Some text.
+EOF
+
+$afile =~ s/\n/\r\n/;
+
+
+# code, msg, headers, content
+my %urls = (
+    '/afile.txt' => {
+        content => $afile,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " -S ftp://localhost:8021/afile.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'afile.txt' => {
+        content => $afile,
+    },
+);
+
+###############################################################################
+
+my $the_test = FTPTest->new (name => "Test-ftp",
+                             input => \%urls, 
+                             cmdline => $cmdline, 
+                             errcode => $expected_error_code, 
+                             output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
index 97ee275e84122a089d4a35c256c4964df187a3c6..45f24390450bff7b76f42b31d5934ef7fdd63995 100755 (executable)
@@ -23,7 +23,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget --quiet http://localhost:8080/nonexistent";
+my $cmdline = $WgetTest::WGETPATH . " --quiet http://localhost:8080/nonexistent";
 
 my $expected_error_code = 256;
 
@@ -37,7 +37,7 @@ my $the_test = HTTPTest->new (name => "Test-nonexisting-quiet",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 296e845a42de4d00051226a17e20a8e00b808199..e45c8af375377da0715691b7b944aa8b4b10ce52 100755 (executable)
@@ -33,7 +33,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget http://localhost:8080/";
+my $cmdline = $WgetTest::WGETPATH . " http://localhost:8080/";
 
 my $expected_error_code = 0;
 
@@ -50,7 +50,7 @@ my $the_test = HTTPTest->new (name => "Test-noop",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
index 09b77da4cc5321bb2b4e70ef474a6e639a660f31..8a14b32d19b0518367b8368b116f9b90203af89b 100755 (executable)
@@ -77,7 +77,7 @@ EOF
 
 # code, msg, headers, content
 my %urls = (
-    'firstlevel/index.html' => {
+    '/firstlevel/index.html' => {
         code => "200",
         msg => "Dontcare",
         headers => {
@@ -85,7 +85,7 @@ my %urls = (
         },
         content => $mainpage,
     },
-    'firstlevel/secondpage.html' => {
+    '/firstlevel/secondpage.html' => {
         code => "200",
         msg => "Dontcare",
         headers => {
@@ -93,7 +93,7 @@ my %urls = (
         },
         content => $secondpage,
     },
-    'firstlevel/lowerlevel/thirdpage.html' => {
+    '/firstlevel/lowerlevel/thirdpage.html' => {
         code => "200",
         msg => "Dontcare",
         headers => {
@@ -101,7 +101,7 @@ my %urls = (
         },
         content => $thirdpage,
     },
-    'firstlevel/fourthpage.html' => {
+    '/firstlevel/fourthpage.html' => {
         code => "200",
         msg => "Dontcare",
         headers => {
@@ -109,7 +109,7 @@ my %urls = (
         },
         content => $fourthpage,
     },
-    'higherlevelpage.html' => {
+    '/higherlevelpage.html' => {
         code => "200",
         msg => "Dontcare",
         headers => {
@@ -119,7 +119,7 @@ my %urls = (
     },
 );
 
-my $cmdline = "wget -np -nH -r http://localhost:8080/firstlevel/";
+my $cmdline = $WgetTest::WGETPATH . " -np -nH -r http://localhost:8080/firstlevel/";
 
 my $expected_error_code = 0;
 
@@ -142,7 +142,7 @@ my $the_test = HTTPTest->new (name => "Test-np",
                               cmdline => $cmdline, 
                               errcode => $expected_error_code, 
                               output => \%expected_downloaded_files);
-$the_test->run();
+exit $the_test->run();
 
 # vim: et ts=4 sw=4
 
diff --git a/tests/Test-proxy-auth-basic.px b/tests/Test-proxy-auth-basic.px
new file mode 100755 (executable)
index 0000000..5566e22
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use HTTPTest;
+
+
+###############################################################################
+
+my $wholefile = "You're all authenticated.\n";
+
+# code, msg, headers, content
+my %urls = (
+    '/needs-auth.txt' => {
+        auth_method => 'Basic',
+        user => 'fiddle-dee-dee',
+        passwd => 'Dodgson',
+        code => "200",
+        msg => "You want fries with that?",
+        headers => {
+            "Content-type" => "text/plain",
+        },
+        content => $wholefile,
+    },
+);
+
+my $cmdline = $WgetTest::WGETPATH . " --debug --user=fiddle-dee-dee --password=Dodgson"
+    . " -e http_proxy=localhost:8080 http://no.such.domain/needs-auth.txt";
+
+my $expected_error_code = 0;
+
+my %expected_downloaded_files = (
+    'needs-auth.txt' => {
+        content => $wholefile,
+    },
+);
+
+###############################################################################
+
+my $the_test = HTTPTest->new (name => "Test-auth-basic",
+                              input => \%urls, 
+                              cmdline => $cmdline, 
+                              errcode => $expected_error_code, 
+                              output => \%expected_downloaded_files);
+exit $the_test->run();
+
+# vim: et ts=4 sw=4
+
diff --git a/tests/Test.pm b/tests/Test.pm
deleted file mode 100755 (executable)
index 058a7c5..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-#!/usr/bin/perl -w
-
-package Test;
-$VERSION = 0.01;
-
-use strict;
-
-use Cwd;
-use File::Path;
-
-my @unexpected_downloads = ();
-
-{
-    my %_attr_data = ( # DEFAULT
-        _cmdline      => "",
-        _workdir      => Cwd::getcwd(),
-        _errcode      => 0,
-        _existing     => {},
-        _input        => {},
-        _name         => "",
-        _output       => {},
-    );
-    
-       sub _default_for
-       {
-               my ($self, $attr) = @_;
-               $_attr_data{$attr};
-       }
-
-       sub _standard_keys 
-       {
-               keys %_attr_data;
-       }
-}
-
-
-sub new {
-    my ($caller, %args) = @_;
-    my $caller_is_obj = ref($caller);
-    my $class = $caller_is_obj || $caller;
-    #print STDERR "class = ", $class, "\n";
-    #print STDERR "_attr_data {workdir} = ", $Test::_attr_data{_workdir}, "\n";
-    my $self = bless {}, $class;
-    foreach my $attrname ($self->_standard_keys()) {
-        #print STDERR "attrname = ", $attrname, " value = ";
-        my ($argname) = ($attrname =~ /^_(.*)/);
-        if (exists $args{$argname}) {
-            #printf STDERR "Setting up $attrname\n";
-            $self->{$attrname} = $args{$argname};
-        } elsif ($caller_is_obj) {
-            #printf STDERR "Copying $attrname\n";
-            $self->{$attrname} = $caller->{$attrname};
-        } else {
-            #printf STDERR "Using default for $attrname\n";
-            $self->{$attrname} = $self->_default_for($attrname);
-        }
-        #print STDERR $attrname, '=', $self->{$attrname}, "\n";
-    }
-    #printf STDERR "_workdir default = ", $self->_default_for("_workdir");
-    return $self;
-}
-
-
-sub run {
-    my $self = shift;
-    my $result_message = "Test successful.\n";
-   
-    printf "Running test $self->{_name}\n";
-    
-    # Setup 
-    $self->_setup();
-    chdir ("$self->{_workdir}/$self->{_name}/input");
-    
-    # Launch server
-    my $pid = $self->_fork_and_launch_server();
-    
-    # Call wget
-    chdir ("$self->{_workdir}/$self->{_name}/output");
-    # print "Calling $self->{_cmdline}\n";
-    my $errcode = 
-        ($self->{_cmdline} =~ m{^/.*}) 
-            ? system ($self->{_cmdline})
-            : system ("$self->{_workdir}/../src/$self->{_cmdline}");
-
-    # Shutdown server
-    # if we didn't explicitely kill the server, we would have to call 
-    # waitpid ($pid, 0) here in order to wait for the child process to 
-    # terminate
-    kill ('TERM', $pid);
-
-    # Verify download
-    unless ($errcode == $self->{_errcode}) {
-        $result_message = "Test failed: wrong code returned (was: $errcode, expected: $self->{_errcode})\n";
-    }
-    if (my $error_str = $self->_verify_download()) {
-        $result_message = $error_str;
-    }
-
-    # Cleanup
-    $self->_cleanup();
-
-    print $result_message;
-}
-
-
-sub _setup {
-    my $self = shift;
-
-    #print $self->{_name}, "\n";
-    chdir ($self->{_workdir});
-
-    # Create temporary directory
-    mkdir ($self->{_name});
-    chdir ($self->{_name});
-    mkdir ("input");
-    mkdir ("output");
-    
-    # Setup existing files
-    chdir ("output");
-    foreach my $filename (keys %{$self->{_existing}}) {
-        open (FILE, ">$filename") 
-            or return "Test failed: cannot open pre-existing file $filename\n";
-        
-        print FILE $self->{_existing}->{$filename}->{content}
-            or return "Test failed: cannot write pre-existing file $filename\n";
-        
-        close (FILE);
-    } 
-    
-    chdir ("input");
-    $self->_setup_server();
-
-    chdir ($self->{_workdir});
-}
-
-
-sub _cleanup {
-    my $self = shift;
-
-    chdir ($self->{_workdir});
-    File::Path::rmtree ($self->{_name});
-}
-
-
-sub _verify_download {
-    my $self = shift;
-
-    chdir ("$self->{_workdir}/$self->{_name}/output");
-    
-    # use slurp mode to read file content
-    my $old_input_record_separator = $/;
-    undef $/;
-    
-    while (my ($filename, $filedata) = each %{$self->{_output}}) {
-        open (FILE, $filename) 
-            or return "Test failed: file $filename not downloaded\n";
-        
-        my $content = <FILE>;
-        $content eq $filedata->{'content'} 
-            or return "Test failed: wrong content for file $filename\n";
-
-        if (exists($filedata->{'timestamp'})) {
-            my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
-                $atime, $mtime, $ctime, $blksize, $blocks) = stat FILE;
-
-            $mtime == $filedata->{'timestamp'} 
-                or return "Test failed: wrong timestamp for file $filename\n";
-        }
-        
-        close (FILE);
-    } 
-    
-    $/ = $old_input_record_separator;    
-
-    # make sure no unexpected files were downloaded
-    chdir ("$self->{_workdir}/$self->{_name}/output");
-
-    __dir_walk('.', sub { push @unexpected_downloads, $_[0] unless (exists $self->{_output}{$_[0]}) }, sub { shift; return @_ } );
-    if (@unexpected_downloads) { 
-        return "Test failed: unexpected downloaded files [" . join(', ', @unexpected_downloads) . "]\n";
-    }
-
-    return "";
-}
-
-
-sub __dir_walk {
-    my ($top, $filefunc, $dirfunc) = @_;
-
-    my $DIR;
-
-    if (-d $top) {
-        my $file;
-        unless (opendir $DIR, $top) {
-            warn "Couldn't open directory $DIR: $!; skipping.\n";
-            return;
-        }
-
-        my @results;
-        while ($file = readdir $DIR) {
-            next if $file eq '.' || $file eq '..';
-            my $nextdir = $top eq '.' ? $file : "$top/$file";
-            push @results, __dir_walk($nextdir, $filefunc, $dirfunc);
-        }
-
-        return $dirfunc ? $dirfunc->($top, @results) : () ;
-    } else {
-        return $filefunc ? $filefunc->($top) : () ;
-    }
-}
-
-
-sub _fork_and_launch_server 
-{
-    my $self = shift;
-
-    pipe(FROM_CHILD, TO_PARENT) or die "Cannot create pipe!";
-    select((select(TO_PARENT), $| = 1)[0]);
-
-    my $pid = fork();
-    if ($pid < 0) {
-        die "Cannot fork";
-    } elsif ($pid == 0) {
-        # child 
-        close FROM_CHILD;
-        $self->_launch_server(sub { print TO_PARENT "SYNC\n"; close TO_PARENT });
-    } else {
-        # father
-        close TO_PARENT;
-        chomp(my $line = <FROM_CHILD>);
-        close FROM_CHILD;
-    }
-
-    return $pid;
-}
-
-1;
-
-# vim: et ts=4 sw=4
-
diff --git a/tests/WgetTest.pm.in b/tests/WgetTest.pm.in
new file mode 100644 (file)
index 0000000..915759d
--- /dev/null
@@ -0,0 +1,250 @@
+#!/usr/bin/perl -w
+
+package WgetTest;
+$VERSION = 0.01;
+
+use strict;
+
+use Cwd;
+use File::Path;
+
+our $WGETPATH = "@abs_top_builddir@/src/wget";
+
+my @unexpected_downloads = ();
+
+{
+    my %_attr_data = ( # DEFAULT
+        _cmdline      => "",
+        _workdir      => Cwd::getcwd(),
+        _errcode      => 0,
+        _existing     => {},
+        _input        => {},
+        _name         => "",
+        _output       => {},
+    );
+    
+    sub _default_for
+    {
+        my ($self, $attr) = @_;
+        $_attr_data{$attr};
+    }
+
+    sub _standard_keys 
+    {
+        keys %_attr_data;
+    }
+}
+
+
+sub new {
+    my ($caller, %args) = @_;
+    my $caller_is_obj = ref($caller);
+    my $class = $caller_is_obj || $caller;
+    #print STDERR "class = ", $class, "\n";
+    #print STDERR "_attr_data {workdir} = ", $WgetTest::_attr_data{_workdir}, "\n";
+    my $self = bless {}, $class;
+    foreach my $attrname ($self->_standard_keys()) {
+        #print STDERR "attrname = ", $attrname, " value = ";
+        my ($argname) = ($attrname =~ /^_(.*)/);
+        if (exists $args{$argname}) {
+            #printf STDERR "Setting up $attrname\n";
+            $self->{$attrname} = $args{$argname};
+        } elsif ($caller_is_obj) {
+            #printf STDERR "Copying $attrname\n";
+            $self->{$attrname} = $caller->{$attrname};
+        } else {
+            #printf STDERR "Using default for $attrname\n";
+            $self->{$attrname} = $self->_default_for($attrname);
+        }
+        #print STDERR $attrname, '=', $self->{$attrname}, "\n";
+    }
+    #printf STDERR "_workdir default = ", $self->_default_for("_workdir");
+    return $self;
+}
+
+
+sub run {
+    my $self = shift;
+    my $result_message = "Test successful.\n";
+   
+    printf "Running test $self->{_name}\n";
+    
+    # Setup 
+    $self->_setup();
+    chdir ("$self->{_workdir}/$self->{_name}/input");
+    
+    # Launch server
+    my $pid = $self->_fork_and_launch_server();
+    
+    # Call wget
+    chdir ("$self->{_workdir}/$self->{_name}/output");
+    # print "Calling $self->{_cmdline}\n";
+    my $errcode = 
+        ($self->{_cmdline} =~ m{^/.*}) 
+            ? system ($self->{_cmdline})
+            : system ("$self->{_workdir}/../src/$self->{_cmdline}");
+
+    # Shutdown server
+    # if we didn't explicitely kill the server, we would have to call 
+    # waitpid ($pid, 0) here in order to wait for the child process to 
+    # terminate
+    kill ('TERM', $pid);
+
+    # Verify download
+    unless ($errcode == $self->{_errcode}) {
+        $result_message = "Test failed: wrong code returned (was: $errcode, expected: $self->{_errcode})\n";
+    }
+    my $error_str;
+    if ($error_str = $self->_verify_download()) {
+        $result_message = $error_str;
+    }
+
+    # Cleanup
+    $self->_cleanup();
+
+    print $result_message;
+    return $errcode != $self->{_errcode} || ($error_str ? 1 : 0);
+}
+
+
+sub _setup {
+    my $self = shift;
+
+    #print $self->{_name}, "\n";
+    chdir ($self->{_workdir});
+
+    # Create temporary directory
+    mkdir ($self->{_name});
+    chdir ($self->{_name});
+    mkdir ("input");
+    mkdir ("output");
+    
+    # Setup existing files
+    chdir ("output");
+    foreach my $filename (keys %{$self->{_existing}}) {
+        open (FILE, ">$filename") 
+            or return "Test failed: cannot open pre-existing file $filename\n";
+
+        my $file = $self->{_existing}->{$filename};
+        print FILE $file->{content}
+            or return "Test failed: cannot write pre-existing file $filename\n";
+
+        close (FILE);
+
+        if (exists($file->{timestamp})) {
+            utime $file->{timestamp}, $file->{timestamp}, $filename
+                or return "Test failed: cannot set timestamp on pre-existing file $filename\n";
+        }
+    } 
+    
+    chdir ("../input");
+    $self->_setup_server();
+
+    chdir ($self->{_workdir});
+}
+
+
+sub _cleanup {
+    my $self = shift;
+
+    chdir ($self->{_workdir});
+    File::Path::rmtree ($self->{_name});
+}
+
+
+sub _verify_download {
+    my $self = shift;
+
+    chdir ("$self->{_workdir}/$self->{_name}/output");
+    
+    # use slurp mode to read file content
+    my $old_input_record_separator = $/;
+    undef $/;
+    
+    while (my ($filename, $filedata) = each %{$self->{_output}}) {
+        open (FILE, $filename) 
+            or return "Test failed: file $filename not downloaded\n";
+        
+        my $content = <FILE>;
+        $content eq $filedata->{'content'} 
+            or return "Test failed: wrong content for file $filename\n";
+
+        if (exists($filedata->{'timestamp'})) {
+            my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
+                $atime, $mtime, $ctime, $blksize, $blocks) = stat FILE;
+
+            $mtime == $filedata->{'timestamp'} 
+                or return "Test failed: wrong timestamp for file $filename\n";
+        }
+        
+        close (FILE);
+    } 
+    
+    $/ = $old_input_record_separator;    
+
+    # make sure no unexpected files were downloaded
+    chdir ("$self->{_workdir}/$self->{_name}/output");
+
+    __dir_walk('.', sub { push @unexpected_downloads, $_[0] unless (exists $self->{_output}{$_[0]}) }, sub { shift; return @_ } );
+    if (@unexpected_downloads) { 
+        return "Test failed: unexpected downloaded files [" . join(', ', @unexpected_downloads) . "]\n";
+    }
+
+    return "";
+}
+
+
+sub __dir_walk {
+    my ($top, $filefunc, $dirfunc) = @_;
+
+    my $DIR;
+
+    if (-d $top) {
+        my $file;
+        unless (opendir $DIR, $top) {
+            warn "Couldn't open directory $DIR: $!; skipping.\n";
+            return;
+        }
+
+        my @results;
+        while ($file = readdir $DIR) {
+            next if $file eq '.' || $file eq '..';
+            my $nextdir = $top eq '.' ? $file : "$top/$file";
+            push @results, __dir_walk($nextdir, $filefunc, $dirfunc);
+        }
+
+        return $dirfunc ? $dirfunc->($top, @results) : () ;
+    } else {
+        return $filefunc ? $filefunc->($top) : () ;
+    }
+}
+
+
+sub _fork_and_launch_server 
+{
+    my $self = shift;
+
+    pipe(FROM_CHILD, TO_PARENT) or die "Cannot create pipe!";
+    select((select(TO_PARENT), $| = 1)[0]);
+
+    my $pid = fork();
+    if ($pid < 0) {
+        die "Cannot fork";
+    } elsif ($pid == 0) {
+        # child 
+        close FROM_CHILD;
+        $self->_launch_server(sub { print TO_PARENT "SYNC\n"; close TO_PARENT });
+    } else {
+        # father
+        close TO_PARENT;
+        chomp(my $line = <FROM_CHILD>);
+        close FROM_CHILD;
+    }
+
+    return $pid;
+}
+
+1;
+
+# vim: et ts=4 sw=4
+
diff --git a/texinfo.tex b/texinfo.tex
new file mode 100644 (file)
index 0000000..8083622
--- /dev/null
@@ -0,0 +1,7482 @@
+% texinfo.tex -- TeX macros to handle Texinfo files.
+%
+% Load plain if necessary, i.e., if running under initex.
+\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+%
+\def\texinfoversion{2006-10-04.17}
+%
+% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
+% Software Foundation, Inc.
+%
+% This texinfo.tex file 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 2, or (at
+% your option) any later version.
+%
+% This texinfo.tex file 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 this texinfo.tex file; see the file COPYING.  If not, write
+% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+% Boston, MA 02110-1301, USA.
+%
+% As a special exception, when this file is read by TeX when processing
+% a Texinfo source document, you may use the result without
+% restriction.  (This has been our intent since Texinfo was invented.)
+%
+% Please try the latest version of texinfo.tex before submitting bug
+% reports; you can get the latest version from:
+%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
+%   ftp://tug.org/tex/texinfo.tex
+%     (and all CTAN mirrors, see http://www.ctan.org).
+% The texinfo.tex in any given distribution could well be out
+% of date, so if that's what you're using, please check.
+%
+% Send bug reports to bug-texinfo@gnu.org.  Please include including a
+% complete document in each bug report with which we can reproduce the
+% problem.  Patches are, of course, greatly appreciated.
+%
+% To process a Texinfo manual with TeX, it's most reliable to use the
+% texi2dvi shell script that comes with the distribution.  For a simple
+% manual foo.texi, however, you can get away with this:
+%   tex foo.texi
+%   texindex foo.??
+%   tex foo.texi
+%   tex foo.texi
+%   dvips foo.dvi -o  # or whatever; this makes foo.ps.
+% The extra TeX runs get the cross-reference information correct.
+% Sometimes one run after texindex suffices, and sometimes you need more
+% than two; texi2dvi does it as many times as necessary.
+%
+% It is possible to adapt texinfo.tex for other languages, to some
+% extent.  You can get the existing language-specific files from the
+% full Texinfo distribution.
+%
+% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+
+
+\message{Loading texinfo [version \texinfoversion]:}
+
+% If in a .fmt file, print the version number
+% and turn on active characters that we couldn't do earlier because
+% they might have appeared in the input file name.
+\everyjob{\message{[Texinfo version \texinfoversion]}%
+  \catcode`+=\active \catcode`\_=\active}
+
+\message{Basics,}
+\chardef\other=12
+
+% We never want plain's \outer definition of \+ in Texinfo.
+% For @tex, we can use \tabalign.
+\let\+ = \relax
+
+% Save some plain tex macros whose names we will redefine.
+\let\ptexb=\b
+\let\ptexbullet=\bullet
+\let\ptexc=\c
+\let\ptexcomma=\,
+\let\ptexdot=\.
+\let\ptexdots=\dots
+\let\ptexend=\end
+\let\ptexequiv=\equiv
+\let\ptexexclam=\!
+\let\ptexfootnote=\footnote
+\let\ptexgtr=>
+\let\ptexhat=^
+\let\ptexi=\i
+\let\ptexindent=\indent
+\let\ptexinsert=\insert
+\let\ptexlbrace=\{
+\let\ptexless=<
+\let\ptexnewwrite\newwrite
+\let\ptexnoindent=\noindent
+\let\ptexplus=+
+\let\ptexrbrace=\}
+\let\ptexslash=\/
+\let\ptexstar=\*
+\let\ptext=\t
+
+% If this character appears in an error message or help string, it
+% starts a new line in the output.
+\newlinechar = `^^J
+
+% Use TeX 3.0's \inputlineno to get the line number, for better error
+% messages, but if we're using an old version of TeX, don't do anything.
+%
+\ifx\inputlineno\thisisundefined
+  \let\linenumber = \empty % Pre-3.0.
+\else
+  \def\linenumber{l.\the\inputlineno:\space}
+\fi
+
+% Set up fixed words for English if not already set.
+\ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
+\ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
+\ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
+\ifx\putwordin\undefined        \gdef\putwordin{in}\fi
+\ifx\putwordIndexIsEmpty\undefined     \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordInfo\undefined      \gdef\putwordInfo{Info}\fi
+\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
+\ifx\putwordMethodon\undefined  \gdef\putwordMethodon{Method on}\fi
+\ifx\putwordNoTitle\undefined   \gdef\putwordNoTitle{No Title}\fi
+\ifx\putwordof\undefined        \gdef\putwordof{of}\fi
+\ifx\putwordon\undefined        \gdef\putwordon{on}\fi
+\ifx\putwordpage\undefined      \gdef\putwordpage{page}\fi
+\ifx\putwordsection\undefined   \gdef\putwordsection{section}\fi
+\ifx\putwordSection\undefined   \gdef\putwordSection{Section}\fi
+\ifx\putwordsee\undefined       \gdef\putwordsee{see}\fi
+\ifx\putwordSee\undefined       \gdef\putwordSee{See}\fi
+\ifx\putwordShortTOC\undefined  \gdef\putwordShortTOC{Short Contents}\fi
+\ifx\putwordTOC\undefined       \gdef\putwordTOC{Table of Contents}\fi
+%
+\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
+\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
+\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
+\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
+\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
+\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
+\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
+\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
+\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
+\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
+\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
+\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
+%
+\ifx\putwordDefmac\undefined    \gdef\putwordDefmac{Macro}\fi
+\ifx\putwordDefspec\undefined   \gdef\putwordDefspec{Special Form}\fi
+\ifx\putwordDefvar\undefined    \gdef\putwordDefvar{Variable}\fi
+\ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
+\ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
+
+% Since the category of space is not known, we have to be careful.
+\chardef\spacecat = 10
+\def\spaceisspace{\catcode`\ =\spacecat}
+
+% sometimes characters are active, so we need control sequences.
+\chardef\colonChar = `\:
+\chardef\commaChar = `\,
+\chardef\dashChar  = `\-
+\chardef\dotChar   = `\.
+\chardef\exclamChar= `\!
+\chardef\lquoteChar= `\`
+\chardef\questChar = `\?
+\chardef\rquoteChar= `\'
+\chardef\semiChar  = `\;
+\chardef\underChar = `\_
+
+% Ignore a token.
+%
+\def\gobble#1{}
+
+% The following is used inside several \edef's.
+\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
+
+% Hyphenation fixes.
+\hyphenation{
+  Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
+  ap-pen-dix bit-map bit-maps
+  data-base data-bases eshell fall-ing half-way long-est man-u-script
+  man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
+  par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
+  spell-ing spell-ings
+  stand-alone strong-est time-stamp time-stamps which-ever white-space
+  wide-spread wrap-around
+}
+
+% Margin to add to right of even pages, to left of odd pages.
+\newdimen\bindingoffset
+\newdimen\normaloffset
+\newdimen\pagewidth \newdimen\pageheight
+
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
+%
+\def\finalout{\overfullrule=0pt}
+
+% @| inserts a changebar to the left of the current line.  It should
+% surround any changed text.  This approach does *not* work if the
+% change spans more than two lines of output.  To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change).
+%
+\def\|{%
+  % \vadjust can only be used in horizontal mode.
+  \leavevmode
+  %
+  % Append this vertical mode material after the current line in the output.
+  \vadjust{%
+    % We want to insert a rule with the height and depth of the current
+    % leading; that is exactly what \strutbox is supposed to record.
+    \vskip-\baselineskip
+    %
+    % \vadjust-items are inserted at the left edge of the type.  So
+    % the \llap here moves out into the left-hand margin.
+    \llap{%
+      %
+      % For a thicker or thinner bar, change the `1pt'.
+      \vrule height\baselineskip width1pt
+      %
+      % This is the space between the bar and the text.
+      \hskip 12pt
+    }%
+  }%
+}
+
+% Sometimes it is convenient to have everything in the transcript file
+% and nothing on the terminal.  We don't just call \tracingall here,
+% since that produces some useless output on the terminal.  We also make
+% some effort to order the tracing commands to reduce output in the log
+% file; cf. trace.sty in LaTeX.
+%
+\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
+\def\loggingall{%
+  \tracingstats2
+  \tracingpages1
+  \tracinglostchars2  % 2 gives us more in etex
+  \tracingparagraphs1
+  \tracingoutput1
+  \tracingmacros2
+  \tracingrestores1
+  \showboxbreadth\maxdimen \showboxdepth\maxdimen
+  \ifx\eTeXversion\undefined\else % etex gives us more logging
+    \tracingscantokens1
+    \tracingifs1
+    \tracinggroups1
+    \tracingnesting2
+    \tracingassigns1
+  \fi
+  \tracingcommands3  % 3 gives us more in etex
+  \errorcontextlines16
+}%
+
+% add check for \lastpenalty to plain's definitions.  If the last thing
+% we did was a \nobreak, we don't want to insert more space.
+%
+\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
+  \removelastskip\penalty-50\smallskip\fi\fi}
+\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
+  \removelastskip\penalty-100\medskip\fi\fi}
+\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
+  \removelastskip\penalty-200\bigskip\fi\fi}
+
+% For @cropmarks command.
+% Do @cropmarks to get crop marks.
+%
+\newif\ifcropmarks
+\let\cropmarks = \cropmarkstrue
+%
+% Dimensions to add cropmarks at corners.
+% Added by P. A. MacKay, 12 Nov. 1986
+%
+\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
+\newdimen\cornerlong  \cornerlong=1pc
+\newdimen\cornerthick \cornerthick=.3pt
+\newdimen\topandbottommargin \topandbottommargin=.75in
+
+% Main output routine.
+\chardef\PAGE = 255
+\output = {\onepageout{\pagecontents\PAGE}}
+
+\newbox\headlinebox
+\newbox\footlinebox
+
+% \onepageout takes a vbox as an argument.  Note that \pagecontents
+% does insertions, but you have to call it yourself.
+\def\onepageout#1{%
+  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
+  %
+  \ifodd\pageno  \advance\hoffset by \bindingoffset
+  \else \advance\hoffset by -\bindingoffset\fi
+  %
+  % Do this outside of the \shipout so @code etc. will be expanded in
+  % the headline as they should be, not taken literally (outputting ''code).
+  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+  %
+  {%
+    % Have to do this stuff outside the \shipout because we want it to
+    % take effect in \write's, yet the group defined by the \vbox ends
+    % before the \shipout runs.
+    %
+    \indexdummies         % don't expand commands in the output.
+    \normalturnoffactive  % \ in index entries must not stay \, e.g., if
+               % the page break happens to be in the middle of an example.
+               % We don't want .vr (or whatever) entries like this:
+               % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
+               % "\acronym" won't work when it's read back in;
+               % it needs to be 
+               % {\code {{\tt \backslashcurfont }acronym}
+    \shipout\vbox{%
+      % Do this early so pdf references go to the beginning of the page.
+      \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
+      %
+      \ifcropmarks \vbox to \outervsize\bgroup
+        \hsize = \outerhsize
+        \vskip-\topandbottommargin
+        \vtop to0pt{%
+          \line{\ewtop\hfil\ewtop}%
+          \nointerlineskip
+          \line{%
+            \vbox{\moveleft\cornerthick\nstop}%
+            \hfill
+            \vbox{\moveright\cornerthick\nstop}%
+          }%
+          \vss}%
+        \vskip\topandbottommargin
+        \line\bgroup
+          \hfil % center the page within the outer (page) hsize.
+          \ifodd\pageno\hskip\bindingoffset\fi
+          \vbox\bgroup
+      \fi
+      %
+      \unvbox\headlinebox
+      \pagebody{#1}%
+      \ifdim\ht\footlinebox > 0pt
+        % Only leave this space if the footline is nonempty.
+        % (We lessened \vsize for it in \oddfootingyyy.)
+        % The \baselineskip=24pt in plain's \makefootline has no effect.
+        \vskip 24pt
+        \unvbox\footlinebox
+      \fi
+      %
+      \ifcropmarks
+          \egroup % end of \vbox\bgroup
+        \hfil\egroup % end of (centering) \line\bgroup
+        \vskip\topandbottommargin plus1fill minus1fill
+        \boxmaxdepth = \cornerthick
+        \vbox to0pt{\vss
+          \line{%
+            \vbox{\moveleft\cornerthick\nsbot}%
+            \hfill
+            \vbox{\moveright\cornerthick\nsbot}%
+          }%
+          \nointerlineskip
+          \line{\ewbot\hfil\ewbot}%
+        }%
+      \egroup % \vbox from first cropmarks clause
+      \fi
+    }% end of \shipout\vbox
+  }% end of group with \indexdummies
+  \advancepageno
+  \ifnum\outputpenalty>-20000 \else\dosupereject\fi
+}
+
+\newinsert\margin \dimen\margin=\maxdimen
+
+\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+{\catcode`\@ =11
+\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
+% marginal hacks, juha@viisa.uucp (Juha Takala)
+\ifvoid\margin\else % marginal info is present
+  \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
+\dimen@=\dp#1 \unvbox#1
+\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
+\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
+}
+
+% Here are the rules for the cropmarks.  Note that they are
+% offset so that the space between them is truly \outerhsize or \outervsize
+% (P. A. MacKay, 12 November, 1986)
+%
+\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
+\def\nstop{\vbox
+  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
+\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
+\def\nsbot{\vbox
+  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
+
+% Parse an argument, then pass it to #1.  The argument is the rest of
+% the input line (except we remove a trailing comment).  #1 should be a
+% macro which expects an ordinary undelimited TeX argument.
+%
+\def\parsearg{\parseargusing{}}
+\def\parseargusing#1#2{%
+  \def\argtorun{#2}%
+  \begingroup
+    \obeylines
+    \spaceisspace
+    #1%
+    \parseargline\empty% Insert the \empty token, see \finishparsearg below.
+}
+
+{\obeylines %
+  \gdef\parseargline#1^^M{%
+    \endgroup % End of the group started in \parsearg.
+    \argremovecomment #1\comment\ArgTerm%
+  }%
+}
+
+% First remove any @comment, then any @c comment.
+\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
+
+% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
+%
+% \argremovec might leave us with trailing space, e.g.,
+%    @end itemize  @c foo
+% This space token undergoes the same procedure and is eventually removed
+% by \finishparsearg.
+%
+\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
+\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
+\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
+  \def\temp{#3}%
+  \ifx\temp\empty
+    % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp:
+    \let\temp\finishparsearg
+  \else
+    \let\temp\argcheckspaces
+  \fi
+  % Put the space token in:
+  \temp#1 #3\ArgTerm
+}
+
+% If a _delimited_ argument is enclosed in braces, they get stripped; so
+% to get _exactly_ the rest of the line, we had to prevent such situation.
+% We prepended an \empty token at the very beginning and we expand it now,
+% just before passing the control to \argtorun.
+% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
+% either the null string, or it ends with \^^M---thus there is no danger
+% that a pair of braces would be stripped.
+%
+% But first, we have to remove the trailing space token.
+%
+\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
+
+% \parseargdef\foo{...}
+%      is roughly equivalent to
+% \def\foo{\parsearg\Xfoo}
+% \def\Xfoo#1{...}
+%
+% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
+% favourite TeX trick.  --kasal, 16nov03
+
+\def\parseargdef#1{%
+  \expandafter \doparseargdef \csname\string#1\endcsname #1%
+}
+\def\doparseargdef#1#2{%
+  \def#2{\parsearg#1}%
+  \def#1##1%
+}
+
+% Several utility definitions with active space:
+{
+  \obeyspaces
+  \gdef\obeyedspace{ }
+
+  % Make each space character in the input produce a normal interword
+  % space in the output.  Don't allow a line break at this space, as this
+  % is used only in environments like @example, where each line of input
+  % should produce a line of output anyway.
+  %
+  \gdef\sepspaces{\obeyspaces\let =\tie}
+
+  % If an index command is used in an @example environment, any spaces
+  % therein should become regular spaces in the raw index file, not the
+  % expansion of \tie (\leavevmode \penalty \@M \ ).
+  \gdef\unsepspaces{\let =\space}
+}
+
+
+\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
+
+% Define the framework for environments in texinfo.tex.  It's used like this:
+%
+%   \envdef\foo{...}
+%   \def\Efoo{...}
+%
+% It's the responsibility of \envdef to insert \begingroup before the
+% actual body; @end closes the group after calling \Efoo.  \envdef also
+% defines \thisenv, so the current environment is known; @end checks
+% whether the environment name matches.  The \checkenv macro can also be
+% used to check whether the current environment is the one expected.
+%
+% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
+% are not treated as enviroments; they don't open a group.  (The
+% implementation of @end takes care not to call \endgroup in this
+% special case.)
+
+
+% At runtime, environments start with this:
+\def\startenvironment#1{\begingroup\def\thisenv{#1}}
+% initialize
+\let\thisenv\empty
+
+% ... but they get defined via ``\envdef\foo{...}'':
+\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
+\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
+
+% Check whether we're in the right environment:
+\def\checkenv#1{%
+  \def\temp{#1}%
+  \ifx\thisenv\temp
+  \else
+    \badenverr
+  \fi
+}
+
+% Evironment mismatch, #1 expected:
+\def\badenverr{%
+  \errhelp = \EMsimple
+  \errmessage{This command can appear only \inenvironment\temp,
+    not \inenvironment\thisenv}%
+}
+\def\inenvironment#1{%
+  \ifx#1\empty
+    out of any environment%
+  \else
+    in environment \expandafter\string#1%
+  \fi
+}
+
+% @end foo executes the definition of \Efoo.
+% But first, it executes a specialized version of \checkenv
+%
+\parseargdef\end{%
+  \if 1\csname iscond.#1\endcsname
+  \else
+    % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+    \expandafter\checkenv\csname#1\endcsname
+    \csname E#1\endcsname
+    \endgroup
+  \fi
+}
+
+\newhelp\EMsimple{Press RETURN to continue.}
+
+
+%% Simple single-character @ commands
+
+% @@ prints an @
+% Kludge this until the fonts are right (grr).
+\def\@{{\tt\char64}}
+
+% This is turned off because it was never documented
+% and you can use @w{...} around a quote to suppress ligatures.
+%% Define @` and @' to be the same as ` and '
+%% but suppressing ligatures.
+%\def\`{{`}}
+%\def\'{{'}}
+
+% Used to generate quoted braces.
+\def\mylbrace {{\tt\char123}}
+\def\myrbrace {{\tt\char125}}
+\let\{=\mylbrace
+\let\}=\myrbrace
+\begingroup
+  % Definitions to produce \{ and \} commands for indices,
+  % and @{ and @} for the aux/toc files.
+  \catcode`\{ = \other \catcode`\} = \other
+  \catcode`\[ = 1 \catcode`\] = 2
+  \catcode`\! = 0 \catcode`\\ = \other
+  !gdef!lbracecmd[\{]%
+  !gdef!rbracecmd[\}]%
+  !gdef!lbraceatcmd[@{]%
+  !gdef!rbraceatcmd[@}]%
+!endgroup
+
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
+% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
+\let\, = \c
+\let\dotaccent = \.
+\def\ringaccent#1{{\accent23 #1}}
+\let\tieaccent = \t
+\let\ubaraccent = \b
+\let\udotaccent = \d
+
+% Other special characters: @questiondown @exclamdown @ordf @ordm
+% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
+\def\questiondown{?`}
+\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+
+% Dotless i and dotless j, used for accents.
+\def\imacro{i}
+\def\jmacro{j}
+\def\dotless#1{%
+  \def\temp{#1}%
+  \ifx\temp\imacro \ptexi
+  \else\ifx\temp\jmacro \j
+  \else \errmessage{@dotless can be used only with i or j}%
+  \fi\fi
+}
+
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence.  (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=1000 }
+
+% @LaTeX{} logo.  Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+  L\kern-.36em
+  {\setbox0=\hbox{T}%
+   \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
+  \kern-.15em
+  \TeX
+}
+
+% Be sure we're in horizontal mode when doing a tie, since we make space
+% equivalent to this in @example-like environments. Otherwise, a space
+% at the beginning of a line will start with \penalty -- and
+% since \penalty is valid in vertical mode, we'd end up putting the
+% penalty on the vertical list instead of in the new paragraph.
+{\catcode`@ = 11
+ % Avoid using \@M directly, because that causes trouble
+ % if the definition is written into an index file.
+ \global\let\tiepenalty = \@M
+ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
+}
+
+% @: forces normal size whitespace following.
+\def\:{\spacefactor=1000 }
+
+% @* forces a line break.
+\def\*{\hfil\break\hbox{}\ignorespaces}
+
+% @/ allows a line break.
+\let\/=\allowbreak
+
+% @. is an end-of-sentence period.
+\def\.{.\spacefactor=\endofsentencespacefactor\space}
+
+% @! is an end-of-sentence bang.
+\def\!{!\spacefactor=\endofsentencespacefactor\space}
+
+% @? is an end-of-sentence query.
+\def\?{?\spacefactor=\endofsentencespacefactor\space}
+
+% @frenchspacing on|off  says whether to put extra space after punctuation.
+% 
+\def\onword{on}
+\def\offword{off}
+%
+\parseargdef\frenchspacing{%
+  \def\temp{#1}%
+  \ifx\temp\onword \plainfrenchspacing
+  \else\ifx\temp\offword \plainnonfrenchspacing
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
+  \fi\fi
+}
+
+% @w prevents a word break.  Without the \leavevmode, @w at the
+% beginning of a paragraph, when TeX is still in vertical mode, would
+% produce a whole line of output instead of starting the paragraph.
+\def\w#1{\leavevmode\hbox{#1}}
+
+% @group ... @end group forces ... to be all on one page, by enclosing
+% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
+% to keep its height that of a normal line.  According to the rules for
+% \topskip (p.114 of the TeXbook), the glue inserted is
+% max (\topskip - \ht (first item), 0).  If that height is large,
+% therefore, no glue is inserted, and the space between the headline and
+% the text is small, which looks bad.
+%
+% Another complication is that the group might be very large.  This can
+% cause the glue on the previous page to be unduly stretched, because it
+% does not have much material.  In this case, it's better to add an
+% explicit \vfill so that the extra space is at the bottom.  The
+% threshold for doing this is if the group is more than \vfilllimit
+% percent of a page (\vfilllimit can be changed inside of @tex).
+%
+\newbox\groupbox
+\def\vfilllimit{0.7}
+%
+\envdef\group{%
+  \ifnum\catcode`\^^M=\active \else
+    \errhelp = \groupinvalidhelp
+    \errmessage{@group invalid in context where filling is enabled}%
+  \fi
+  \startsavinginserts
+  %
+  \setbox\groupbox = \vtop\bgroup
+    % Do @comment since we are called inside an environment such as
+    % @example, where each end-of-line in the input causes an
+    % end-of-line in the output.  We don't want the end-of-line after
+    % the `@group' to put extra space in the output.  Since @group
+    % should appear on a line by itself (according to the Texinfo
+    % manual), we don't worry about eating any user text.
+    \comment
+}
+%
+% The \vtop produces a box with normal height and large depth; thus, TeX puts
+% \baselineskip glue before it, and (when the next line of text is done)
+% \lineskip glue after it.  Thus, space below is not quite equal to space
+% above.  But it's pretty close.
+\def\Egroup{%
+    % To get correct interline space between the last line of the group
+    % and the first line afterwards, we have to propagate \prevdepth.
+    \endgraf % Not \par, as it may have been set to \lisppar.
+    \global\dimen1 = \prevdepth
+  \egroup           % End the \vtop.
+  % \dimen0 is the vertical size of the group's box.
+  \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
+  % \dimen2 is how much space is left on the page (more or less).
+  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
+  % if the group doesn't fit on the current page, and it's a big big
+  % group, force a page break.
+  \ifdim \dimen0 > \dimen2
+    \ifdim \pagetotal < \vfilllimit\pageheight
+      \page
+    \fi
+  \fi
+  \box\groupbox
+  \prevdepth = \dimen1
+  \checkinserts
+}
+%
+% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
+% message, so this ends up printing `@group can only ...'.
+%
+\newhelp\groupinvalidhelp{%
+group can only be used in environments such as @example,^^J%
+where each line of input produces a line of output.}
+
+% @need space-in-mils
+% forces a page break if there is not space-in-mils remaining.
+
+\newdimen\mil  \mil=0.001in
+
+% Old definition--didn't work.
+%\parseargdef\need{\par %
+%% This method tries to make TeX break the page naturally
+%% if the depth of the box does not fit.
+%{\baselineskip=0pt%
+%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
+%\prevdepth=-1000pt
+%}}
+
+\parseargdef\need{%
+  % Ensure vertical mode, so we don't make a big box in the middle of a
+  % paragraph.
+  \par
+  %
+  % If the @need value is less than one line space, it's useless.
+  \dimen0 = #1\mil
+  \dimen2 = \ht\strutbox
+  \advance\dimen2 by \dp\strutbox
+  \ifdim\dimen0 > \dimen2
+    %
+    % Do a \strut just to make the height of this box be normal, so the
+    % normal leading is inserted relative to the preceding line.
+    % And a page break here is fine.
+    \vtop to #1\mil{\strut\vfil}%
+    %
+    % TeX does not even consider page breaks if a penalty added to the
+    % main vertical list is 10000 or more.  But in order to see if the
+    % empty box we just added fits on the page, we must make it consider
+    % page breaks.  On the other hand, we don't want to actually break the
+    % page after the empty box.  So we use a penalty of 9999.
+    %
+    % There is an extremely small chance that TeX will actually break the
+    % page at this \penalty, if there are no other feasible breakpoints in
+    % sight.  (If the user is using lots of big @group commands, which
+    % almost-but-not-quite fill up a page, TeX will have a hard time doing
+    % good page breaking, for example.)  However, I could not construct an
+    % example where a page broke at this \penalty; if it happens in a real
+    % document, then we can reconsider our strategy.
+    \penalty9999
+    %
+    % Back up by the size of the box, whether we did a page break or not.
+    \kern -#1\mil
+    %
+    % Do not allow a page break right after this kern.
+    \nobreak
+  \fi
+}
+
+% @br   forces paragraph break (and is undocumented).
+
+\let\br = \par
+
+% @page forces the start of a new page.
+%
+\def\page{\par\vfill\supereject}
+
+% @exdent text....
+% outputs text on separate line in roman font, starting at standard page margin
+
+% This records the amount of indent in the innermost environment.
+% That's how much \exdent should take out.
+\newskip\exdentamount
+
+% This defn is used inside fill environments such as @defun.
+\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
+
+% This defn is used inside nofill environments such as @example.
+\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
+  \leftline{\hskip\leftskip{\rm#1}}}}
+
+% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
+% paragraph.  For more general purposes, use the \margin insertion
+% class.  WHICH is `l' or `r'.
+%
+\newskip\inmarginspacing \inmarginspacing=1cm
+\def\strutdepth{\dp\strutbox}
+%
+\def\doinmargin#1#2{\strut\vadjust{%
+  \nobreak
+  \kern-\strutdepth
+  \vtop to \strutdepth{%
+    \baselineskip=\strutdepth
+    \vss
+    % if you have multiple lines of stuff to put here, you'll need to
+    % make the vbox yourself of the appropriate size.
+    \ifx#1l%
+      \llap{\ignorespaces #2\hskip\inmarginspacing}%
+    \else
+      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
+    \fi
+    \null
+  }%
+}}
+\def\inleftmargin{\doinmargin l}
+\def\inrightmargin{\doinmargin r}
+%
+% @inmargin{TEXT [, RIGHT-TEXT]}
+% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
+% else use TEXT for both).
+%
+\def\inmargin#1{\parseinmargin #1,,\finish}
+\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
+  \setbox0 = \hbox{\ignorespaces #2}%
+  \ifdim\wd0 > 0pt
+    \def\lefttext{#1}%  have both texts
+    \def\righttext{#2}%
+  \else
+    \def\lefttext{#1}%  have only one text
+    \def\righttext{#1}%
+  \fi
+  %
+  \ifodd\pageno
+    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
+  \else
+    \def\temp{\inleftmargin\lefttext}%
+  \fi
+  \temp
+}
+
+% @include file    insert text of that file as input.
+%
+\def\include{\parseargusing\filenamecatcodes\includezzz}
+\def\includezzz#1{%
+  \pushthisfilestack
+  \def\thisfile{#1}%
+  {%
+    \makevalueexpandable
+    \def\temp{\input #1 }%
+    \expandafter
+  }\temp
+  \popthisfilestack
+}
+\def\filenamecatcodes{%
+  \catcode`\\=\other
+  \catcode`~=\other
+  \catcode`^=\other
+  \catcode`_=\other
+  \catcode`|=\other
+  \catcode`<=\other
+  \catcode`>=\other
+  \catcode`+=\other
+  \catcode`-=\other
+}
+
+\def\pushthisfilestack{%
+  \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
+}
+\def\pushthisfilestackX{%
+  \expandafter\pushthisfilestackY\thisfile\StackTerm
+}
+\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
+  \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
+}
+
+\def\popthisfilestack{\errthisfilestackempty}
+\def\errthisfilestackempty{\errmessage{Internal error:
+  the stack of filenames is empty.}}
+
+\def\thisfile{}
+
+% @center line
+% outputs that line, centered.
+%
+\parseargdef\center{%
+  \ifhmode
+    \let\next\centerH
+  \else
+    \let\next\centerV
+  \fi
+  \next{\hfil \ignorespaces#1\unskip \hfil}%
+}
+\def\centerH#1{%
+  {%
+    \hfil\break
+    \advance\hsize by -\leftskip
+    \advance\hsize by -\rightskip
+    \line{#1}%
+    \break
+  }%
+}
+\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
+
+% @sp n   outputs n lines of vertical space
+
+\parseargdef\sp{\vskip #1\baselineskip}
+
+% @comment ...line which is ignored...
+% @c is the same as @comment
+% @ignore ... @end ignore  is another way to write a comment
+
+\def\comment{\begingroup \catcode`\^^M=\other%
+\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
+\commentxxx}
+{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
+
+\let\c=\comment
+
+% @paragraphindent NCHARS
+% We'll use ems for NCHARS, close enough.
+% NCHARS can also be the word `asis' or `none'.
+% We cannot feasibly implement @paragraphindent asis, though.
+%
+\def\asisword{asis} % no translation, these are keywords
+\def\noneword{none}
+%
+\parseargdef\paragraphindent{%
+  \def\temp{#1}%
+  \ifx\temp\asisword
+  \else
+    \ifx\temp\noneword
+      \defaultparindent = 0pt
+    \else
+      \defaultparindent = #1em
+    \fi
+  \fi
+  \parindent = \defaultparindent
+}
+
+% @exampleindent NCHARS
+% We'll use ems for NCHARS like @paragraphindent.
+% It seems @exampleindent asis isn't necessary, but
+% I preserve it to make it similar to @paragraphindent.
+\parseargdef\exampleindent{%
+  \def\temp{#1}%
+  \ifx\temp\asisword
+  \else
+    \ifx\temp\noneword
+      \lispnarrowing = 0pt
+    \else
+      \lispnarrowing = #1em
+    \fi
+  \fi
+}
+
+% @firstparagraphindent WORD
+% If WORD is `none', then suppress indentation of the first paragraph
+% after a section heading.  If WORD is `insert', then do indent at such
+% paragraphs.
+%
+% The paragraph indentation is suppressed or not by calling
+% \suppressfirstparagraphindent, which the sectioning commands do.
+% We switch the definition of this back and forth according to WORD.
+% By default, we suppress indentation.
+%
+\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
+\def\insertword{insert}
+%
+\parseargdef\firstparagraphindent{%
+  \def\temp{#1}%
+  \ifx\temp\noneword
+    \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
+  \else\ifx\temp\insertword
+    \let\suppressfirstparagraphindent = \relax
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @firstparagraphindent option `\temp'}%
+  \fi\fi
+}
+
+% Here is how we actually suppress indentation.  Redefine \everypar to
+% \kern backwards by \parindent, and then reset itself to empty.
+%
+% We also make \indent itself not actually do anything until the next
+% paragraph.
+%
+\gdef\dosuppressfirstparagraphindent{%
+  \gdef\indent{%
+    \restorefirstparagraphindent
+    \indent
+  }%
+  \gdef\noindent{%
+    \restorefirstparagraphindent
+    \noindent
+  }%
+  \global\everypar = {%
+    \kern -\parindent
+    \restorefirstparagraphindent
+  }%
+}
+
+\gdef\restorefirstparagraphindent{%
+  \global \let \indent = \ptexindent
+  \global \let \noindent = \ptexnoindent
+  \global \everypar = {}%
+}
+
+
+% @asis just yields its argument.  Used with @table, for example.
+%
+\def\asis#1{#1}
+
+% @math outputs its argument in math mode.
+%
+% One complication: _ usually means subscripts, but it could also mean
+% an actual _ character, as in @math{@var{some_variable} + 1}.  So make
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+  \catcode`\_ = \active
+  \gdef\mathunderscore{%
+    \catcode`\_=\active
+    \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+  }
+}
+% Another complication: we want \\ (and @\) to output a \ character.
+% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
+% this is not advertised and we don't care.  Texinfo does not
+% otherwise define @\.
+%
+% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
+\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
+%
+\def\math{%
+  \tex
+  \mathunderscore
+  \let\\ = \mathbackslash
+  \mathactive
+  $\finishmath
+}
+\def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
+
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
+{
+  \catcode`^ = \active
+  \catcode`< = \active
+  \catcode`> = \active
+  \catcode`+ = \active
+  \gdef\mathactive{%
+    \let^ = \ptexhat
+    \let< = \ptexless
+    \let> = \ptexgtr
+    \let+ = \ptexplus
+  }
+}
+
+% @bullet and @minus need the same treatment as @math, just above.
+\def\bullet{$\ptexbullet$}
+\def\minus{$-$}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in the cm
+% typewriter fonts as three actual period characters; on the other hand,
+% in other typewriter fonts three periods are wider than 1.5em.  So do
+% whichever is larger.
+%
+\def\dots{%
+  \leavevmode
+  \setbox0=\hbox{...}% get width of three periods
+  \ifdim\wd0 > 1.5em
+    \dimen0 = \wd0
+  \else
+    \dimen0 = 1.5em
+  \fi
+  \hbox to \dimen0{%
+    \hskip 0pt plus.25fil
+    .\hskip 0pt plus1fil
+    .\hskip 0pt plus1fil
+    .\hskip 0pt plus.5fil
+  }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+  \dots
+  \spacefactor=\endofsentencespacefactor
+}
+
+% @comma{} is so commas can be inserted into text without messing up
+% Texinfo's parsing.
+%
+\let\comma = ,
+
+% @refill is a no-op.
+\let\refill=\relax
+
+% If working on a large document in chapters, it is convenient to
+% be able to disable indexing, cross-referencing, and contents, for test runs.
+% This is done with @novalidate (before @setfilename).
+%
+\newif\iflinks \linkstrue % by default we want the aux files.
+\let\novalidate = \linksfalse
+
+% @setfilename is done at the beginning of every texinfo file.
+% So open here the files we need to have open while reading the input.
+% This makes it possible to make a .fmt file for texinfo.
+\def\setfilename{%
+   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
+   \iflinks
+     \tryauxfile
+     % Open the new aux file.  TeX will close it automatically at exit.
+     \immediate\openout\auxfile=\jobname.aux
+   \fi % \openindices needs to do some work in any case.
+   \openindices
+   \let\setfilename=\comment % Ignore extra @setfilename cmds.
+   %
+   % If texinfo.cnf is present on the system, read it.
+   % Useful for site-wide @afourpaper, etc.
+   \openin 1 texinfo.cnf
+   \ifeof 1 \else \input texinfo.cnf \fi
+   \closein 1
+   %
+   \comment % Ignore the actual filename.
+}
+
+% Called from \setfilename.
+%
+\def\openindices{%
+  \newindex{cp}%
+  \newcodeindex{fn}%
+  \newcodeindex{vr}%
+  \newcodeindex{tp}%
+  \newcodeindex{ky}%
+  \newcodeindex{pg}%
+}
+
+% @bye.
+\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+
+
+\message{pdf,}
+% adobe `portable' document format
+\newcount\tempnum
+\newcount\lnkcount
+\newtoks\filename
+\newcount\filenamelength
+\newcount\pgn
+\newtoks\toksA
+\newtoks\toksB
+\newtoks\toksC
+\newtoks\toksD
+\newbox\boxA
+\newcount\countA
+\newif\ifpdf
+\newif\ifpdfmakepagedest
+
+% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
+% can be set).  So we test for \relax and 0 as well as \undefined,
+% borrowed from ifpdf.sty.
+\ifx\pdfoutput\undefined
+\else
+  \ifx\pdfoutput\relax
+  \else
+    \ifcase\pdfoutput
+    \else
+      \pdftrue
+    \fi
+  \fi
+\fi
+
+% PDF uses PostScript string constants for the names of xref targets,
+% for display in the outlines, and in other places.  Thus, we have to
+% double any backslashes.  Otherwise, a name like "\node" will be
+% interpreted as a newline (\n), followed by o, d, e.  Not good.
+% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
+% (and related messages, the final outcome is that it is up to the TeX
+% user to double the backslashes and otherwise make the string valid, so
+% that's what we do).
+
+% double active backslashes.
+% 
+{\catcode`\@=0 \catcode`\\=\active
+ @gdef@activebackslashdouble{%
+   @catcode`@\=@active
+   @let\=@doublebackslash}
+}
+
+% To handle parens, we must adopt a different approach, since parens are
+% not active characters.  hyperref.dtx (which has the same problem as
+% us) handles it with this amazing macro to replace tokens.  I've
+% tinkered with it a little for texinfo, but it's definitely from there.
+% 
+% #1 is the tokens to replace.
+% #2 is the replacement.
+% #3 is the control sequence with the string.
+% 
+\def\HyPsdSubst#1#2#3{%
+  \def\HyPsdReplace##1#1##2\END{%
+    ##1%
+    \ifx\\##2\\%
+    \else
+      #2%
+      \HyReturnAfterFi{%
+        \HyPsdReplace##2\END
+      }%
+    \fi
+  }%
+  \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
+}
+\long\def\HyReturnAfterFi#1\fi{\fi#1}
+
+% #1 is a control sequence in which to do the replacements.
+\def\backslashparens#1{%
+  \xdef#1{#1}% redefine it as its expansion; the definition is simply
+             % \lastnode when called from \setref -> \pdfmkdest.
+  \HyPsdSubst{(}{\realbackslash(}{#1}%
+  \HyPsdSubst{)}{\realbackslash)}{#1}%
+}
+
+\ifpdf
+  \input pdfcolor
+  \pdfcatalog{/PageMode /UseOutlines}%
+  % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
+  \def\dopdfimage#1#2#3{%
+    \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+    \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+    % without \immediate, pdftex seg faults when the same image is
+    % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
+    \ifnum\pdftexversion < 14
+      \immediate\pdfimage
+    \else
+      \immediate\pdfximage
+    \fi
+      \ifdim \wd0 >0pt width \imagewidth \fi
+      \ifdim \wd2 >0pt height \imageheight \fi
+      \ifnum\pdftexversion<13
+         #1.pdf%
+       \else
+         {#1.pdf}%
+       \fi
+    \ifnum\pdftexversion < 14 \else
+      \pdfrefximage \pdflastximage
+    \fi}
+  \def\pdfmkdest#1{{%
+    % We have to set dummies so commands such as @code, and characters
+    % such as \, aren't expanded when present in a section title.
+    \atdummies
+    \activebackslashdouble
+    \def\pdfdestname{#1}%
+    \backslashparens\pdfdestname
+    \pdfdest name{\pdfdestname} xyz%
+  }}%
+  %
+  % used to mark target names; must be expandable.
+  \def\pdfmkpgn#1{#1}%
+  %
+  \let\linkcolor = \Blue  % was Cyan, but that seems light?
+  \def\endlink{\Black\pdfendlink}
+  % Adding outlines to PDF; macros for calculating structure of outlines
+  % come from Petr Olsak
+  \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
+    \else \csname#1\endcsname \fi}
+  \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
+    \advance\tempnum by 1
+    \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
+  %
+  % #1 is the section text, which is what will be displayed in the
+  % outline by the pdf viewer.  #2 is the pdf expression for the number
+  % of subentries (or empty, for subsubsections).  #3 is the node text,
+  % which might be empty if this toc entry had no corresponding node.
+  % #4 is the page number
+  %
+  \def\dopdfoutline#1#2#3#4{%
+    % Generate a link to the node text if that exists; else, use the
+    % page number.  We could generate a destination for the section
+    % text in the case where a section has no node, but it doesn't
+    % seem worth the trouble, since most documents are normally structured.
+    \def\pdfoutlinedest{#3}%
+    \ifx\pdfoutlinedest\empty
+      \def\pdfoutlinedest{#4}%
+    \else
+      % Doubled backslashes in the name.
+      {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
+       \backslashparens\pdfoutlinedest}%
+    \fi
+    %
+    % Also double the backslashes in the display string.
+    {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
+     \backslashparens\pdfoutlinetext}%
+    %
+    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+  }
+  %
+  \def\pdfmakeoutlines{%
+    \begingroup
+      % Thanh's hack / proper braces in bookmarks
+      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
+      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
+      %
+      % Read toc silently, to get counts of subentries for \pdfoutline.
+      \def\numchapentry##1##2##3##4{%
+       \def\thischapnum{##2}%
+       \def\thissecnum{0}%
+       \def\thissubsecnum{0}%
+      }%
+      \def\numsecentry##1##2##3##4{%
+       \advancenumber{chap\thischapnum}%
+       \def\thissecnum{##2}%
+       \def\thissubsecnum{0}%
+      }%
+      \def\numsubsecentry##1##2##3##4{%
+       \advancenumber{sec\thissecnum}%
+       \def\thissubsecnum{##2}%
+      }%
+      \def\numsubsubsecentry##1##2##3##4{%
+       \advancenumber{subsec\thissubsecnum}%
+      }%
+      \def\thischapnum{0}%
+      \def\thissecnum{0}%
+      \def\thissubsecnum{0}%
+      %
+      % use \def rather than \let here because we redefine \chapentry et
+      % al. a second time, below.
+      \def\appentry{\numchapentry}%
+      \def\appsecentry{\numsecentry}%
+      \def\appsubsecentry{\numsubsecentry}%
+      \def\appsubsubsecentry{\numsubsubsecentry}%
+      \def\unnchapentry{\numchapentry}%
+      \def\unnsecentry{\numsecentry}%
+      \def\unnsubsecentry{\numsubsecentry}%
+      \def\unnsubsubsecentry{\numsubsubsecentry}%
+      \readdatafile{toc}%
+      %
+      % Read toc second time, this time actually producing the outlines.
+      % The `-' means take the \expnumber as the absolute number of
+      % subentries, which we calculated on our first read of the .toc above.
+      %
+      % We use the node names as the destinations.
+      \def\numchapentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+      \def\numsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
+      \def\numsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
+      \def\numsubsubsecentry##1##2##3##4{% count is always zero
+        \dopdfoutline{##1}{}{##3}{##4}}%
+      %
+      % PDF outlines are displayed using system fonts, instead of
+      % document fonts.  Therefore we cannot use special characters,
+      % since the encoding is unknown.  For example, the eogonek from
+      % Latin 2 (0xea) gets translated to a | character.  Info from
+      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
+      %
+      % xx to do this right, we have to translate 8-bit characters to
+      % their "best" equivalent, based on the @documentencoding.  Right
+      % now, I guess we'll just let the pdf reader have its way.
+      \indexnofonts
+      \setupdatafile
+      \catcode`\\=\active \otherbackslash
+      \input \jobname.toc
+    \endgroup
+  }
+  %
+  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+    \ifx\PP\D\let\nextsp\relax
+    \else\let\nextsp\skipspaces
+      \ifx\p\space\else\addtokens{\filename}{\PP}%
+        \advance\filenamelength by 1
+      \fi
+    \fi
+    \nextsp}
+  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+  \ifnum\pdftexversion < 14
+    \let \startlink \pdfannotlink
+  \else
+    \let \startlink \pdfstartlink
+  \fi
+  % make a live url in pdf output.
+  \def\pdfurl#1{%
+    \begingroup
+      % it seems we really need yet another set of dummies; have not
+      % tried to figure out what each command should do in the context
+      % of @url.  for now, just make @/ a no-op, that's the only one
+      % people have actually reported a problem with.
+      % 
+      \normalturnoffactive
+      \def\@{@}%
+      \let\/=\empty
+      \makevalueexpandable
+      \leavevmode\Red
+      \startlink attr{/Border [0 0 0]}%
+        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+    \endgroup}
+  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+  \def\maketoks{%
+    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+    \ifx\first0\adn0
+    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+    \else
+      \ifnum0=\countA\else\makelink\fi
+      \ifx\first.\let\next=\done\else
+        \let\next=\maketoks
+        \addtokens{\toksB}{\the\toksD}
+        \ifx\first,\addtokens{\toksB}{\space}\fi
+      \fi
+    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+    \next}
+  \def\makelink{\addtokens{\toksB}%
+    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+  \def\pdflink#1{%
+    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
+    \linkcolor #1\endlink}
+  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+\else
+  \let\pdfmkdest = \gobble
+  \let\pdfurl = \gobble
+  \let\endlink = \relax
+  \let\linkcolor = \relax
+  \let\pdfmakeoutlines = \relax
+\fi  % \ifx\pdfoutput
+
+
+\message{fonts,}
+
+% Change the current font style to #1, remembering it in \curfontstyle.
+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
+% italics, not bold italics.
+%
+\def\setfontstyle#1{%
+  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
+  \csname ten#1\endcsname  % change the current font
+}
+
+% Select #1 fonts with the current style.
+%
+\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
+
+\def\rm{\fam=0 \setfontstyle{rm}}
+\def\it{\fam=\itfam \setfontstyle{it}}
+\def\sl{\fam=\slfam \setfontstyle{sl}}
+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}
+
+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% So we set up a \sf.
+\newfam\sffam
+\def\sf{\fam=\sffam \setfontstyle{sf}}
+\let\li = \sf % Sometimes we call it \li, not \sf.
+
+% We don't need math for this font style.
+\def\ttsl{\setfontstyle{ttsl}}
+
+
+% Default leading.
+\newdimen\textleading  \textleading = 13.2pt
+
+% Set the baselineskip to #1, and the lineskip and strut size
+% correspondingly.  There is no deep meaning behind these magic numbers
+% used as factors; they just match (closely enough) what Knuth defined.
+%
+\def\lineskipfactor{.08333}
+\def\strutheightpercent{.70833}
+\def\strutdepthpercent {.29167}
+%
+\def\setleading#1{%
+  \normalbaselineskip = #1\relax
+  \normallineskip = \lineskipfactor\normalbaselineskip
+  \normalbaselines
+  \setbox\strutbox =\hbox{%
+    \vrule width0pt height\strutheightpercent\baselineskip
+                    depth \strutdepthpercent \baselineskip
+  }%
+}
+
+
+% Set the font macro #1 to the font named #2, adding on the
+% specified font prefix (normally `cm').
+% #3 is the font's design size, #4 is a scale factor
+\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
+
+
+% Use cm as the default font prefix.
+% To specify the font prefix, you must define \fontprefix
+% before you read in texinfo.tex.
+\ifx\fontprefix\undefined
+\def\fontprefix{cm}
+\fi
+% Support font families that don't use the same naming scheme as CM.
+\def\rmshape{r}
+\def\rmbshape{bx}               %where the normal face is bold
+\def\bfshape{b}
+\def\bxshape{bx}
+\def\ttshape{tt}
+\def\ttbshape{tt}
+\def\ttslshape{sltt}
+\def\itshape{ti}
+\def\itbshape{bxti}
+\def\slshape{sl}
+\def\slbshape{bxsl}
+\def\sfshape{ss}
+\def\sfbshape{ss}
+\def\scshape{csc}
+\def\scbshape{csc}
+
+% Definitions for a main text size of 11pt.  This is the default in
+% Texinfo.
+% 
+\def\definetextfontsizexi{
+% Text fonts (11.2pt, magstep1).
+\def\textnominalsize{11pt}
+\edef\mainmagstep{\magstephalf}
+\setfont\textrm\rmshape{10}{\mainmagstep}
+\setfont\texttt\ttshape{10}{\mainmagstep}
+\setfont\textbf\bfshape{10}{\mainmagstep}
+\setfont\textit\itshape{10}{\mainmagstep}
+\setfont\textsl\slshape{10}{\mainmagstep}
+\setfont\textsf\sfshape{10}{\mainmagstep}
+\setfont\textsc\scshape{10}{\mainmagstep}
+\setfont\textttsl\ttslshape{10}{\mainmagstep}
+\font\texti=cmmi10 scaled \mainmagstep
+\font\textsy=cmsy10 scaled \mainmagstep
+
+% A few fonts for @defun names and args.
+\setfont\defbf\bfshape{10}{\magstep1}
+\setfont\deftt\ttshape{10}{\magstep1}
+\setfont\defttsl\ttslshape{10}{\magstep1}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+
+% Fonts for indices, footnotes, small examples (9pt).
+\def\smallnominalsize{9pt}
+\setfont\smallrm\rmshape{9}{1000}
+\setfont\smalltt\ttshape{9}{1000}
+\setfont\smallbf\bfshape{10}{900}
+\setfont\smallit\itshape{9}{1000}
+\setfont\smallsl\slshape{9}{1000}
+\setfont\smallsf\sfshape{9}{1000}
+\setfont\smallsc\scshape{10}{900}
+\setfont\smallttsl\ttslshape{10}{900}
+\font\smalli=cmmi9
+\font\smallsy=cmsy9
+
+% Fonts for small examples (8pt).
+\def\smallernominalsize{8pt}
+\setfont\smallerrm\rmshape{8}{1000}
+\setfont\smallertt\ttshape{8}{1000}
+\setfont\smallerbf\bfshape{10}{800}
+\setfont\smallerit\itshape{8}{1000}
+\setfont\smallersl\slshape{8}{1000}
+\setfont\smallersf\sfshape{8}{1000}
+\setfont\smallersc\scshape{10}{800}
+\setfont\smallerttsl\ttslshape{10}{800}
+\font\smalleri=cmmi8
+\font\smallersy=cmsy8
+
+% Fonts for title page (20.4pt):
+\def\titlenominalsize{20pt}
+\setfont\titlerm\rmbshape{12}{\magstep3}
+\setfont\titleit\itbshape{10}{\magstep4}
+\setfont\titlesl\slbshape{10}{\magstep4}
+\setfont\titlett\ttbshape{12}{\magstep3}
+\setfont\titlettsl\ttslshape{10}{\magstep4}
+\setfont\titlesf\sfbshape{17}{\magstep1}
+\let\titlebf=\titlerm
+\setfont\titlesc\scbshape{10}{\magstep4}
+\font\titlei=cmmi12 scaled \magstep3
+\font\titlesy=cmsy10 scaled \magstep4
+\def\authorrm{\secrm}
+\def\authortt{\sectt}
+
+% Chapter (and unnumbered) fonts (17.28pt).
+\def\chapnominalsize{17pt}
+\setfont\chaprm\rmbshape{12}{\magstep2}
+\setfont\chapit\itbshape{10}{\magstep3}
+\setfont\chapsl\slbshape{10}{\magstep3}
+\setfont\chaptt\ttbshape{12}{\magstep2}
+\setfont\chapttsl\ttslshape{10}{\magstep3}
+\setfont\chapsf\sfbshape{17}{1000}
+\let\chapbf=\chaprm
+\setfont\chapsc\scbshape{10}{\magstep3}
+\font\chapi=cmmi12 scaled \magstep2
+\font\chapsy=cmsy10 scaled \magstep3
+
+% Section fonts (14.4pt).
+\def\secnominalsize{14pt}
+\setfont\secrm\rmbshape{12}{\magstep1}
+\setfont\secit\itbshape{10}{\magstep2}
+\setfont\secsl\slbshape{10}{\magstep2}
+\setfont\sectt\ttbshape{12}{\magstep1}
+\setfont\secttsl\ttslshape{10}{\magstep2}
+\setfont\secsf\sfbshape{12}{\magstep1}
+\let\secbf\secrm
+\setfont\secsc\scbshape{10}{\magstep2}
+\font\seci=cmmi12 scaled \magstep1
+\font\secsy=cmsy10 scaled \magstep2
+
+% Subsection fonts (13.15pt).
+\def\ssecnominalsize{13pt}
+\setfont\ssecrm\rmbshape{12}{\magstephalf}
+\setfont\ssecit\itbshape{10}{1315}
+\setfont\ssecsl\slbshape{10}{1315}
+\setfont\ssectt\ttbshape{12}{\magstephalf}
+\setfont\ssecttsl\ttslshape{10}{1315}
+\setfont\ssecsf\sfbshape{12}{\magstephalf}
+\let\ssecbf\ssecrm
+\setfont\ssecsc\scbshape{10}{1315}
+\font\sseci=cmmi12 scaled \magstephalf
+\font\ssecsy=cmsy10 scaled 1315
+
+% Reduced fonts for @acro in text (10pt).
+\def\reducednominalsize{10pt}
+\setfont\reducedrm\rmshape{10}{1000}
+\setfont\reducedtt\ttshape{10}{1000}
+\setfont\reducedbf\bfshape{10}{1000}
+\setfont\reducedit\itshape{10}{1000}
+\setfont\reducedsl\slshape{10}{1000}
+\setfont\reducedsf\sfshape{10}{1000}
+\setfont\reducedsc\scshape{10}{1000}
+\setfont\reducedttsl\ttslshape{10}{1000}
+\font\reducedi=cmmi10
+\font\reducedsy=cmsy10
+
+% reset the current fonts
+\textfonts
+\rm
+} % end of 11pt text font size definitions
+
+
+% Definitions to make the main text be 10pt Computer Modern, with
+% section, chapter, etc., sizes following suit.  This is for the GNU
+% Press printing of the Emacs 22 manual.  Maybe other manuals in the
+% future.  Used with @smallbook, which sets the leading to 12pt.
+% 
+\def\definetextfontsizex{%
+% Text fonts (10pt).
+\def\textnominalsize{10pt}
+\edef\mainmagstep{1000}
+\setfont\textrm\rmshape{10}{\mainmagstep}
+\setfont\texttt\ttshape{10}{\mainmagstep}
+\setfont\textbf\bfshape{10}{\mainmagstep}
+\setfont\textit\itshape{10}{\mainmagstep}
+\setfont\textsl\slshape{10}{\mainmagstep}
+\setfont\textsf\sfshape{10}{\mainmagstep}
+\setfont\textsc\scshape{10}{\mainmagstep}
+\setfont\textttsl\ttslshape{10}{\mainmagstep}
+\font\texti=cmmi10 scaled \mainmagstep
+\font\textsy=cmsy10 scaled \mainmagstep
+
+% A few fonts for @defun names and args.
+\setfont\defbf\bfshape{10}{\magstephalf}
+\setfont\deftt\ttshape{10}{\magstephalf}
+\setfont\defttsl\ttslshape{10}{\magstephalf}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+
+% Fonts for indices, footnotes, small examples (9pt).
+\def\smallnominalsize{9pt}
+\setfont\smallrm\rmshape{9}{1000}
+\setfont\smalltt\ttshape{9}{1000}
+\setfont\smallbf\bfshape{10}{900}
+\setfont\smallit\itshape{9}{1000}
+\setfont\smallsl\slshape{9}{1000}
+\setfont\smallsf\sfshape{9}{1000}
+\setfont\smallsc\scshape{10}{900}
+\setfont\smallttsl\ttslshape{10}{900}
+\font\smalli=cmmi9
+\font\smallsy=cmsy9
+
+% Fonts for small examples (8pt).
+\def\smallernominalsize{8pt}
+\setfont\smallerrm\rmshape{8}{1000}
+\setfont\smallertt\ttshape{8}{1000}
+\setfont\smallerbf\bfshape{10}{800}
+\setfont\smallerit\itshape{8}{1000}
+\setfont\smallersl\slshape{8}{1000}
+\setfont\smallersf\sfshape{8}{1000}
+\setfont\smallersc\scshape{10}{800}
+\setfont\smallerttsl\ttslshape{10}{800}
+\font\smalleri=cmmi8
+\font\smallersy=cmsy8
+
+% Fonts for title page (20.4pt):
+\def\titlenominalsize{20pt}
+\setfont\titlerm\rmbshape{12}{\magstep3}
+\setfont\titleit\itbshape{10}{\magstep4}
+\setfont\titlesl\slbshape{10}{\magstep4}
+\setfont\titlett\ttbshape{12}{\magstep3}
+\setfont\titlettsl\ttslshape{10}{\magstep4}
+\setfont\titlesf\sfbshape{17}{\magstep1}
+\let\titlebf=\titlerm
+\setfont\titlesc\scbshape{10}{\magstep4}
+\font\titlei=cmmi12 scaled \magstep3
+\font\titlesy=cmsy10 scaled \magstep4
+\def\authorrm{\secrm}
+\def\authortt{\sectt}
+
+% Chapter fonts (14.4pt).
+\def\chapnominalsize{14pt}
+\setfont\chaprm\rmbshape{12}{\magstep1}
+\setfont\chapit\itbshape{10}{\magstep2}
+\setfont\chapsl\slbshape{10}{\magstep2}
+\setfont\chaptt\ttbshape{12}{\magstep1}
+\setfont\chapttsl\ttslshape{10}{\magstep2}
+\setfont\chapsf\sfbshape{12}{\magstep1}
+\let\chapbf\chaprm
+\setfont\chapsc\scbshape{10}{\magstep2}
+\font\chapi=cmmi12 scaled \magstep1
+\font\chapsy=cmsy10 scaled \magstep2
+
+% Section fonts (12pt).
+\def\secnominalsize{12pt}
+\setfont\secrm\rmbshape{12}{1000}
+\setfont\secit\itbshape{10}{\magstep1}
+\setfont\secsl\slbshape{10}{\magstep1}
+\setfont\sectt\ttbshape{12}{1000}
+\setfont\secttsl\ttslshape{10}{\magstep1}
+\setfont\secsf\sfbshape{12}{1000}
+\let\secbf\secrm
+\setfont\secsc\scbshape{10}{\magstep1}
+\font\seci=cmmi12 
+\font\secsy=cmsy10 scaled \magstep1
+
+% Subsection fonts (10pt).
+\def\ssecnominalsize{10pt}
+\setfont\ssecrm\rmbshape{10}{1000}
+\setfont\ssecit\itbshape{10}{1000}
+\setfont\ssecsl\slbshape{10}{1000}
+\setfont\ssectt\ttbshape{10}{1000}
+\setfont\ssecttsl\ttslshape{10}{1000}
+\setfont\ssecsf\sfbshape{10}{1000}
+\let\ssecbf\ssecrm
+\setfont\ssecsc\scbshape{10}{1000}
+\font\sseci=cmmi10
+\font\ssecsy=cmsy10
+
+% Reduced fonts for @acro in text (9pt).
+\def\reducednominalsize{9pt}
+\setfont\reducedrm\rmshape{9}{1000}
+\setfont\reducedtt\ttshape{9}{1000}
+\setfont\reducedbf\bfshape{10}{900}
+\setfont\reducedit\itshape{9}{1000}
+\setfont\reducedsl\slshape{9}{1000}
+\setfont\reducedsf\sfshape{9}{1000}
+\setfont\reducedsc\scshape{10}{900}
+\setfont\reducedttsl\ttslshape{10}{900}
+\font\reducedi=cmmi9
+\font\reducedsy=cmsy9
+
+% reduce space between paragraphs
+\divide\parskip by 2
+
+% reset the current fonts
+\textfonts
+\rm
+} % end of 10pt text font size definitions
+
+
+% We provide the user-level command
+%   @fonttextsize 10
+% (or 11) to redefine the text font size.  pt is assumed.
+% 
+\def\xword{10}
+\def\xiword{11}
+%
+\parseargdef\fonttextsize{%
+  \def\textsizearg{#1}%
+  \wlog{doing @fonttextsize \textsizearg}%
+  %
+  % Set \globaldefs so that documents can use this inside @tex, since
+  % makeinfo 4.8 does not support it, but we need it nonetheless.
+  % 
+ \begingroup \globaldefs=1
+  \ifx\textsizearg\xword \definetextfontsizex
+  \else \ifx\textsizearg\xiword \definetextfontsizexi
+  \else
+    \errhelp=\EMsimple
+    \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'}
+  \fi\fi
+ \endgroup
+}
+
+
+% In order for the font changes to affect most math symbols and letters,
+% we have to define the \textfont of the standard families.  Since
+% texinfo doesn't allow for producing subscripts and superscripts except
+% in the main text, we don't bother to reset \scriptfont and
+% \scriptscriptfont (which would also require loading a lot more fonts).
+%
+\def\resetmathfonts{%
+  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
+  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
+  \textfont\ttfam=\tentt \textfont\sffam=\tensf
+}
+
+% The font-changing commands redefine the meanings of \tenSTYLE, instead
+% of just \STYLE.  We do this because \STYLE needs to also set the
+% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
+% \tenSTYLE to set the current font.
+%
+% Each font-changing command also sets the names \lsize (one size lower)
+% and \lllsize (three sizes lower).  These relative commands are used in
+% the LaTeX logo and acronyms.
+%
+% This all needs generalizing, badly.
+%
+\def\textfonts{%
+  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
+  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
+  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
+  \let\tenttsl=\textttsl
+  \def\curfontsize{text}%
+  \def\lsize{reduced}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{\textleading}}
+\def\titlefonts{%
+  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
+  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
+  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
+  \let\tenttsl=\titlettsl
+  \def\curfontsize{title}%
+  \def\lsize{chap}\def\lllsize{subsec}%
+  \resetmathfonts \setleading{25pt}}
+\def\titlefont#1{{\titlefonts\rm #1}}
+\def\chapfonts{%
+  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
+  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
+  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
+  \let\tenttsl=\chapttsl
+  \def\curfontsize{chap}%
+  \def\lsize{sec}\def\lllsize{text}%
+  \resetmathfonts \setleading{19pt}}
+\def\secfonts{%
+  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
+  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
+  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
+  \let\tenttsl=\secttsl
+  \def\curfontsize{sec}%
+  \def\lsize{subsec}\def\lllsize{reduced}%
+  \resetmathfonts \setleading{16pt}}
+\def\subsecfonts{%
+  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
+  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
+  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
+  \let\tenttsl=\ssecttsl
+  \def\curfontsize{ssec}%
+  \def\lsize{text}\def\lllsize{small}%
+  \resetmathfonts \setleading{15pt}}
+\let\subsubsecfonts = \subsecfonts
+\def\reducedfonts{%
+  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
+  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
+  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
+  \let\tenttsl=\reducedttsl
+  \def\curfontsize{reduced}%
+  \def\lsize{small}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{10.5pt}}
+\def\smallfonts{%
+  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
+  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
+  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
+  \let\tenttsl=\smallttsl
+  \def\curfontsize{small}%
+  \def\lsize{smaller}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{10.5pt}}
+\def\smallerfonts{%
+  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
+  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
+  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
+  \let\tenttsl=\smallerttsl
+  \def\curfontsize{smaller}%
+  \def\lsize{smaller}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{9.5pt}}
+
+% Set the fonts to use with the @small... environments.
+\let\smallexamplefonts = \smallfonts
+
+% About \smallexamplefonts.  If we use \smallfonts (9pt), @smallexample
+% can fit this many characters:
+%   8.5x11=86   smallbook=72  a4=90  a5=69
+% If we use \scriptfonts (8pt), then we can fit this many characters:
+%   8.5x11=90+  smallbook=80  a4=90+  a5=77
+% For me, subjectively, the few extra characters that fit aren't worth
+% the additional smallness of 8pt.  So I'm making the default 9pt.
+%
+% By the way, for comparison, here's what fits with @example (10pt):
+%   8.5x11=71  smallbook=60  a4=75  a5=58
+%
+% I wish the USA used A4 paper.
+% --karl, 24jan03.
+
+
+% Set up the default fonts, so we can use them for creating boxes.
+%
+\definetextfontsizexi
+
+% Define these so they can be easily changed for other fonts.
+\def\angleleft{$\langle$}
+\def\angleright{$\rangle$}
+
+% Count depth in font-changes, for error checks
+\newcount\fontdepth \fontdepth=0
+
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}
+\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}
+\setfont\shortconttt\ttshape{12}{1000}
+
+%% Add scribe-like font environments, plus @l for inline lisp (usually sans
+%% serif) and @ii for TeX italic
+
+% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
+% unless the following character is such as not to need one.
+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
+                    \ptexslash\fi\fi\fi}
+\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
+
+% like \smartslanted except unconditionally uses \ttsl.
+% @var is set to this for defun arguments.
+\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
+
+% like \smartslanted except unconditionally use \sl.  We never want
+% ttsl for book titles, do we?
+\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
+
+\let\i=\smartitalic
+\let\slanted=\smartslanted
+\let\var=\smartslanted
+\let\dfn=\smartslanted
+\let\emph=\smartitalic
+
+% @b, explicit bold.
+\def\b#1{{\bf #1}}
+\let\strong=\b
+
+% @sansserif, explicit sans.
+\def\sansserif#1{{\sf #1}}
+
+% We can't just use \exhyphenpenalty, because that only has effect at
+% the end of a paragraph.  Restore normal hyphenation at the end of the
+% group within which \nohyphenation is presumably called.
+%
+\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
+\def\restorehyphenation{\hyphenchar\font = `- }
+
+% Set sfcode to normal for the chars that usually have another value.
+% Can't use plain's \frenchspacing because it uses the `\x notation, and
+% sometimes \x has an active definition that messes things up.
+%
+\catcode`@=11
+  \def\plainfrenchspacing{%
+    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
+    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
+    \def\endofsentencespacefactor{1000}% for @. and friends
+  }
+  \def\plainnonfrenchspacing{%
+    \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
+    \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
+    \def\endofsentencespacefactor{3000}% for @. and friends
+  }
+\catcode`@=\other
+\def\endofsentencespacefactor{3000}% default
+
+\def\t#1{%
+  {\tt \rawbackslash \plainfrenchspacing #1}%
+  \null
+}
+\def\samp#1{`\tclose{#1}'\null}
+\setfont\keyrm\rmshape{8}{1000}
+\font\keysy=cmsy9
+\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+    \vbox{\hrule\kern-0.4pt
+     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+    \kern-0.4pt\hrule}%
+  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% The old definition, with no lozenge:
+%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @file, @option are the same as @samp.
+\let\file=\samp
+\let\option=\samp
+
+% @code is a modification of @t,
+% which makes spaces the same size as normal in the surrounding text.
+\def\tclose#1{%
+  {%
+    % Change normal interword space to be same as for the current font.
+    \spaceskip = \fontdimen2\font
+    %
+    % Switch to typewriter.
+    \tt
+    %
+    % But `\ ' produces the large typewriter interword space.
+    \def\ {{\spaceskip = 0pt{} }}%
+    %
+    % Turn off hyphenation.
+    \nohyphenation
+    %
+    \rawbackslash
+    \plainfrenchspacing
+    #1%
+  }%
+  \null
+}
+
+% We *must* turn on hyphenation at `-' and `_' in @code.
+% Otherwise, it is too hard to avoid overfull hboxes
+% in the Emacs manual, the Library manual, etc.
+
+% Unfortunately, TeX uses one parameter (\hyphenchar) to control
+% both hyphenation at - and hyphenation within words.
+% We must therefore turn them both off (\tclose does that)
+% and arrange explicitly to hyphenate at a dash.
+%  -- rms.
+{
+  \catcode`\-=\active \catcode`\_=\active
+  \catcode`\'=\active \catcode`\`=\active
+  %
+  \global\def\code{\begingroup
+    \catcode\rquoteChar=\active \catcode\lquoteChar=\active
+    \let'\codequoteright \let`\codequoteleft
+    %
+    \catcode\dashChar=\active  \catcode\underChar=\active
+    \ifallowcodebreaks
+     \let-\codedash
+     \let_\codeunder
+    \else
+     \let-\realdash
+     \let_\realunder
+    \fi
+    \codex
+  }
+}
+
+\def\realdash{-}
+\def\codedash{-\discretionary{}{}{}}
+\def\codeunder{%
+  % this is all so @math{@code{var_name}+1} can work.  In math mode, _
+  % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
+  % will therefore expand the active definition of _, which is us
+  % (inside @code that is), therefore an endless loop.
+  \ifusingtt{\ifmmode
+               \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
+             \else\normalunderscore \fi
+             \discretionary{}{}{}}%
+            {\_}%
+}
+\def\codex #1{\tclose{#1}\endgroup}
+
+% An additional complication: the above will allow breaks after, e.g.,
+% each of the four underscores in __typeof__.  This is undesirable in
+% some manuals, especially if they don't have long identifiers in
+% general.  @allowcodebreaks provides a way to control this.
+% 
+\newif\ifallowcodebreaks  \allowcodebreakstrue
+
+\def\keywordtrue{true}
+\def\keywordfalse{false}
+
+\parseargdef\allowcodebreaks{%
+  \def\txiarg{#1}%
+  \ifx\txiarg\keywordtrue
+    \allowcodebreakstrue
+  \else\ifx\txiarg\keywordfalse
+    \allowcodebreaksfalse
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
+  \fi\fi
+}
+
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+
+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
+%   `example' (@kbd uses ttsl only inside of @example and friends),
+%   or `code' (@kbd uses normal tty font always).
+\parseargdef\kbdinputstyle{%
+  \def\txiarg{#1}%
+  \ifx\txiarg\worddistinct
+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
+  \else\ifx\txiarg\wordexample
+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
+  \else\ifx\txiarg\wordcode
+    \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
+  \fi\fi\fi
+}
+\def\worddistinct{distinct}
+\def\wordexample{example}
+\def\wordcode{code}
+
+% Default is `distinct.'
+\kbdinputstyle distinct
+
+\def\xkey{\key}
+\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
+\ifx\one\xkey\ifx\threex\three \key{#2}%
+\else{\tclose{\kbdfont\look}}\fi
+\else{\tclose{\kbdfont\look}}\fi}
+
+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
+\let\indicateurl=\code
+\let\env=\code
+\let\command=\code
+
+% @uref (abbreviation for `urlref') takes an optional (comma-separated)
+% second argument specifying the text to display and an optional third
+% arg as text to display instead of (rather than in addition to) the url
+% itself.  First (mandatory) arg is the url.  Perhaps eventually put in
+% a hypertex \special here.
+%
+\def\uref#1{\douref #1,,,\finish}
+\def\douref#1,#2,#3,#4\finish{\begingroup
+  \unsepspaces
+  \pdfurl{#1}%
+  \setbox0 = \hbox{\ignorespaces #3}%
+  \ifdim\wd0 > 0pt
+    \unhbox0 % third arg given, show only that
+  \else
+    \setbox0 = \hbox{\ignorespaces #2}%
+    \ifdim\wd0 > 0pt
+      \ifpdf
+        \unhbox0             % PDF: 2nd arg given, show only it
+      \else
+        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
+      \fi
+    \else
+      \code{#1}% only url given, so show it
+    \fi
+  \fi
+  \endlink
+\endgroup}
+
+% @url synonym for @uref, since that's how everyone uses it.
+%
+\let\url=\uref
+
+% rms does not like angle brackets --karl, 17may97.
+% So now @email is just like @uref, unless we are pdf.
+%
+%\def\email#1{\angleleft{\tt #1}\angleright}
+\ifpdf
+  \def\email#1{\doemail#1,,\finish}
+  \def\doemail#1,#2,#3\finish{\begingroup
+    \unsepspaces
+    \pdfurl{mailto:#1}%
+    \setbox0 = \hbox{\ignorespaces #2}%
+    \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
+    \endlink
+  \endgroup}
+\else
+  \let\email=\uref
+\fi
+
+% Check if we are currently using a typewriter font.  Since all the
+% Computer Modern typewriter fonts have zero interword stretch (and
+% shrink), and it is reasonable to expect all typewriter fonts to have
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
+
+% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
+% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
+%
+\def\dmn#1{\thinspace #1}
+
+\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
+
+% @l was never documented to mean ``switch to the Lisp font'',
+% and it is not used as such in any manual I can find.  We need it for
+% Polish suppressed-l.  --karl, 22sep96.
+%\def\l#1{{\li #1}\null}
+
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}}              % roman font
+\def\sc#1{{\smallcaps#1}}       % smallcaps font
+\def\ii#1{{\it #1}}             % italic font
+
+% @acronym for "FBI", "NATO", and the like.
+% We print this one point size smaller, since it's intended for
+% all-uppercase.
+% 
+\def\acronym#1{\doacronym #1,,\finish}
+\def\doacronym#1,#2,#3\finish{%
+  {\selectfonts\lsize #1}%
+  \def\temp{#2}%
+  \ifx\temp\empty \else
+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
+  \fi
+}
+
+% @abbr for "Comput. J." and the like.
+% No font change, but don't do end-of-sentence spacing.
+% 
+\def\abbr#1{\doabbr #1,,\finish}
+\def\doabbr#1,#2,#3\finish{%
+  {\plainfrenchspacing #1}%
+  \def\temp{#2}%
+  \ifx\temp\empty \else
+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
+  \fi
+}
+
+% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
+%
+\def\pounds{{\it\$}}
+
+% @euro{} comes from a separate font, depending on the current style.
+% We use the free feym* fonts from the eurosym package by Henrik
+% Theiling, which support regular, slanted, bold and bold slanted (and
+% "outlined" (blackboard board, sort of) versions, which we don't need).
+% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
+% 
+% Although only regular is the truly official Euro symbol, we ignore
+% that.  The Euro is designed to be slightly taller than the regular
+% font height.
+% 
+% feymr - regular
+% feymo - slanted
+% feybr - bold
+% feybo - bold slanted
+% 
+% There is no good (free) typewriter version, to my knowledge.
+% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
+% Hmm.
+% 
+% Also doesn't work in math.  Do we need to do math with euro symbols?
+% Hope not.
+% 
+% 
+\def\euro{{\eurofont e}}
+\def\eurofont{%
+  % We set the font at each command, rather than predefining it in
+  % \textfonts and the other font-switching commands, so that
+  % installations which never need the symbol don't have to have the
+  % font installed.
+  % 
+  % There is only one designed size (nominal 10pt), so we always scale
+  % that to the current nominal size.
+  % 
+  % By the way, simply using "at 1em" works for cmr10 and the like, but
+  % does not work for cmbx10 and other extended/shrunken fonts.
+  % 
+  \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
+  %
+  \ifx\curfontstyle\bfstylename 
+    % bold:
+    \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
+  \else 
+    % regular:
+    \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
+  \fi
+  \thiseurofont
+}
+
+% @registeredsymbol - R in a circle.  The font for the R should really
+% be smaller yet, but lllsize is the best we can do for now.
+% Adapted from the plain.tex definition of \copyright.
+%
+\def\registeredsymbol{%
+  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
+               \hfil\crcr\Orb}}%
+    }$%
+}
+
+% @textdegree - the normal degrees sign.
+%
+\def\textdegree{$^\circ$}
+
+% Laurent Siebenmann reports \Orb undefined with:
+%  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
+% so we'll define it if necessary.
+% 
+\ifx\Orb\undefined
+\def\Orb{\mathhexbox20D}
+\fi
+
+
+\message{page headings,}
+
+\newskip\titlepagetopglue \titlepagetopglue = 1.5in
+\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
+
+% First the title page.  Must do @settitle before @titlepage.
+\newif\ifseenauthor
+\newif\iffinishedtitlepage
+
+% Do an implicit @contents or @shortcontents after @end titlepage if the
+% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
+%
+\newif\ifsetcontentsaftertitlepage
+ \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
+\newif\ifsetshortcontentsaftertitlepage
+ \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
+
+\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+        \endgroup\page\hbox{}\page}
+
+\envdef\titlepage{%
+  % Open one extra group, as we want to close it in the middle of \Etitlepage.
+  \begingroup
+    \parindent=0pt \textfonts
+    % Leave some space at the very top of the page.
+    \vglue\titlepagetopglue
+    % No rule at page bottom unless we print one at the top with @title.
+    \finishedtitlepagetrue
+    %
+    % Most title ``pages'' are actually two pages long, with space
+    % at the top of the second.  We don't want the ragged left on the second.
+    \let\oldpage = \page
+    \def\page{%
+      \iffinishedtitlepage\else
+        \finishtitlepage
+      \fi
+      \let\page = \oldpage
+      \page
+      \null
+    }%
+}
+
+\def\Etitlepage{%
+    \iffinishedtitlepage\else
+       \finishtitlepage
+    \fi
+    % It is important to do the page break before ending the group,
+    % because the headline and footline are only empty inside the group.
+    % If we use the new definition of \page, we always get a blank page
+    % after the title page, which we certainly don't want.
+    \oldpage
+  \endgroup
+  %
+  % Need this before the \...aftertitlepage checks so that if they are
+  % in effect the toc pages will come out with page numbers.
+  \HEADINGSon
+  %
+  % If they want short, they certainly want long too.
+  \ifsetshortcontentsaftertitlepage
+    \shortcontents
+    \contents
+    \global\let\shortcontents = \relax
+    \global\let\contents = \relax
+  \fi
+  %
+  \ifsetcontentsaftertitlepage
+    \contents
+    \global\let\contents = \relax
+    \global\let\shortcontents = \relax
+  \fi
+}
+
+\def\finishtitlepage{%
+  \vskip4pt \hrule height 2pt width \hsize
+  \vskip\titlepagebottomglue
+  \finishedtitlepagetrue
+}
+
+%%% Macros to be used within @titlepage:
+
+\let\subtitlerm=\tenrm
+\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
+
+\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
+               \let\tt=\authortt}
+
+\parseargdef\title{%
+  \checkenv\titlepage
+  \leftline{\titlefonts\rm #1}
+  % print a rule at the page bottom also.
+  \finishedtitlepagefalse
+  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
+}
+
+\parseargdef\subtitle{%
+  \checkenv\titlepage
+  {\subtitlefont \rightline{#1}}%
+}
+
+% @author should come last, but may come many times.
+% It can also be used inside @quotation.
+%
+\parseargdef\author{%
+  \def\temp{\quotation}%
+  \ifx\thisenv\temp
+    \def\quotationauthor{#1}% printed in \Equotation.
+  \else
+    \checkenv\titlepage
+    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+    {\authorfont \leftline{#1}}%
+  \fi
+}
+
+
+%%% Set up page headings and footings.
+
+\let\thispage=\folio
+
+\newtoks\evenheadline    % headline on even pages
+\newtoks\oddheadline     % headline on odd pages
+\newtoks\evenfootline    % footline on even pages
+\newtoks\oddfootline     % footline on odd pages
+
+% Now make TeX use those variables
+\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
+                            \else \the\evenheadline \fi}}
+\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
+                            \else \the\evenfootline \fi}\HEADINGShook}
+\let\HEADINGShook=\relax
+
+% Commands to set those variables.
+% For example, this is what  @headings on  does
+% @evenheading @thistitle|@thispage|@thischapter
+% @oddheading @thischapter|@thispage|@thistitle
+% @evenfooting @thisfile||
+% @oddfooting ||@thisfile
+
+
+\def\evenheading{\parsearg\evenheadingxxx}
+\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
+\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
+\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\def\oddheading{\parsearg\oddheadingxxx}
+\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
+\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
+\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
+
+\def\evenfooting{\parsearg\evenfootingxxx}
+\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
+\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
+\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\def\oddfooting{\parsearg\oddfootingxxx}
+\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
+\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
+  \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
+  %
+  % Leave some space for the footline.  Hopefully ok to assume
+  % @evenfooting will not be used by itself.
+  \global\advance\pageheight by -12pt
+  \global\advance\vsize by -12pt
+}
+
+\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
+
+
+% @headings double      turns headings on for double-sided printing.
+% @headings single      turns headings on for single-sided printing.
+% @headings off         turns them off.
+% @headings on          same as @headings double, retained for compatibility.
+% @headings after       turns on double-sided headings after this page.
+% @headings doubleafter turns on double-sided headings after this page.
+% @headings singleafter turns on single-sided headings after this page.
+% By default, they are off at the start of a document,
+% and turned `on' after @end titlepage.
+
+\def\headings #1 {\csname HEADINGS#1\endcsname}
+
+\def\HEADINGSoff{%
+\global\evenheadline={\hfil} \global\evenfootline={\hfil}
+\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
+\HEADINGSoff
+% When we turn headings on, set the page number to 1.
+% For double-sided printing, put current file name in lower left corner,
+% chapter name on inside top of right hand pages, document
+% title on inside top of left hand pages, and page numbers on outside top
+% edge of all pages.
+\def\HEADINGSdouble{%
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+\let\contentsalignmacro = \chappager
+
+% For single-sided printing, chapter title goes across top left of page,
+% page number on top right.
+\def\HEADINGSsingle{%
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+\def\HEADINGSon{\HEADINGSdouble}
+
+\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
+\let\HEADINGSdoubleafter=\HEADINGSafter
+\def\HEADINGSdoublex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+
+\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
+\def\HEADINGSsinglex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+
+% Subroutines used in generating headings
+% This produces Day Month Year style of output.
+% Only define if not already defined, in case a txi-??.tex file has set
+% up a different format (e.g., txi-cs.tex does this).
+\ifx\today\undefined
+\def\today{%
+  \number\day\space
+  \ifcase\month
+  \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
+  \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
+  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
+  \fi
+  \space\number\year}
+\fi
+
+% @settitle line...  specifies the title of the document, for headings.
+% It generates no output of its own.
+\def\thistitle{\putwordNoTitle}
+\def\settitle{\parsearg{\gdef\thistitle}}
+
+
+\message{tables,}
+% Tables -- @table, @ftable, @vtable, @item(x).
+
+% default indentation of table text
+\newdimen\tableindent \tableindent=.8in
+% default indentation of @itemize and @enumerate text
+\newdimen\itemindent  \itemindent=.3in
+% margin between end of table item and start of table text.
+\newdimen\itemmargin  \itemmargin=.1in
+
+% used internally for \itemindent minus \itemmargin
+\newdimen\itemmax
+
+% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
+% these defs.
+% They also define \itemindex
+% to index the item name in whatever manner is desired (perhaps none).
+
+\newif\ifitemxneedsnegativevskip
+
+\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
+
+\def\internalBitem{\smallbreak \parsearg\itemzzz}
+\def\internalBitemx{\itemxpar \parsearg\itemzzz}
+
+\def\itemzzz #1{\begingroup %
+  \advance\hsize by -\rightskip
+  \advance\hsize by -\tableindent
+  \setbox0=\hbox{\itemindicate{#1}}%
+  \itemindex{#1}%
+  \nobreak % This prevents a break before @itemx.
+  %
+  % If the item text does not fit in the space we have, put it on a line
+  % by itself, and do not allow a page break either before or after that
+  % line.  We do not start a paragraph here because then if the next
+  % command is, e.g., @kindex, the whatsit would get put into the
+  % horizontal list on a line by itself, resulting in extra blank space.
+  \ifdim \wd0>\itemmax
+    %
+    % Make this a paragraph so we get the \parskip glue and wrapping,
+    % but leave it ragged-right.
+    \begingroup
+      \advance\leftskip by-\tableindent
+      \advance\hsize by\tableindent
+      \advance\rightskip by0pt plus1fil
+      \leavevmode\unhbox0\par
+    \endgroup
+    %
+    % We're going to be starting a paragraph, but we don't want the
+    % \parskip glue -- logically it's part of the @item we just started.
+    \nobreak \vskip-\parskip
+    %
+    % Stop a page break at the \parskip glue coming up.  However, if
+    % what follows is an environment such as @example, there will be no
+    % \parskip glue; then the negative vskip we just inserted would
+    % cause the example and the item to crash together.  So we use this
+    % bizarre value of 10001 as a signal to \aboveenvbreak to insert
+    % \parskip glue after all.  Section titles are handled this way also.
+    % 
+    \penalty 10001
+    \endgroup
+    \itemxneedsnegativevskipfalse
+  \else
+    % The item text fits into the space.  Start a paragraph, so that the
+    % following text (if any) will end up on the same line.
+    \noindent
+    % Do this with kerns and \unhbox so that if there is a footnote in
+    % the item text, it can migrate to the main vertical list and
+    % eventually be printed.
+    \nobreak\kern-\tableindent
+    \dimen0 = \itemmax  \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
+    \unhbox0
+    \nobreak\kern\dimen0
+    \endgroup
+    \itemxneedsnegativevskiptrue
+  \fi
+}
+
+\def\item{\errmessage{@item while not in a list environment}}
+\def\itemx{\errmessage{@itemx while not in a list environment}}
+
+% @table, @ftable, @vtable.
+\envdef\table{%
+  \let\itemindex\gobble
+  \tablecheck{table}%
+}
+\envdef\ftable{%
+  \def\itemindex ##1{\doind {fn}{\code{##1}}}%
+  \tablecheck{ftable}%
+}
+\envdef\vtable{%
+  \def\itemindex ##1{\doind {vr}{\code{##1}}}%
+  \tablecheck{vtable}%
+}
+\def\tablecheck#1{%
+  \ifnum \the\catcode`\^^M=\active
+    \endgroup
+    \errmessage{This command won't work in this context; perhaps the problem is
+      that we are \inenvironment\thisenv}%
+    \def\next{\doignore{#1}}%
+  \else
+    \let\next\tablex
+  \fi
+  \next
+}
+\def\tablex#1{%
+  \def\itemindicate{#1}%
+  \parsearg\tabley
+}
+\def\tabley#1{%
+  {%
+    \makevalueexpandable
+    \edef\temp{\noexpand\tablez #1\space\space\space}%
+    \expandafter
+  }\temp \endtablez
+}
+\def\tablez #1 #2 #3 #4\endtablez{%
+  \aboveenvbreak
+  \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
+  \ifnum 0#2>0 \tableindent=#2\mil \fi
+  \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
+  \itemmax=\tableindent
+  \advance \itemmax by -\itemmargin
+  \advance \leftskip by \tableindent
+  \exdentamount=\tableindent
+  \parindent = 0pt
+  \parskip = \smallskipamount
+  \ifdim \parskip=0pt \parskip=2pt \fi
+  \let\item = \internalBitem
+  \let\itemx = \internalBitemx
+}
+\def\Etable{\endgraf\afterenvbreak}
+\let\Eftable\Etable
+\let\Evtable\Etable
+\let\Eitemize\Etable
+\let\Eenumerate\Etable
+
+% This is the counter used by @enumerate, which is really @itemize
+
+\newcount \itemno
+
+\envdef\itemize{\parsearg\doitemize}
+
+\def\doitemize#1{%
+  \aboveenvbreak
+  \itemmax=\itemindent
+  \advance\itemmax by -\itemmargin
+  \advance\leftskip by \itemindent
+  \exdentamount=\itemindent
+  \parindent=0pt
+  \parskip=\smallskipamount
+  \ifdim\parskip=0pt \parskip=2pt \fi
+  \def\itemcontents{#1}%
+  % @itemize with no arg is equivalent to @itemize @bullet.
+  \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
+  \let\item=\itemizeitem
+}
+
+% Definition of @item while inside @itemize and @enumerate.
+%
+\def\itemizeitem{%
+  \advance\itemno by 1  % for enumerations
+  {\let\par=\endgraf \smallbreak}% reasonable place to break
+  {%
+   % If the document has an @itemize directly after a section title, a
+   % \nobreak will be last on the list, and \sectionheading will have
+   % done a \vskip-\parskip.  In that case, we don't want to zero
+   % parskip, or the item text will crash with the heading.  On the
+   % other hand, when there is normal text preceding the item (as there
+   % usually is), we do want to zero parskip, or there would be too much
+   % space.  In that case, we won't have a \nobreak before.  At least
+   % that's the theory.
+   \ifnum\lastpenalty<10000 \parskip=0in \fi
+   \noindent
+   \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
+   \vadjust{\penalty 1200}}% not good to break after first line of item.
+  \flushcr
+}
+
+% \splitoff TOKENS\endmark defines \first to be the first token in
+% TOKENS, and \rest to be the remainder.
+%
+\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
+
+% Allow an optional argument of an uppercase letter, lowercase letter,
+% or number, to specify the first label in the enumerated list.  No
+% argument is the same as `1'.
+%
+\envparseargdef\enumerate{\enumeratey #1  \endenumeratey}
+\def\enumeratey #1 #2\endenumeratey{%
+  % If we were given no argument, pretend we were given `1'.
+  \def\thearg{#1}%
+  \ifx\thearg\empty \def\thearg{1}\fi
+  %
+  % Detect if the argument is a single token.  If so, it might be a
+  % letter.  Otherwise, the only valid thing it can be is a number.
+  % (We will always have one token, because of the test we just made.
+  % This is a good thing, since \splitoff doesn't work given nothing at
+  % all -- the first parameter is undelimited.)
+  \expandafter\splitoff\thearg\endmark
+  \ifx\rest\empty
+    % Only one token in the argument.  It could still be anything.
+    % A ``lowercase letter'' is one whose \lccode is nonzero.
+    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
+    %   not equal to itself.
+    % Otherwise, we assume it's a number.
+    %
+    % We need the \relax at the end of the \ifnum lines to stop TeX from
+    % continuing to look for a <number>.
+    %
+    \ifnum\lccode\expandafter`\thearg=0\relax
+      \numericenumerate % a number (we hope)
+    \else
+      % It's a letter.
+      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
+        \lowercaseenumerate % lowercase letter
+      \else
+        \uppercaseenumerate % uppercase letter
+      \fi
+    \fi
+  \else
+    % Multiple tokens in the argument.  We hope it's a number.
+    \numericenumerate
+  \fi
+}
+
+% An @enumerate whose labels are integers.  The starting integer is
+% given in \thearg.
+%
+\def\numericenumerate{%
+  \itemno = \thearg
+  \startenumeration{\the\itemno}%
+}
+
+% The starting (lowercase) letter is in \thearg.
+\def\lowercaseenumerate{%
+  \itemno = \expandafter`\thearg
+  \startenumeration{%
+    % Be sure we're not beyond the end of the alphabet.
+    \ifnum\itemno=0
+      \errmessage{No more lowercase letters in @enumerate; get a bigger
+                  alphabet}%
+    \fi
+    \char\lccode\itemno
+  }%
+}
+
+% The starting (uppercase) letter is in \thearg.
+\def\uppercaseenumerate{%
+  \itemno = \expandafter`\thearg
+  \startenumeration{%
+    % Be sure we're not beyond the end of the alphabet.
+    \ifnum\itemno=0
+      \errmessage{No more uppercase letters in @enumerate; get a bigger
+                  alphabet}
+    \fi
+    \char\uccode\itemno
+  }%
+}
+
+% Call \doitemize, adding a period to the first argument and supplying the
+% common last two arguments.  Also subtract one from the initial value in
+% \itemno, since @item increments \itemno.
+%
+\def\startenumeration#1{%
+  \advance\itemno by -1
+  \doitemize{#1.}\flushcr
+}
+
+% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
+% to @enumerate.
+%
+\def\alphaenumerate{\enumerate{a}}
+\def\capsenumerate{\enumerate{A}}
+\def\Ealphaenumerate{\Eenumerate}
+\def\Ecapsenumerate{\Eenumerate}
+
+
+% @multitable macros
+% Amy Hendrickson, 8/18/94, 3/6/96
+%
+% @multitable ... @end multitable will make as many columns as desired.
+% Contents of each column will wrap at width given in preamble.  Width
+% can be specified either with sample text given in a template line,
+% or in percent of \hsize, the current width of text on page.
+
+% Table can continue over pages but will only break between lines.
+
+% To make preamble:
+%
+% Either define widths of columns in terms of percent of \hsize:
+%   @multitable @columnfractions .25 .3 .45
+%   @item ...
+%
+%   Numbers following @columnfractions are the percent of the total
+%   current hsize to be used for each column. You may use as many
+%   columns as desired.
+
+
+% Or use a template:
+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+%   @item ...
+%   using the widest term desired in each column.
+
+% Each new table line starts with @item, each subsequent new column
+% starts with @tab. Empty columns may be produced by supplying @tab's
+% with nothing between them for as many times as empty columns are needed,
+% ie, @tab@tab@tab will produce two empty columns.
+
+% @item, @tab do not need to be on their own lines, but it will not hurt
+% if they are.
+
+% Sample multitable:
+
+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+%   @item first col stuff @tab second col stuff @tab third col
+%   @item
+%   first col stuff
+%   @tab
+%   second col stuff
+%   @tab
+%   third col
+%   @item first col stuff @tab second col stuff
+%   @tab Many paragraphs of text may be used in any column.
+%
+%         They will wrap at the width determined by the template.
+%   @item@tab@tab This will be in third column.
+%   @end multitable
+
+% Default dimensions may be reset by user.
+% @multitableparskip is vertical space between paragraphs in table.
+% @multitableparindent is paragraph indent in table.
+% @multitablecolmargin is horizontal space to be left between columns.
+% @multitablelinespace is space to leave between table items, baseline
+%                                                            to baseline.
+%   0pt means it depends on current normal line spacing.
+%
+\newskip\multitableparskip
+\newskip\multitableparindent
+\newdimen\multitablecolspace
+\newskip\multitablelinespace
+\multitableparskip=0pt
+\multitableparindent=6pt
+\multitablecolspace=12pt
+\multitablelinespace=0pt
+
+% Macros used to set up halign preamble:
+%
+\let\endsetuptable\relax
+\def\xendsetuptable{\endsetuptable}
+\let\columnfractions\relax
+\def\xcolumnfractions{\columnfractions}
+\newif\ifsetpercent
+
+% #1 is the @columnfraction, usually a decimal number like .5, but might
+% be just 1.  We just use it, whatever it is.
+%
+\def\pickupwholefraction#1 {%
+  \global\advance\colcount by 1
+  \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
+  \setuptable
+}
+
+\newcount\colcount
+\def\setuptable#1{%
+  \def\firstarg{#1}%
+  \ifx\firstarg\xendsetuptable
+    \let\go = \relax
+  \else
+    \ifx\firstarg\xcolumnfractions
+      \global\setpercenttrue
+    \else
+      \ifsetpercent
+         \let\go\pickupwholefraction
+      \else
+         \global\advance\colcount by 1
+         \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
+                   % separator; typically that is always in the input, anyway.
+         \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
+      \fi
+    \fi
+    \ifx\go\pickupwholefraction
+      % Put the argument back for the \pickupwholefraction call, so
+      % we'll always have a period there to be parsed.
+      \def\go{\pickupwholefraction#1}%
+    \else
+      \let\go = \setuptable
+    \fi%
+  \fi
+  \go
+}
+
+% multitable-only commands.
+%
+% @headitem starts a heading row, which we typeset in bold.
+% Assignments have to be global since we are inside the implicit group
+% of an alignment entry.  Note that \everycr resets \everytab.
+\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
+%
+% A \tab used to include \hskip1sp.  But then the space in a template
+% line is not enough.  That is bad.  So let's go back to just `&' until
+% we encounter the problem it was intended to solve again.
+%                                      --karl, nathan@acm.org, 20apr99.
+\def\tab{\checkenv\multitable &\the\everytab}%
+
+% @multitable ... @end multitable definitions:
+%
+\newtoks\everytab  % insert after every tab.
+%
+\envdef\multitable{%
+  \vskip\parskip
+  \startsavinginserts
+  %
+  % @item within a multitable starts a normal row.
+  % We use \def instead of \let so that if one of the multitable entries
+  % contains an @itemize, we don't choke on the \item (seen as \crcr aka
+  % \endtemplate) expanding \doitemize.
+  \def\item{\crcr}%
+  %
+  \tolerance=9500
+  \hbadness=9500
+  \setmultitablespacing
+  \parskip=\multitableparskip
+  \parindent=\multitableparindent
+  \overfullrule=0pt
+  \global\colcount=0
+  %
+  \everycr = {%
+    \noalign{%
+      \global\everytab={}%
+      \global\colcount=0 % Reset the column counter.
+      % Check for saved footnotes, etc.
+      \checkinserts
+      % Keeps underfull box messages off when table breaks over pages.
+      %\filbreak
+       % Maybe so, but it also creates really weird page breaks when the
+       % table breaks over pages. Wouldn't \vfil be better?  Wait until the
+       % problem manifests itself, so it can be fixed for real --karl.
+    }%
+  }%
+  %
+  \parsearg\domultitable
+}
+\def\domultitable#1{%
+  % To parse everything between @multitable and @item:
+  \setuptable#1 \endsetuptable
+  %
+  % This preamble sets up a generic column definition, which will
+  % be used as many times as user calls for columns.
+  % \vtop will set a single line and will also let text wrap and
+  % continue for many paragraphs if desired.
+  \halign\bgroup &%
+    \global\advance\colcount by 1
+    \multistrut
+    \vtop{%
+      % Use the current \colcount to find the correct column width:
+      \hsize=\expandafter\csname col\the\colcount\endcsname
+      %
+      % In order to keep entries from bumping into each other
+      % we will add a \leftskip of \multitablecolspace to all columns after
+      % the first one.
+      %
+      % If a template has been used, we will add \multitablecolspace
+      % to the width of each template entry.
+      %
+      % If the user has set preamble in terms of percent of \hsize we will
+      % use that dimension as the width of the column, and the \leftskip
+      % will keep entries from bumping into each other.  Table will start at
+      % left margin and final column will justify at right margin.
+      %
+      % Make sure we don't inherit \rightskip from the outer environment.
+      \rightskip=0pt
+      \ifnum\colcount=1
+       % The first column will be indented with the surrounding text.
+       \advance\hsize by\leftskip
+      \else
+       \ifsetpercent \else
+         % If user has not set preamble in terms of percent of \hsize
+         % we will advance \hsize by \multitablecolspace.
+         \advance\hsize by \multitablecolspace
+       \fi
+       % In either case we will make \leftskip=\multitablecolspace:
+      \leftskip=\multitablecolspace
+      \fi
+      % Ignoring space at the beginning and end avoids an occasional spurious
+      % blank line, when TeX decides to break the line at the space before the
+      % box from the multistrut, so the strut ends up on a line by itself.
+      % For example:
+      % @multitable @columnfractions .11 .89
+      % @item @code{#}
+      % @tab Legal holiday which is valid in major parts of the whole country.
+      % Is automatically provided with highlighting sequences respectively
+      % marking characters.
+      \noindent\ignorespaces##\unskip\multistrut
+    }\cr
+}
+\def\Emultitable{%
+  \crcr
+  \egroup % end the \halign
+  \global\setpercentfalse
+}
+
+\def\setmultitablespacing{%
+  \def\multistrut{\strut}% just use the standard line spacing
+  %
+  % Compute \multitablelinespace (if not defined by user) for use in
+  % \multitableparskip calculation.  We used define \multistrut based on
+  % this, but (ironically) that caused the spacing to be off.
+  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
+\ifdim\multitablelinespace=0pt
+\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
+\global\advance\multitablelinespace by-\ht0
+\fi
+%% Test to see if parskip is larger than space between lines of
+%% table. If not, do nothing.
+%%        If so, set to same dimension as multitablelinespace.
+\ifdim\multitableparskip>\multitablelinespace
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+                                      %% than skip between lines in the table.
+\fi%
+\ifdim\multitableparskip=0pt
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+                                      %% than skip between lines in the table.
+\fi}
+
+
+\message{conditionals,}
+
+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
+% @ifnotxml always succeed.  They currently do nothing; we don't
+% attempt to check whether the conditionals are properly nested.  But we
+% have to remember that they are conditionals, so that @end doesn't
+% attempt to close an environment group.
+%
+\def\makecond#1{%
+  \expandafter\let\csname #1\endcsname = \relax
+  \expandafter\let\csname iscond.#1\endcsname = 1
+}
+\makecond{iftex}
+\makecond{ifnotdocbook}
+\makecond{ifnothtml}
+\makecond{ifnotinfo}
+\makecond{ifnotplaintext}
+\makecond{ifnotxml}
+
+% Ignore @ignore, @ifhtml, @ifinfo, and the like.
+%
+\def\direntry{\doignore{direntry}}
+\def\documentdescription{\doignore{documentdescription}}
+\def\docbook{\doignore{docbook}}
+\def\html{\doignore{html}}
+\def\ifdocbook{\doignore{ifdocbook}}
+\def\ifhtml{\doignore{ifhtml}}
+\def\ifinfo{\doignore{ifinfo}}
+\def\ifnottex{\doignore{ifnottex}}
+\def\ifplaintext{\doignore{ifplaintext}}
+\def\ifxml{\doignore{ifxml}}
+\def\ignore{\doignore{ignore}}
+\def\menu{\doignore{menu}}
+\def\xml{\doignore{xml}}
+
+% Ignore text until a line `@end #1', keeping track of nested conditionals.
+%
+% A count to remember the depth of nesting.
+\newcount\doignorecount
+
+\def\doignore#1{\begingroup
+  % Scan in ``verbatim'' mode:
+  \obeylines
+  \catcode`\@ = \other
+  \catcode`\{ = \other
+  \catcode`\} = \other
+  %
+  % Make sure that spaces turn into tokens that match what \doignoretext wants.
+  \spaceisspace
+  %
+  % Count number of #1's that we've seen.
+  \doignorecount = 0
+  %
+  % Swallow text until we reach the matching `@end #1'.
+  \dodoignore{#1}%
+}
+
+{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
+  \obeylines %
+  %
+  \gdef\dodoignore#1{%
+    % #1 contains the command name as a string, e.g., `ifinfo'.
+    %
+    % Define a command to find the next `@end #1'.
+    \long\def\doignoretext##1^^M@end #1{%
+      \doignoretextyyy##1^^M@#1\_STOP_}%
+    %
+    % And this command to find another #1 command, at the beginning of a
+    % line.  (Otherwise, we would consider a line `@c @ifset', for
+    % example, to count as an @ifset for nesting.)
+    \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
+    %
+    % And now expand that command.
+    \doignoretext ^^M%
+  }%
+}
+
+\def\doignoreyyy#1{%
+  \def\temp{#1}%
+  \ifx\temp\empty                      % Nothing found.
+    \let\next\doignoretextzzz
+  \else                                        % Found a nested condition, ...
+    \advance\doignorecount by 1
+    \let\next\doignoretextyyy          % ..., look for another.
+    % If we're here, #1 ends with ^^M\ifinfo (for example).
+  \fi
+  \next #1% the token \_STOP_ is present just after this macro.
+}
+
+% We have to swallow the remaining "\_STOP_".
+%
+\def\doignoretextzzz#1{%
+  \ifnum\doignorecount = 0     % We have just found the outermost @end.
+    \let\next\enddoignore
+  \else                                % Still inside a nested condition.
+    \advance\doignorecount by -1
+    \let\next\doignoretext      % Look for the next @end.
+  \fi
+  \next
+}
+
+% Finish off ignored text.
+{ \obeylines%
+  % Ignore anything after the last `@end #1'; this matters in verbatim
+  % environments, where otherwise the newline after an ignored conditional
+  % would result in a blank line in the output.
+  \gdef\enddoignore#1^^M{\endgroup\ignorespaces}%
+}
+
+
+% @set VAR sets the variable VAR to an empty value.
+% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
+%
+% Since we want to separate VAR from REST-OF-LINE (which might be
+% empty), we can't just use \parsearg; we have to insert a space of our
+% own to delimit the rest of the line, and then take it out again if we
+% didn't need it.
+% We rely on the fact that \parsearg sets \catcode`\ =10.
+%
+\parseargdef\set{\setyyy#1 \endsetyyy}
+\def\setyyy#1 #2\endsetyyy{%
+  {%
+    \makevalueexpandable
+    \def\temp{#2}%
+    \edef\next{\gdef\makecsname{SET#1}}%
+    \ifx\temp\empty
+      \next{}%
+    \else
+      \setzzz#2\endsetzzz
+    \fi
+  }%
+}
+% Remove the trailing space \setxxx inserted.
+\def\setzzz#1 \endsetzzz{\next{#1}}
+
+% @clear VAR clears (i.e., unsets) the variable VAR.
+%
+\parseargdef\clear{%
+  {%
+    \makevalueexpandable
+    \global\expandafter\let\csname SET#1\endcsname=\relax
+  }%
+}
+
+% @value{foo} gets the text saved in variable foo.
+\def\value{\begingroup\makevalueexpandable\valuexxx}
+\def\valuexxx#1{\expandablevalue{#1}\endgroup}
+{
+  \catcode`\- = \active \catcode`\_ = \active
+  %
+  \gdef\makevalueexpandable{%
+    \let\value = \expandablevalue
+    % We don't want these characters active, ...
+    \catcode`\-=\other \catcode`\_=\other
+    % ..., but we might end up with active ones in the argument if
+    % we're called from @code, as @code{@value{foo-bar_}}, though.
+    % So \let them to their normal equivalents.
+    \let-\realdash \let_\normalunderscore
+  }
+}
+
+% We have this subroutine so that we can handle at least some @value's
+% properly in indexes (we call \makevalueexpandable in \indexdummies).
+% The command has to be fully expandable (if the variable is set), since
+% the result winds up in the index file.  This means that if the
+% variable's value contains other Texinfo commands, it's almost certain
+% it will fail (although perhaps we could fix that with sufficient work
+% to do a one-level expansion on the result, instead of complete).
+%
+\def\expandablevalue#1{%
+  \expandafter\ifx\csname SET#1\endcsname\relax
+    {[No value for ``#1'']}%
+    \message{Variable `#1', used in @value, is not set.}%
+  \else
+    \csname SET#1\endcsname
+  \fi
+}
+
+% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
+% with @set.
+%
+% To get special treatment of `@end ifset,' call \makeond and the redefine.
+%
+\makecond{ifset}
+\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
+\def\doifset#1#2{%
+  {%
+    \makevalueexpandable
+    \let\next=\empty
+    \expandafter\ifx\csname SET#2\endcsname\relax
+      #1% If not set, redefine \next.
+    \fi
+    \expandafter
+  }\next
+}
+\def\ifsetfail{\doignore{ifset}}
+
+% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% defined with @set, or has been undefined with @clear.
+%
+% The `\else' inside the `\doifset' parameter is a trick to reuse the
+% above code: if the variable is not set, do nothing, if it is set,
+% then redefine \next to \ifclearfail.
+%
+\makecond{ifclear}
+\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
+\def\ifclearfail{\doignore{ifclear}}
+
+% @dircategory CATEGORY  -- specify a category of the dir file
+% which this file should belong to.  Ignore this in TeX.
+\let\dircategory=\comment
+
+% @defininfoenclose.
+\let\definfoenclose=\comment
+
+
+\message{indexing,}
+% Index generation facilities
+
+% Define \newwrite to be identical to plain tex's \newwrite
+% except not \outer, so it can be used within macros and \if's.
+\edef\newwrite{\makecsname{ptexnewwrite}}
+
+% \newindex {foo} defines an index named foo.
+% It automatically defines \fooindex such that
+% \fooindex ...rest of line... puts an entry in the index foo.
+% It also defines \fooindfile to be the number of the output channel for
+% the file that accumulates this index.  The file's extension is foo.
+% The name of an index should be no more than 2 characters long
+% for the sake of vms.
+%
+\def\newindex#1{%
+  \iflinks
+    \expandafter\newwrite \csname#1indfile\endcsname
+    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+  \fi
+  \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
+    \noexpand\doindex{#1}}
+}
+
+% @defindex foo  ==  \newindex{foo}
+%
+\def\defindex{\parsearg\newindex}
+
+% Define @defcodeindex, like @defindex except put all entries in @code.
+%
+\def\defcodeindex{\parsearg\newcodeindex}
+%
+\def\newcodeindex#1{%
+  \iflinks
+    \expandafter\newwrite \csname#1indfile\endcsname
+    \openout \csname#1indfile\endcsname \jobname.#1
+  \fi
+  \expandafter\xdef\csname#1index\endcsname{%
+    \noexpand\docodeindex{#1}}%
+}
+
+
+% @synindex foo bar    makes index foo feed into index bar.
+% Do this instead of @defindex foo if you don't want it as a separate index.
+%
+% @syncodeindex foo bar   similar, but put all entries made for index foo
+% inside @code.
+%
+\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
+\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
+
+% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
+% #3 the target index (bar).
+\def\dosynindex#1#2#3{%
+  % Only do \closeout if we haven't already done it, else we'll end up
+  % closing the target index.
+  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
+    % The \closeout helps reduce unnecessary open files; the limit on the
+    % Acorn RISC OS is a mere 16 files.
+    \expandafter\closeout\csname#2indfile\endcsname
+    \expandafter\let\csname\donesynindex#2\endcsname = 1
+  \fi
+  % redefine \fooindfile:
+  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
+  \expandafter\let\csname#2indfile\endcsname=\temp
+  % redefine \fooindex:
+  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
+}
+
+% Define \doindex, the driver for all \fooindex macros.
+% Argument #1 is generated by the calling \fooindex macro,
+%  and it is "foo", the name of the index.
+
+% \doindex just uses \parsearg; it calls \doind for the actual work.
+% This is because \doind is more useful to call from other macros.
+
+% There is also \dosubind {index}{topic}{subtopic}
+% which makes an entry in a two-level index such as the operation index.
+
+\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
+\def\singleindexer #1{\doind{\indexname}{#1}}
+
+% like the previous two, but they put @code around the argument.
+\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
+\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
+
+% Take care of Texinfo commands that can appear in an index entry.
+% Since there are some commands we want to expand, and others we don't,
+% we have to laboriously prevent expansion for those that we don't.
+%
+\def\indexdummies{%
+  \escapechar = `\\     % use backslash in output files.
+  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
+  \def\ {\realbackslash\space }%
+  %
+  % Need these in case \tex is in effect and \{ is a \delimiter again.
+  % But can't use \lbracecmd and \rbracecmd because texindex assumes
+  % braces and backslashes are used only as delimiters.
+  \let\{ = \mylbrace
+  \let\} = \myrbrace
+  %
+  % I don't entirely understand this, but when an index entry is
+  % generated from a macro call, the \endinput which \scanmacro inserts
+  % causes processing to be prematurely terminated.  This is,
+  % apparently, because \indexsorttmp is fully expanded, and \endinput
+  % is an expandable command.  The redefinition below makes \endinput
+  % disappear altogether for that purpose -- although logging shows that
+  % processing continues to some further point.  On the other hand, it
+  % seems \endinput does not hurt in the printed index arg, since that
+  % is still getting written without apparent harm.
+  % 
+  % Sample source (mac-idx3.tex, reported by Graham Percival to
+  % help-texinfo, 22may06):
+  % @macro funindex {WORD}
+  % @findex xyz
+  % @end macro
+  % ...
+  % @funindex commtest
+  % 
+  % The above is not enough to reproduce the bug, but it gives the flavor.
+  % 
+  % Sample whatsit resulting:
+  % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
+  % 
+  % So:
+  \let\endinput = \empty
+  %
+  % Do the redefinitions.
+  \commondummies
+}
+
+% For the aux and toc files, @ is the escape character.  So we want to
+% redefine everything using @ as the escape character (instead of
+% \realbackslash, still used for index files).  When everything uses @,
+% this will be simpler.
+%
+\def\atdummies{%
+  \def\@{@@}%
+  \def\ {@ }%
+  \let\{ = \lbraceatcmd
+  \let\} = \rbraceatcmd
+  %
+  % Do the redefinitions.
+  \commondummies
+  \otherbackslash
+}
+
+% Called from \indexdummies and \atdummies.
+%
+\def\commondummies{%
+  %
+  % \definedummyword defines \#1 as \string\#1\space, thus effectively
+  % preventing its expansion.  This is used only for control% words,
+  % not control letters, because the \space would be incorrect for
+  % control characters, but is needed to separate the control word
+  % from whatever follows.
+  %
+  % For control letters, we have \definedummyletter, which omits the
+  % space.
+  %
+  % These can be used both for control words that take an argument and
+  % those that do not.  If it is followed by {arg} in the input, then
+  % that will dutifully get written to the index (or wherever).
+  %
+  \def\definedummyword  ##1{\def##1{\string##1\space}}%
+  \def\definedummyletter##1{\def##1{\string##1}}%
+  \let\definedummyaccent\definedummyletter
+  %
+  \commondummiesnofonts
+  %
+  \definedummyletter\_%
+  %
+  % Non-English letters.
+  \definedummyword\AA
+  \definedummyword\AE
+  \definedummyword\L
+  \definedummyword\OE
+  \definedummyword\O
+  \definedummyword\aa
+  \definedummyword\ae
+  \definedummyword\l
+  \definedummyword\oe
+  \definedummyword\o
+  \definedummyword\ss
+  \definedummyword\exclamdown
+  \definedummyword\questiondown
+  \definedummyword\ordf
+  \definedummyword\ordm
+  %
+  % Although these internal commands shouldn't show up, sometimes they do.
+  \definedummyword\bf
+  \definedummyword\gtr
+  \definedummyword\hat
+  \definedummyword\less
+  \definedummyword\sf
+  \definedummyword\sl
+  \definedummyword\tclose
+  \definedummyword\tt
+  %
+  \definedummyword\LaTeX
+  \definedummyword\TeX
+  %
+  % Assorted special characters.
+  \definedummyword\bullet
+  \definedummyword\comma
+  \definedummyword\copyright
+  \definedummyword\registeredsymbol
+  \definedummyword\dots
+  \definedummyword\enddots
+  \definedummyword\equiv
+  \definedummyword\error
+  \definedummyword\euro
+  \definedummyword\expansion
+  \definedummyword\minus
+  \definedummyword\pounds
+  \definedummyword\point
+  \definedummyword\print
+  \definedummyword\result
+  \definedummyword\textdegree
+  %
+  % We want to disable all macros so that they are not expanded by \write.
+  \macrolist
+  %
+  \normalturnoffactive
+  %
+  % Handle some cases of @value -- where it does not contain any
+  % (non-fully-expandable) commands.
+  \makevalueexpandable
+}
+
+% \commondummiesnofonts: common to \commondummies and \indexnofonts.
+%
+\def\commondummiesnofonts{%
+  % Control letters and accents.
+  \definedummyletter\!%
+  \definedummyaccent\"%
+  \definedummyaccent\'%
+  \definedummyletter\*%
+  \definedummyaccent\,%
+  \definedummyletter\.%
+  \definedummyletter\/%
+  \definedummyletter\:%
+  \definedummyaccent\=%
+  \definedummyletter\?%
+  \definedummyaccent\^%
+  \definedummyaccent\`%
+  \definedummyaccent\~%
+  \definedummyword\u
+  \definedummyword\v
+  \definedummyword\H
+  \definedummyword\dotaccent
+  \definedummyword\ringaccent
+  \definedummyword\tieaccent
+  \definedummyword\ubaraccent
+  \definedummyword\udotaccent
+  \definedummyword\dotless
+  %
+  % Texinfo font commands.
+  \definedummyword\b
+  \definedummyword\i
+  \definedummyword\r
+  \definedummyword\sc
+  \definedummyword\t
+  %
+  % Commands that take arguments.
+  \definedummyword\acronym
+  \definedummyword\cite
+  \definedummyword\code
+  \definedummyword\command
+  \definedummyword\dfn
+  \definedummyword\emph
+  \definedummyword\env
+  \definedummyword\file
+  \definedummyword\kbd
+  \definedummyword\key
+  \definedummyword\math
+  \definedummyword\option
+  \definedummyword\pxref
+  \definedummyword\ref
+  \definedummyword\samp
+  \definedummyword\strong
+  \definedummyword\tie
+  \definedummyword\uref
+  \definedummyword\url
+  \definedummyword\var
+  \definedummyword\verb
+  \definedummyword\w
+  \definedummyword\xref
+}
+
+% \indexnofonts is used when outputting the strings to sort the index
+% by, and when constructing control sequence names.  It eliminates all
+% control sequences and just writes whatever the best ASCII sort string
+% would be for a given command (usually its argument).
+%
+\def\indexnofonts{%
+  % Accent commands should become @asis.
+  \def\definedummyaccent##1{\let##1\asis}%
+  % We can just ignore other control letters.
+  \def\definedummyletter##1{\let##1\empty}%
+  % Hopefully, all control words can become @asis.
+  \let\definedummyword\definedummyaccent
+  %
+  \commondummiesnofonts
+  %
+  % Don't no-op \tt, since it isn't a user-level command
+  % and is used in the definitions of the active chars like <, >, |, etc.
+  % Likewise with the other plain tex font commands.
+  %\let\tt=\asis
+  %
+  \def\ { }%
+  \def\@{@}%
+  % how to handle braces?
+  \def\_{\normalunderscore}%
+  %
+  % Non-English letters.
+  \def\AA{AA}%
+  \def\AE{AE}%
+  \def\L{L}%
+  \def\OE{OE}%
+  \def\O{O}%
+  \def\aa{aa}%
+  \def\ae{ae}%
+  \def\l{l}%
+  \def\oe{oe}%
+  \def\o{o}%
+  \def\ss{ss}%
+  \def\exclamdown{!}%
+  \def\questiondown{?}%
+  \def\ordf{a}%
+  \def\ordm{o}%
+  %
+  \def\LaTeX{LaTeX}%
+  \def\TeX{TeX}%
+  %
+  % Assorted special characters.
+  % (The following {} will end up in the sort string, but that's ok.)
+  \def\bullet{bullet}%
+  \def\comma{,}%
+  \def\copyright{copyright}%
+  \def\registeredsymbol{R}%
+  \def\dots{...}%
+  \def\enddots{...}%
+  \def\equiv{==}%
+  \def\error{error}%
+  \def\euro{euro}%
+  \def\expansion{==>}%
+  \def\minus{-}%
+  \def\pounds{pounds}%
+  \def\point{.}%
+  \def\print{-|}%
+  \def\result{=>}%
+  \def\textdegree{degrees}%
+  %
+  % We need to get rid of all macros, leaving only the arguments (if present).
+  % Of course this is not nearly correct, but it is the best we can do for now.
+  % makeinfo does not expand macros in the argument to @deffn, which ends up
+  % writing an index entry, and texindex isn't prepared for an index sort entry
+  % that starts with \.
+  % 
+  % Since macro invocations are followed by braces, we can just redefine them
+  % to take a single TeX argument.  The case of a macro invocation that
+  % goes to end-of-line is not handled.
+  % 
+  \macrolist
+}
+
+\let\indexbackslash=0  %overridden during \printindex.
+\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
+
+% Most index entries go through here, but \dosubind is the general case.
+% #1 is the index name, #2 is the entry text.
+\def\doind#1#2{\dosubind{#1}{#2}{}}
+
+% Workhorse for all \fooindexes.
+% #1 is name of index, #2 is stuff to put there, #3 is subentry --
+% empty if called from \doind, as we usually are (the main exception
+% is with most defuns, which call us directly).
+%
+\def\dosubind#1#2#3{%
+  \iflinks
+  {%
+    % Store the main index entry text (including the third arg).
+    \toks0 = {#2}%
+    % If third arg is present, precede it with a space.
+    \def\thirdarg{#3}%
+    \ifx\thirdarg\empty \else
+      \toks0 = \expandafter{\the\toks0 \space #3}%
+    \fi
+    %
+    \edef\writeto{\csname#1indfile\endcsname}%
+    %
+    \ifvmode
+      \dosubindsanitize
+    \else
+      \dosubindwrite
+    \fi
+  }%
+  \fi
+}
+
+% Write the entry in \toks0 to the index file:
+%
+\def\dosubindwrite{%
+  % Put the index entry in the margin if desired.
+  \ifx\SETmarginindex\relax\else
+    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
+  \fi
+  %
+  % Remember, we are within a group.
+  \indexdummies % Must do this here, since \bf, etc expand at this stage
+  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
+      % so it will be output as is; and it will print as backslash.
+  %
+  % Process the index entry with all font commands turned off, to
+  % get the string to sort by.
+  {\indexnofonts
+   \edef\temp{\the\toks0}% need full expansion
+   \xdef\indexsorttmp{\temp}%
+  }%
+  %
+  % Set up the complete index entry, with both the sort key and
+  % the original text, including any font commands.  We write
+  % three arguments to \entry to the .?? file (four in the
+  % subentry case), texindex reduces to two when writing the .??s
+  % sorted result.
+  \edef\temp{%
+    \write\writeto{%
+      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
+  }%
+  \temp
+}
+
+% Take care of unwanted page breaks:
+%
+% If a skip is the last thing on the list now, preserve it
+% by backing up by \lastskip, doing the \write, then inserting
+% the skip again.  Otherwise, the whatsit generated by the
+% \write will make \lastskip zero.  The result is that sequences
+% like this:
+% @end defun
+% @tindex whatever
+% @defun ...
+% will have extra space inserted, because the \medbreak in the
+% start of the @defun won't see the skip inserted by the @end of
+% the previous defun.
+%
+% But don't do any of this if we're not in vertical mode.  We
+% don't want to do a \vskip and prematurely end a paragraph.
+%
+% Avoid page breaks due to these extra skips, too.
+%
+% But wait, there is a catch there:
+% We'll have to check whether \lastskip is zero skip.  \ifdim is not
+% sufficient for this purpose, as it ignores stretch and shrink parts
+% of the skip.  The only way seems to be to check the textual
+% representation of the skip.
+%
+% The following is almost like \def\zeroskipmacro{0.0pt} except that
+% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
+%
+\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
+%
+% ..., ready, GO:
+%
+\def\dosubindsanitize{%
+  % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
+  \skip0 = \lastskip
+  \edef\lastskipmacro{\the\lastskip}%
+  \count255 = \lastpenalty
+  %
+  % If \lastskip is nonzero, that means the last item was a
+  % skip.  And since a skip is discardable, that means this
+  % -\skip0 glue we're inserting is preceded by a
+  % non-discardable item, therefore it is not a potential
+  % breakpoint, therefore no \nobreak needed.
+  \ifx\lastskipmacro\zeroskipmacro
+  \else
+    \vskip-\skip0
+  \fi
+  %
+  \dosubindwrite
+  %
+  \ifx\lastskipmacro\zeroskipmacro
+    % If \lastskip was zero, perhaps the last item was a penalty, and
+    % perhaps it was >=10000, e.g., a \nobreak.  In that case, we want
+    % to re-insert the same penalty (values >10000 are used for various
+    % signals); since we just inserted a non-discardable item, any
+    % following glue (such as a \parskip) would be a breakpoint.  For example:
+    % 
+    %   @deffn deffn-whatever
+    %   @vindex index-whatever
+    %   Description.
+    % would allow a break between the index-whatever whatsit
+    % and the "Description." paragraph.
+    \ifnum\count255>9999 \penalty\count255 \fi
+  \else
+    % On the other hand, if we had a nonzero \lastskip,
+    % this make-up glue would be preceded by a non-discardable item
+    % (the whatsit from the \write), so we must insert a \nobreak.
+    \nobreak\vskip\skip0
+  \fi
+}
+
+% The index entry written in the file actually looks like
+%  \entry {sortstring}{page}{topic}
+% or
+%  \entry {sortstring}{page}{topic}{subtopic}
+% The texindex program reads in these files and writes files
+% containing these kinds of lines:
+%  \initial {c}
+%     before the first topic whose initial is c
+%  \entry {topic}{pagelist}
+%     for a topic that is used without subtopics
+%  \primary {topic}
+%     for the beginning of a topic that is used with subtopics
+%  \secondary {subtopic}{pagelist}
+%     for each subtopic.
+
+% Define the user-accessible indexing commands
+% @findex, @vindex, @kindex, @cindex.
+
+\def\findex {\fnindex}
+\def\kindex {\kyindex}
+\def\cindex {\cpindex}
+\def\vindex {\vrindex}
+\def\tindex {\tpindex}
+\def\pindex {\pgindex}
+
+\def\cindexsub {\begingroup\obeylines\cindexsub}
+{\obeylines %
+\gdef\cindexsub "#1" #2^^M{\endgroup %
+\dosubind{cp}{#2}{#1}}}
+
+% Define the macros used in formatting output of the sorted index material.
+
+% @printindex causes a particular index (the ??s file) to get printed.
+% It does not print any chapter heading (usually an @unnumbered).
+%
+\parseargdef\printindex{\begingroup
+  \dobreak \chapheadingskip{10000}%
+  %
+  \smallfonts \rm
+  \tolerance = 9500
+  \everypar = {}% don't want the \kern\-parindent from indentation suppression.
+  %
+  % See if the index file exists and is nonempty.
+  % Change catcode of @ here so that if the index file contains
+  % \initial {@}
+  % as its first line, TeX doesn't complain about mismatched braces
+  % (because it thinks @} is a control sequence).
+  \catcode`\@ = 11
+  \openin 1 \jobname.#1s
+  \ifeof 1
+    % \enddoublecolumns gets confused if there is no text in the index,
+    % and it loses the chapter title and the aux file entries for the
+    % index.  The easiest way to prevent this problem is to make sure
+    % there is some text.
+    \putwordIndexNonexistent
+  \else
+    %
+    % If the index file exists but is empty, then \openin leaves \ifeof
+    % false.  We have to make TeX try to read something from the file, so
+    % it can discover if there is anything in it.
+    \read 1 to \temp
+    \ifeof 1
+      \putwordIndexIsEmpty
+    \else
+      % Index files are almost Texinfo source, but we use \ as the escape
+      % character.  It would be better to use @, but that's too big a change
+      % to make right now.
+      \def\indexbackslash{\backslashcurfont}%
+      \catcode`\\ = 0
+      \escapechar = `\\
+      \begindoublecolumns
+      \input \jobname.#1s
+      \enddoublecolumns
+    \fi
+  \fi
+  \closein 1
+\endgroup}
+
+% These macros are used by the sorted index file itself.
+% Change them to control the appearance of the index.
+
+\def\initial#1{{%
+  % Some minor font changes for the special characters.
+  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
+  %
+  % Remove any glue we may have, we'll be inserting our own.
+  \removelastskip
+  %
+  % We like breaks before the index initials, so insert a bonus.
+  \nobreak
+  \vskip 0pt plus 3\baselineskip
+  \penalty 0
+  \vskip 0pt plus -3\baselineskip
+  %
+  % Typeset the initial.  Making this add up to a whole number of
+  % baselineskips increases the chance of the dots lining up from column
+  % to column.  It still won't often be perfect, because of the stretch
+  % we need before each entry, but it's better.
+  %
+  % No shrink because it confuses \balancecolumns.
+  \vskip 1.67\baselineskip plus .5\baselineskip
+  \leftline{\secbf #1}%
+  % Do our best not to break after the initial.
+  \nobreak
+  \vskip .33\baselineskip plus .1\baselineskip
+}}
+
+% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
+% then page number (#2) flushed to the right margin.  It is used for index
+% and table of contents entries.  The paragraph is indented by \leftskip.
+%
+% A straightforward implementation would start like this:
+%      \def\entry#1#2{...
+% But this frozes the catcodes in the argument, and can cause problems to
+% @code, which sets - active.  This problem was fixed by a kludge---
+% ``-'' was active throughout whole index, but this isn't really right.
+%
+% The right solution is to prevent \entry from swallowing the whole text.
+%                                 --kasal, 21nov03
+\def\entry{%
+  \begingroup
+    %
+    % Start a new paragraph if necessary, so our assignments below can't
+    % affect previous text.
+    \par
+    %
+    % Do not fill out the last line with white space.
+    \parfillskip = 0in
+    %
+    % No extra space above this paragraph.
+    \parskip = 0in
+    %
+    % Do not prefer a separate line ending with a hyphen to fewer lines.
+    \finalhyphendemerits = 0
+    %
+    % \hangindent is only relevant when the entry text and page number
+    % don't both fit on one line.  In that case, bob suggests starting the
+    % dots pretty far over on the line.  Unfortunately, a large
+    % indentation looks wrong when the entry text itself is broken across
+    % lines.  So we use a small indentation and put up with long leaders.
+    %
+    % \hangafter is reset to 1 (which is the value we want) at the start
+    % of each paragraph, so we need not do anything with that.
+    \hangindent = 2em
+    %
+    % When the entry text needs to be broken, just fill out the first line
+    % with blank space.
+    \rightskip = 0pt plus1fil
+    %
+    % A bit of stretch before each entry for the benefit of balancing
+    % columns.
+    \vskip 0pt plus1pt
+    %
+    % Swallow the left brace of the text (first parameter):
+    \afterassignment\doentry
+    \let\temp =
+}
+\def\doentry{%
+    \bgroup % Instead of the swallowed brace.
+      \noindent
+      \aftergroup\finishentry
+      % And now comes the text of the entry.
+}
+\def\finishentry#1{%
+    % #1 is the page number.
+    %
+    % The following is kludged to not output a line of dots in the index if
+    % there are no page numbers.  The next person who breaks this will be
+    % cursed by a Unix daemon.
+    \def\tempa{{\rm }}%
+    \def\tempb{#1}%
+    \edef\tempc{\tempa}%
+    \edef\tempd{\tempb}%
+    \ifx\tempc\tempd
+      \ %
+    \else
+      %
+      % If we must, put the page number on a line of its own, and fill out
+      % this line with blank space.  (The \hfil is overwhelmed with the
+      % fill leaders glue in \indexdotfill if the page number does fit.)
+      \hfil\penalty50
+      \null\nobreak\indexdotfill % Have leaders before the page number.
+      %
+      % The `\ ' here is removed by the implicit \unskip that TeX does as
+      % part of (the primitive) \par.  Without it, a spurious underfull
+      % \hbox ensues.
+      \ifpdf
+       \pdfgettoks#1.%
+       \ \the\toksA
+      \else
+       \ #1%
+      \fi
+    \fi
+    \par
+  \endgroup
+}
+
+% Like plain.tex's \dotfill, except uses up at least 1 em.
+\def\indexdotfill{\cleaders
+  \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
+
+\def\primary #1{\line{#1\hfil}}
+
+\newskip\secondaryindent \secondaryindent=0.5cm
+\def\secondary#1#2{{%
+  \parfillskip=0in
+  \parskip=0in
+  \hangindent=1in
+  \hangafter=1
+  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
+  \ifpdf
+    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
+  \else
+    #2
+  \fi
+  \par
+}}
+
+% Define two-column mode, which we use to typeset indexes.
+% Adapted from the TeXbook, page 416, which is to say,
+% the manmac.tex format used to print the TeXbook itself.
+\catcode`\@=11
+
+\newbox\partialpage
+\newdimen\doublecolumnhsize
+
+\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
+  % Grab any single-column material above us.
+  \output = {%
+    %
+    % Here is a possibility not foreseen in manmac: if we accumulate a
+    % whole lot of material, we might end up calling this \output
+    % routine twice in a row (see the doublecol-lose test, which is
+    % essentially a couple of indexes with @setchapternewpage off).  In
+    % that case we just ship out what is in \partialpage with the normal
+    % output routine.  Generally, \partialpage will be empty when this
+    % runs and this will be a no-op.  See the indexspread.tex test case.
+    \ifvoid\partialpage \else
+      \onepageout{\pagecontents\partialpage}%
+    \fi
+    %
+    \global\setbox\partialpage = \vbox{%
+      % Unvbox the main output page.
+      \unvbox\PAGE
+      \kern-\topskip \kern\baselineskip
+    }%
+  }%
+  \eject % run that output routine to set \partialpage
+  %
+  % Use the double-column output routine for subsequent pages.
+  \output = {\doublecolumnout}%
+  %
+  % Change the page size parameters.  We could do this once outside this
+  % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
+  % format, but then we repeat the same computation.  Repeating a couple
+  % of assignments once per index is clearly meaningless for the
+  % execution time, so we may as well do it in one place.
+  %
+  % First we halve the line length, less a little for the gutter between
+  % the columns.  We compute the gutter based on the line length, so it
+  % changes automatically with the paper format.  The magic constant
+  % below is chosen so that the gutter has the same value (well, +-<1pt)
+  % as it did when we hard-coded it.
+  %
+  % We put the result in a separate register, \doublecolumhsize, so we
+  % can restore it in \pagesofar, after \hsize itself has (potentially)
+  % been clobbered.
+  %
+  \doublecolumnhsize = \hsize
+    \advance\doublecolumnhsize by -.04154\hsize
+    \divide\doublecolumnhsize by 2
+  \hsize = \doublecolumnhsize
+  %
+  % Double the \vsize as well.  (We don't need a separate register here,
+  % since nobody clobbers \vsize.)
+  \vsize = 2\vsize
+}
+
+% The double-column output routine for all double-column pages except
+% the last.
+%
+\def\doublecolumnout{%
+  \splittopskip=\topskip \splitmaxdepth=\maxdepth
+  % Get the available space for the double columns -- the normal
+  % (undoubled) page height minus any material left over from the
+  % previous page.
+  \dimen@ = \vsize
+  \divide\dimen@ by 2
+  \advance\dimen@ by -\ht\partialpage
+  %
+  % box0 will be the left-hand column, box2 the right.
+  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+  \onepageout\pagesofar
+  \unvbox255
+  \penalty\outputpenalty
+}
+%
+% Re-output the contents of the output page -- any previous material,
+% followed by the two boxes we just split, in box0 and box2.
+\def\pagesofar{%
+  \unvbox\partialpage
+  %
+  \hsize = \doublecolumnhsize
+  \wd0=\hsize \wd2=\hsize
+  \hbox to\pagewidth{\box0\hfil\box2}%
+}
+%
+% All done with double columns.
+\def\enddoublecolumns{%
+  \output = {%
+    % Split the last of the double-column material.  Leave it on the
+    % current page, no automatic page break.
+    \balancecolumns
+    %
+    % If we end up splitting too much material for the current page,
+    % though, there will be another page break right after this \output
+    % invocation ends.  Having called \balancecolumns once, we do not
+    % want to call it again.  Therefore, reset \output to its normal
+    % definition right away.  (We hope \balancecolumns will never be
+    % called on to balance too much material, but if it is, this makes
+    % the output somewhat more palatable.)
+    \global\output = {\onepageout{\pagecontents\PAGE}}%
+  }%
+  \eject
+  \endgroup % started in \begindoublecolumns
+  %
+  % \pagegoal was set to the doubled \vsize above, since we restarted
+  % the current page.  We're now back to normal single-column
+  % typesetting, so reset \pagegoal to the normal \vsize (after the
+  % \endgroup where \vsize got restored).
+  \pagegoal = \vsize
+}
+%
+% Called at the end of the double column material.
+\def\balancecolumns{%
+  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+  \dimen@ = \ht0
+  \advance\dimen@ by \topskip
+  \advance\dimen@ by-\baselineskip
+  \divide\dimen@ by 2 % target to split to
+  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
+  \splittopskip = \topskip
+  % Loop until we get a decent breakpoint.
+  {%
+    \vbadness = 10000
+    \loop
+      \global\setbox3 = \copy0
+      \global\setbox1 = \vsplit3 to \dimen@
+    \ifdim\ht3>\dimen@
+      \global\advance\dimen@ by 1pt
+    \repeat
+  }%
+  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
+  \setbox0=\vbox to\dimen@{\unvbox1}%
+  \setbox2=\vbox to\dimen@{\unvbox3}%
+  %
+  \pagesofar
+}
+\catcode`\@ = \other
+
+
+\message{sectioning,}
+% Chapters, sections, etc.
+
+% \unnumberedno is an oxymoron, of course.  But we count the unnumbered
+% sections so that we can refer to them unambiguously in the pdf
+% outlines by their "section number".  We avoid collisions with chapter
+% numbers by starting them at 10000.  (If a document ever has 10000
+% chapters, we're in trouble anyway, I'm sure.)
+\newcount\unnumberedno \unnumberedno = 10000
+\newcount\chapno
+\newcount\secno        \secno=0
+\newcount\subsecno     \subsecno=0
+\newcount\subsubsecno  \subsubsecno=0
+
+% This counter is funny since it counts through charcodes of letters A, B, ...
+\newcount\appendixno  \appendixno = `\@
+%
+% \def\appendixletter{\char\the\appendixno}
+% We do the following ugly conditional instead of the above simple
+% construct for the sake of pdftex, which needs the actual
+% letter in the expansion, not just typeset.
+%
+\def\appendixletter{%
+  \ifnum\appendixno=`A A%
+  \else\ifnum\appendixno=`B B%
+  \else\ifnum\appendixno=`C C%
+  \else\ifnum\appendixno=`D D%
+  \else\ifnum\appendixno=`E E%
+  \else\ifnum\appendixno=`F F%
+  \else\ifnum\appendixno=`G G%
+  \else\ifnum\appendixno=`H H%
+  \else\ifnum\appendixno=`I I%
+  \else\ifnum\appendixno=`J J%
+  \else\ifnum\appendixno=`K K%
+  \else\ifnum\appendixno=`L L%
+  \else\ifnum\appendixno=`M M%
+  \else\ifnum\appendixno=`N N%
+  \else\ifnum\appendixno=`O O%
+  \else\ifnum\appendixno=`P P%
+  \else\ifnum\appendixno=`Q Q%
+  \else\ifnum\appendixno=`R R%
+  \else\ifnum\appendixno=`S S%
+  \else\ifnum\appendixno=`T T%
+  \else\ifnum\appendixno=`U U%
+  \else\ifnum\appendixno=`V V%
+  \else\ifnum\appendixno=`W W%
+  \else\ifnum\appendixno=`X X%
+  \else\ifnum\appendixno=`Y Y%
+  \else\ifnum\appendixno=`Z Z%
+  % The \the is necessary, despite appearances, because \appendixletter is
+  % expanded while writing the .toc file.  \char\appendixno is not
+  % expandable, thus it is written literally, thus all appendixes come out
+  % with the same letter (or @) in the toc without it.
+  \else\char\the\appendixno
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+
+% Each @chapter defines this as the name of the chapter.
+% page headings and footings can use it.  @section does likewise.
+% However, they are not reliable, because we don't use marks.
+\def\thischapter{}
+\def\thissection{}
+
+\newcount\absseclevel % used to calculate proper heading level
+\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
+
+% @raisesections: treat @section as chapter, @subsection as section, etc.
+\def\raisesections{\global\advance\secbase by -1}
+\let\up=\raisesections % original BFox name
+
+% @lowersections: treat @chapter as section, @section as subsection, etc.
+\def\lowersections{\global\advance\secbase by 1}
+\let\down=\lowersections % original BFox name
+
+% we only have subsub.
+\chardef\maxseclevel = 3
+%
+% A numbered section within an unnumbered changes to unnumbered too.
+% To achive this, remember the "biggest" unnum. sec. we are currently in:
+\chardef\unmlevel = \maxseclevel
+%
+% Trace whether the current chapter is an appendix or not:
+% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
+\def\chapheadtype{N}
+
+% Choose a heading macro
+% #1 is heading type
+% #2 is heading level
+% #3 is text for heading
+\def\genhead#1#2#3{%
+  % Compute the abs. sec. level:
+  \absseclevel=#2
+  \advance\absseclevel by \secbase
+  % Make sure \absseclevel doesn't fall outside the range:
+  \ifnum \absseclevel < 0
+    \absseclevel = 0
+  \else
+    \ifnum \absseclevel > 3
+      \absseclevel = 3
+    \fi
+  \fi
+  % The heading type:
+  \def\headtype{#1}%
+  \if \headtype U%
+    \ifnum \absseclevel < \unmlevel
+      \chardef\unmlevel = \absseclevel
+    \fi
+  \else
+    % Check for appendix sections:
+    \ifnum \absseclevel = 0
+      \edef\chapheadtype{\headtype}%
+    \else
+      \if \headtype A\if \chapheadtype N%
+       \errmessage{@appendix... within a non-appendix chapter}%
+      \fi\fi
+    \fi
+    % Check for numbered within unnumbered:
+    \ifnum \absseclevel > \unmlevel
+      \def\headtype{U}%
+    \else
+      \chardef\unmlevel = 3
+    \fi
+  \fi
+  % Now print the heading:
+  \if \headtype U%
+    \ifcase\absseclevel
+       \unnumberedzzz{#3}%
+    \or \unnumberedseczzz{#3}%
+    \or \unnumberedsubseczzz{#3}%
+    \or \unnumberedsubsubseczzz{#3}%
+    \fi
+  \else
+    \if \headtype A%
+      \ifcase\absseclevel
+         \appendixzzz{#3}%
+      \or \appendixsectionzzz{#3}%
+      \or \appendixsubseczzz{#3}%
+      \or \appendixsubsubseczzz{#3}%
+      \fi
+    \else
+      \ifcase\absseclevel
+         \chapterzzz{#3}%
+      \or \seczzz{#3}%
+      \or \numberedsubseczzz{#3}%
+      \or \numberedsubsubseczzz{#3}%
+      \fi
+    \fi
+  \fi
+  \suppressfirstparagraphindent
+}
+
+% an interface:
+\def\numhead{\genhead N}
+\def\apphead{\genhead A}
+\def\unnmhead{\genhead U}
+
+% @chapter, @appendix, @unnumbered.  Increment top-level counter, reset
+% all lower-level sectioning counters to zero.
+%
+% Also set \chaplevelprefix, which we prepend to @float sequence numbers
+% (e.g., figures), q.v.  By default (before any chapter), that is empty.
+\let\chaplevelprefix = \empty
+%
+\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
+\def\chapterzzz#1{%
+  % section resetting is \global in case the chapter is in a group, such
+  % as an @include file.
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\chapno by 1
+  %
+  % Used for \float.
+  \gdef\chaplevelprefix{\the\chapno.}%
+  \resetallfloatnos
+  %
+  \message{\putwordChapter\space \the\chapno}%
+  %
+  % Write the actual heading.
+  \chapmacro{#1}{Ynumbered}{\the\chapno}%
+  %
+  % So @section and the like are numbered underneath this chapter.
+  \global\let\section = \numberedsec
+  \global\let\subsection = \numberedsubsec
+  \global\let\subsubsection = \numberedsubsubsec
+}
+
+\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
+\def\appendixzzz#1{%
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\appendixno by 1
+  \gdef\chaplevelprefix{\appendixletter.}%
+  \resetallfloatnos
+  %
+  \def\appendixnum{\putwordAppendix\space \appendixletter}%
+  \message{\appendixnum}%
+  %
+  \chapmacro{#1}{Yappendix}{\appendixletter}%
+  %
+  \global\let\section = \appendixsec
+  \global\let\subsection = \appendixsubsec
+  \global\let\subsubsection = \appendixsubsubsec
+}
+
+\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+\def\unnumberedzzz#1{%
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\unnumberedno by 1
+  %
+  % Since an unnumbered has no number, no prefix for figures.
+  \global\let\chaplevelprefix = \empty
+  \resetallfloatnos
+  %
+  % This used to be simply \message{#1}, but TeX fully expands the
+  % argument to \message.  Therefore, if #1 contained @-commands, TeX
+  % expanded them.  For example, in `@unnumbered The @cite{Book}', TeX
+  % expanded @cite (which turns out to cause errors because \cite is meant
+  % to be executed, not expanded).
+  %
+  % Anyway, we don't want the fully-expanded definition of @cite to appear
+  % as a result of the \message, we just want `@cite' itself.  We use
+  % \the<toks register> to achieve this: TeX expands \the<toks> only once,
+  % simply yielding the contents of <toks register>.  (We also do this for
+  % the toc entries.)
+  \toks0 = {#1}%
+  \message{(\the\toks0)}%
+  %
+  \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
+  %
+  \global\let\section = \unnumberedsec
+  \global\let\subsection = \unnumberedsubsec
+  \global\let\subsubsection = \unnumberedsubsubsec
+}
+
+% @centerchap is like @unnumbered, but the heading is centered.
+\outer\parseargdef\centerchap{%
+  % Well, we could do the following in a group, but that would break
+  % an assumption that \chapmacro is called at the outermost level.
+  % Thus we are safer this way:                --kasal, 24feb04
+  \let\centerparametersmaybe = \centerparameters
+  \unnmhead0{#1}%
+  \let\centerparametersmaybe = \relax
+}
+
+% @top is like @unnumbered.
+\let\top\unnumbered
+
+% Sections.
+\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
+\def\seczzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
+}
+
+\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+\def\appendixsectionzzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
+}
+\let\appendixsec\appendixsection
+
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+\def\unnumberedseczzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
+}
+
+% Subsections.
+\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+\def\numberedsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
+}
+
+\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+\def\appendixsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Yappendix}%
+                 {\appendixletter.\the\secno.\the\subsecno}%
+}
+
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+\def\unnumberedsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Ynothing}%
+                 {\the\unnumberedno.\the\secno.\the\subsecno}%
+}
+
+% Subsubsections.
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+\def\numberedsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Ynumbered}%
+                 {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+\def\appendixsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Yappendix}%
+                 {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+\def\unnumberedsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Ynothing}%
+                 {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+% These macros control what the section commands do, according
+% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
+% Define them by default for a numbered chapter.
+\let\section = \numberedsec
+\let\subsection = \numberedsubsec
+\let\subsubsection = \numberedsubsubsec
+
+% Define @majorheading, @heading and @subheading
+
+% NOTE on use of \vbox for chapter headings, section headings, and such:
+%       1) We use \vbox rather than the earlier \line to permit
+%          overlong headings to fold.
+%       2) \hyphenpenalty is set to 10000 because hyphenation in a
+%          heading is obnoxious; this forbids it.
+%       3) Likewise, headings look best if no \parindent is used, and
+%          if justification is not attempted.  Hence \raggedright.
+
+
+\def\majorheading{%
+  {\advance\chapheadingskip by 10pt \chapbreak }%
+  \parsearg\chapheadingzzz
+}
+
+\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
+\def\chapheadingzzz#1{%
+  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                    \parindent=0pt\raggedright
+                    \rm #1\hfill}}%
+  \bigskip \par\penalty 200\relax
+  \suppressfirstparagraphindent
+}
+
+% @heading, @subheading, @subsubheading.
+\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+
+% These macros generate a chapter, section, etc. heading only
+% (including whitespace, linebreaking, etc. around it),
+% given all the information in convenient, parsed form.
+
+%%% Args are the skip and penalty (usually negative)
+\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
+
+%%% Define plain chapter starts, and page on/off switching for it
+% Parameter controlling skip before chapter headings (if needed)
+
+\newskip\chapheadingskip
+
+\def\chapbreak{\dobreak \chapheadingskip {-4000}}
+\def\chappager{\par\vfill\supereject}
+\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
+
+\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+
+\def\CHAPPAGoff{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chapbreak
+\global\let\pagealignmacro=\chappager}
+
+\def\CHAPPAGon{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chappager
+\global\let\pagealignmacro=\chappager
+\global\def\HEADINGSon{\HEADINGSsingle}}
+
+\def\CHAPPAGodd{%
+\global\let\contentsalignmacro = \chapoddpage
+\global\let\pchapsepmacro=\chapoddpage
+\global\let\pagealignmacro=\chapoddpage
+\global\def\HEADINGSon{\HEADINGSdouble}}
+
+\CHAPPAGon
+
+% Chapter opening.
+%
+% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
+% Yappendix, Yomitfromtoc), #3 the chapter number.
+%
+% To test against our argument.
+\def\Ynothingkeyword{Ynothing}
+\def\Yomitfromtockeyword{Yomitfromtoc}
+\def\Yappendixkeyword{Yappendix}
+%
+\def\chapmacro#1#2#3{%
+  \pchapsepmacro
+  {%
+    \chapfonts \rm
+    %
+    % Have to define \thissection before calling \donoderef, because the
+    % xref code eventually uses it.  On the other hand, it has to be called
+    % after \pchapsepmacro, or the headline will change too soon.
+    \gdef\thissection{#1}%
+    \gdef\thischaptername{#1}%
+    %
+    % Only insert the separating space if we have a chapter/appendix
+    % number, and don't print the unnumbered ``number''.
+    \def\temptype{#2}%
+    \ifx\temptype\Ynothingkeyword
+      \setbox0 = \hbox{}%
+      \def\toctype{unnchap}%
+      \gdef\thischapternum{}%
+      \gdef\thischapter{#1}%
+    \else\ifx\temptype\Yomitfromtockeyword
+      \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
+      \def\toctype{omit}%
+      \gdef\thischapternum{}%
+      \gdef\thischapter{}%
+    \else\ifx\temptype\Yappendixkeyword
+      \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
+      \def\toctype{app}%
+      \xdef\thischapternum{\appendixletter}%
+      % We don't substitute the actual chapter name into \thischapter
+      % because we don't want its macros evaluated now.  And we don't
+      % use \thissection because that changes with each section.
+      %
+      \xdef\thischapter{\putwordAppendix{} \appendixletter:
+                        \noexpand\thischaptername}%
+    \else
+      \setbox0 = \hbox{#3\enspace}%
+      \def\toctype{numchap}%
+      \xdef\thischapternum{\the\chapno}%
+      \xdef\thischapter{\putwordChapter{} \the\chapno:
+                        \noexpand\thischaptername}%
+    \fi\fi\fi
+    %
+    % Write the toc entry for this chapter.  Must come before the
+    % \donoderef, because we include the current node name in the toc
+    % entry, and \donoderef resets it to empty.
+    \writetocentry{\toctype}{#1}{#3}%
+    %
+    % For pdftex, we have to write out the node definition (aka, make
+    % the pdfdest) after any page break, but before the actual text has
+    % been typeset.  If the destination for the pdf outline is after the
+    % text, then jumping from the outline may wind up with the text not
+    % being visible, for instance under high magnification.
+    \donoderef{#2}%
+    %
+    % Typeset the actual heading.
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+          \hangindent=\wd0 \centerparametersmaybe
+          \unhbox0 #1\par}%
+  }%
+  \nobreak\bigskip % no page break after a chapter title
+  \nobreak
+}
+
+% @centerchap -- centered and unnumbered.
+\let\centerparametersmaybe = \relax
+\def\centerparameters{%
+  \advance\rightskip by 3\rightskip
+  \leftskip = \rightskip
+  \parfillskip = 0pt
+}
+
+
+% I don't think this chapter style is supported any more, so I'm not
+% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
+%
+\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
+%
+\def\unnchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt\raggedright
+                       \rm #1\hfill}}\bigskip \par\nobreak
+}
+\def\chfopen #1#2{\chapoddpage {\chapfonts
+\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
+\par\penalty 5000 %
+}
+\def\centerchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt
+                       \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+}
+\def\CHAPFopen{%
+  \global\let\chapmacro=\chfopen
+  \global\let\centerchapmacro=\centerchfopen}
+
+
+% Section titles.  These macros combine the section number parts and
+% call the generic \sectionheading to do the printing.
+%
+\newskip\secheadingskip
+\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
+
+% Subsection titles.
+\newskip\subsecheadingskip
+\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
+
+% Subsubsection titles.
+\def\subsubsecheadingskip{\subsecheadingskip}
+\def\subsubsecheadingbreak{\subsecheadingbreak}
+
+
+% Print any size, any type, section title.
+%
+% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
+% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
+% section number.
+%
+\def\sectionheading#1#2#3#4{%
+  {%
+    % Switch to the right set of fonts.
+    \csname #2fonts\endcsname \rm
+    %
+    % Insert space above the heading.
+    \csname #2headingbreak\endcsname
+    %
+    % Only insert the space after the number if we have a section number.
+    \def\sectionlevel{#2}%
+    \def\temptype{#3}%
+    %
+    \ifx\temptype\Ynothingkeyword
+      \setbox0 = \hbox{}%
+      \def\toctype{unn}%
+      \gdef\thissection{#1}%
+    \else\ifx\temptype\Yomitfromtockeyword
+      % for @headings -- no section number, don't include in toc,
+      % and don't redefine \thissection.
+      \setbox0 = \hbox{}%
+      \def\toctype{omit}%
+      \let\sectionlevel=\empty
+    \else\ifx\temptype\Yappendixkeyword
+      \setbox0 = \hbox{#4\enspace}%
+      \def\toctype{app}%
+      \gdef\thissection{#1}%
+    \else
+      \setbox0 = \hbox{#4\enspace}%
+      \def\toctype{num}%
+      \gdef\thissection{#1}%
+    \fi\fi\fi
+    %
+    % Write the toc entry (before \donoderef).  See comments in \chapmacro.
+    \writetocentry{\toctype\sectionlevel}{#1}{#4}%
+    %
+    % Write the node reference (= pdf destination for pdftex).
+    % Again, see comments in \chapmacro.
+    \donoderef{#3}%
+    %
+    % Interline glue will be inserted when the vbox is completed.
+    % That glue will be a valid breakpoint for the page, since it'll be
+    % preceded by a whatsit (usually from the \donoderef, or from the
+    % \writetocentry if there was no node).  We don't want to allow that
+    % break, since then the whatsits could end up on page n while the
+    % section is on page n+1, thus toc/etc. are wrong.  Debian bug 276000.
+    \nobreak
+    %
+    % Output the actual section heading.
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+          \hangindent=\wd0  % zero if no section number
+          \unhbox0 #1}%
+  }%
+  % Add extra space after the heading -- half of whatever came above it.
+  % Don't allow stretch, though.
+  \kern .5 \csname #2headingskip\endcsname
+  %
+  % Do not let the kern be a potential breakpoint, as it would be if it
+  % was followed by glue.
+  \nobreak
+  %
+  % We'll almost certainly start a paragraph next, so don't let that
+  % glue accumulate.  (Not a breakpoint because it's preceded by a
+  % discardable item.)
+  \vskip-\parskip
+  % 
+  % This is purely so the last item on the list is a known \penalty >
+  % 10000.  This is so \startdefun can avoid allowing breakpoints after
+  % section headings.  Otherwise, it would insert a valid breakpoint between:
+  % 
+  %   @section sec-whatever
+  %   @deffn def-whatever
+  \penalty 10001
+}
+
+
+\message{toc,}
+% Table of contents.
+\newwrite\tocfile
+
+% Write an entry to the toc file, opening it if necessary.
+% Called from @chapter, etc.
+%
+% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
+% We append the current node name (if any) and page number as additional
+% arguments for the \{chap,sec,...}entry macros which will eventually
+% read this.  The node name is used in the pdf outlines as the
+% destination to jump to.
+%
+% We open the .toc file for writing here instead of at @setfilename (or
+% any other fixed time) so that @contents can be anywhere in the document.
+% But if #1 is `omit', then we don't do anything.  This is used for the
+% table of contents chapter openings themselves.
+%
+\newif\iftocfileopened
+\def\omitkeyword{omit}%
+%
+\def\writetocentry#1#2#3{%
+  \edef\writetoctype{#1}%
+  \ifx\writetoctype\omitkeyword \else
+    \iftocfileopened\else
+      \immediate\openout\tocfile = \jobname.toc
+      \global\tocfileopenedtrue
+    \fi
+    %
+    \iflinks
+      {\atdummies
+       \edef\temp{%
+         \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
+       \temp
+      }%
+    \fi
+  \fi
+  %
+  % Tell \shipout to create a pdf destination on each page, if we're
+  % writing pdf.  These are used in the table of contents.  We can't
+  % just write one on every page because the title pages are numbered
+  % 1 and 2 (the page numbers aren't printed), and so are the first
+  % two pages of the document.  Thus, we'd have two destinations named
+  % `1', and two named `2'.
+  \ifpdf \global\pdfmakepagedesttrue \fi
+}
+
+
+% These characters do not print properly in the Computer Modern roman
+% fonts, so we must take special care.  This is more or less redundant
+% with the Texinfo input format setup at the end of this file.
+% 
+\def\activecatcodes{%
+  \catcode`\"=\active
+  \catcode`\$=\active
+  \catcode`\<=\active
+  \catcode`\>=\active
+  \catcode`\\=\active
+  \catcode`\^=\active
+  \catcode`\_=\active
+  \catcode`\|=\active
+  \catcode`\~=\active
+}
+
+
+% Read the toc file, which is essentially Texinfo input.
+\def\readtocfile{%
+  \setupdatafile
+  \activecatcodes
+  \input \jobname.toc
+}
+
+\newskip\contentsrightmargin \contentsrightmargin=1in
+\newcount\savepageno
+\newcount\lastnegativepageno \lastnegativepageno = -1
+
+% Prepare to read what we've written to \tocfile.
+%
+\def\startcontents#1{%
+  % If @setchapternewpage on, and @headings double, the contents should
+  % start on an odd page, unlike chapters.  Thus, we maintain
+  % \contentsalignmacro in parallel with \pagealignmacro.
+  % From: Torbjorn Granlund <tege@matematik.su.se>
+  \contentsalignmacro
+  \immediate\closeout\tocfile
+  %
+  % Don't need to put `Contents' or `Short Contents' in the headline.
+  % It is abundantly clear what they are.
+  \def\thischapter{}%
+  \chapmacro{#1}{Yomitfromtoc}{}%
+  %
+  \savepageno = \pageno
+  \begingroup                  % Set up to handle contents files properly.
+    \raggedbottom              % Worry more about breakpoints than the bottom.
+    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+    %
+    % Roman numerals for page numbers.
+    \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
+}
+
+
+% Normal (long) toc.
+\def\contents{%
+  \startcontents{\putwordTOC}%
+    \openin 1 \jobname.toc
+    \ifeof 1 \else
+      \readtocfile
+    \fi
+    \vfill \eject
+    \contentsalignmacro % in case @setchapternewpage odd is in effect
+    \ifeof 1 \else
+      \pdfmakeoutlines
+    \fi
+    \closein 1
+  \endgroup
+  \lastnegativepageno = \pageno
+  \global\pageno = \savepageno
+}
+
+% And just the chapters.
+\def\summarycontents{%
+  \startcontents{\putwordShortTOC}%
+    %
+    \let\numchapentry = \shortchapentry
+    \let\appentry = \shortchapentry
+    \let\unnchapentry = \shortunnchapentry
+    % We want a true roman here for the page numbers.
+    \secfonts
+    \let\rm=\shortcontrm \let\bf=\shortcontbf
+    \let\sl=\shortcontsl \let\tt=\shortconttt
+    \rm
+    \hyphenpenalty = 10000
+    \advance\baselineskip by 1pt % Open it up a little.
+    \def\numsecentry##1##2##3##4{}
+    \let\appsecentry = \numsecentry
+    \let\unnsecentry = \numsecentry
+    \let\numsubsecentry = \numsecentry
+    \let\appsubsecentry = \numsecentry
+    \let\unnsubsecentry = \numsecentry
+    \let\numsubsubsecentry = \numsecentry
+    \let\appsubsubsecentry = \numsecentry
+    \let\unnsubsubsecentry = \numsecentry
+    \openin 1 \jobname.toc
+    \ifeof 1 \else
+      \readtocfile
+    \fi
+    \closein 1
+    \vfill \eject
+    \contentsalignmacro % in case @setchapternewpage odd is in effect
+  \endgroup
+  \lastnegativepageno = \pageno
+  \global\pageno = \savepageno
+}
+\let\shortcontents = \summarycontents
+
+% Typeset the label for a chapter or appendix for the short contents.
+% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
+%
+\def\shortchaplabel#1{%
+  % This space should be enough, since a single number is .5em, and the
+  % widest letter (M) is 1em, at least in the Computer Modern fonts.
+  % But use \hss just in case.
+  % (This space doesn't include the extra space that gets added after
+  % the label; that gets put in by \shortchapentry above.)
+  %
+  % We'd like to right-justify chapter numbers, but that looks strange
+  % with appendix letters.  And right-justifying numbers and
+  % left-justifying letters looks strange when there is less than 10
+  % chapters.  Have to read the whole toc once to know how many chapters
+  % there are before deciding ...
+  \hbox to 1em{#1\hss}%
+}
+
+% These macros generate individual entries in the table of contents.
+% The first argument is the chapter or section name.
+% The last argument is the page number.
+% The arguments in between are the chapter number, section number, ...
+
+% Chapters, in the main contents.
+\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
+%
+% Chapters, in the short toc.
+% See comments in \dochapentry re vbox and related settings.
+\def\shortchapentry#1#2#3#4{%
+  \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
+}
+
+% Appendices, in the main contents.
+% Need the word Appendix, and a fixed-size box.
+%
+\def\appendixbox#1{%
+  % We use M since it's probably the widest letter.
+  \setbox0 = \hbox{\putwordAppendix{} M}%
+  \hbox to \wd0{\putwordAppendix{} #1\hss}}
+%
+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
+
+% Unnumbered chapters.
+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
+
+% Sections.
+\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
+\let\appsecentry=\numsecentry
+\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
+
+% Subsections.
+\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsecentry=\numsubsecentry
+\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
+
+% And subsubsections.
+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsubsecentry=\numsubsubsecentry
+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
+
+% This parameter controls the indentation of the various levels.
+% Same as \defaultparindent.
+\newdimen\tocindent \tocindent = 15pt
+
+% Now for the actual typesetting. In all these, #1 is the text and #2 is the
+% page number.
+%
+% If the toc has to be broken over pages, we want it to be at chapters
+% if at all possible; hence the \penalty.
+\def\dochapentry#1#2{%
+   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+   \begingroup
+     \chapentryfonts
+     \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+   \endgroup
+   \nobreak\vskip .25\baselineskip plus.1\baselineskip
+}
+
+\def\dosecentry#1#2{\begingroup
+  \secentryfonts \leftskip=\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsecentry#1#2{\begingroup
+  \subsecentryfonts \leftskip=2\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsubsecentry#1#2{\begingroup
+  \subsubsecentryfonts \leftskip=3\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+% We use the same \entry macro as for the index entries.
+\let\tocentry = \entry
+
+% Space between chapter (or whatever) number and the title.
+\def\labelspace{\hskip1em \relax}
+
+\def\dopageno#1{{\rm #1}}
+\def\doshortpageno#1{{\rm #1}}
+
+\def\chapentryfonts{\secfonts \rm}
+\def\secentryfonts{\textfonts}
+\def\subsecentryfonts{\textfonts}
+\def\subsubsecentryfonts{\textfonts}
+
+
+\message{environments,}
+% @foo ... @end foo.
+
+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
+%
+% Since these characters are used in examples, it should be an even number of
+% \tt widths. Each \tt character is 1en, so two makes it 1em.
+%
+\def\point{$\star$}
+\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
+\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+
+% The @error{} command.
+% Adapted from the TeXbook's \boxit.
+%
+\newbox\errorbox
+%
+{\tentt \global\dimen0 = 3em}% Width of the box.
+\dimen2 = .55pt % Thickness of rules
+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
+\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+%
+\setbox\errorbox=\hbox to \dimen0{\hfil
+   \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
+   \advance\hsize by -2\dimen2 % Rules.
+   \vbox{%
+      \hrule height\dimen2
+      \hbox{\vrule width\dimen2 \kern3pt          % Space to left of text.
+         \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
+         \kern3pt\vrule width\dimen2}% Space to right.
+      \hrule height\dimen2}
+    \hfil}
+%
+\def\error{\leavevmode\lower.7ex\copy\errorbox}
+
+% @tex ... @end tex    escapes into raw Tex temporarily.
+% One exception: @ is still an escape character, so that @end tex works.
+% But \@ or @@ will get a plain tex @ character.
+
+\envdef\tex{%
+  \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
+  \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
+  \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
+  \catcode `\%=14
+  \catcode `\+=\other
+  \catcode `\"=\other
+  \catcode `\|=\other
+  \catcode `\<=\other
+  \catcode `\>=\other
+  \escapechar=`\\
+  %
+  \let\b=\ptexb
+  \let\bullet=\ptexbullet
+  \let\c=\ptexc
+  \let\,=\ptexcomma
+  \let\.=\ptexdot
+  \let\dots=\ptexdots
+  \let\equiv=\ptexequiv
+  \let\!=\ptexexclam
+  \let\i=\ptexi
+  \let\indent=\ptexindent
+  \let\noindent=\ptexnoindent
+  \let\{=\ptexlbrace
+  \let\+=\tabalign
+  \let\}=\ptexrbrace
+  \let\/=\ptexslash
+  \let\*=\ptexstar
+  \let\t=\ptext
+  \let\frenchspacing=\plainfrenchspacing
+  %
+  \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
+  \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
+  \def\@{@}%
+}
+% There is no need to define \Etex.
+
+% Define @lisp ... @end lisp.
+% @lisp environment forms a group so it can rebind things,
+% including the definition of @end lisp (which normally is erroneous).
+
+% Amount to narrow the margins by for @lisp.
+\newskip\lispnarrowing \lispnarrowing=0.4in
+
+% This is the definition that ^^M gets inside @lisp, @example, and other
+% such environments.  \null is better than a space, since it doesn't
+% have any width.
+\def\lisppar{\null\endgraf}
+
+% This space is always present above and below environments.
+\newskip\envskipamount \envskipamount = 0pt
+
+% Make spacing and below environment symmetrical.  We use \parskip here
+% to help in doing that, since in @example-like environments \parskip
+% is reset to zero; thus the \afterenvbreak inserts no space -- but the
+% start of the next paragraph will insert \parskip.
+%
+\def\aboveenvbreak{{%
+  % =10000 instead of <10000 because of a special case in \itemzzz and
+  % \sectionheading, q.v.
+  \ifnum \lastpenalty=10000 \else
+    \advance\envskipamount by \parskip
+    \endgraf
+    \ifdim\lastskip<\envskipamount
+      \removelastskip
+      % it's not a good place to break if the last penalty was \nobreak
+      % or better ...
+      \ifnum\lastpenalty<10000 \penalty-50 \fi
+      \vskip\envskipamount
+    \fi
+  \fi
+}}
+
+\let\afterenvbreak = \aboveenvbreak
+
+% \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins; it will
+% also clear it, so that its embedded environments do the narrowing again.
+\let\nonarrowing=\relax
+
+% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
+% environment contents.
+\font\circle=lcircle10
+\newdimen\circthick
+\newdimen\cartouter\newdimen\cartinner
+\newskip\normbskip\newskip\normpskip\newskip\normlskip
+\circthick=\fontdimen8\circle
+%
+\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
+\def\ctr{{\hskip 6pt\circle\char'010}}
+\def\cbl{{\circle\char'012\hskip -6pt}}
+\def\cbr{{\hskip 6pt\circle\char'011}}
+\def\carttop{\hbox to \cartouter{\hskip\lskip
+        \ctl\leaders\hrule height\circthick\hfil\ctr
+        \hskip\rskip}}
+\def\cartbot{\hbox to \cartouter{\hskip\lskip
+        \cbl\leaders\hrule height\circthick\hfil\cbr
+        \hskip\rskip}}
+%
+\newskip\lskip\newskip\rskip
+
+\envdef\cartouche{%
+  \ifhmode\par\fi  % can't be in the midst of a paragraph.
+  \startsavinginserts
+  \lskip=\leftskip \rskip=\rightskip
+  \leftskip=0pt\rightskip=0pt % we want these *outside*.
+  \cartinner=\hsize \advance\cartinner by-\lskip
+  \advance\cartinner by-\rskip
+  \cartouter=\hsize
+  \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+                               % side, and for 6pt waste from
+                               % each corner char, and rule thickness
+  \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
+  % Flag to tell @lisp, etc., not to narrow margin.
+  \let\nonarrowing = t%
+  \vbox\bgroup
+      \baselineskip=0pt\parskip=0pt\lineskip=0pt
+      \carttop
+      \hbox\bgroup
+         \hskip\lskip
+         \vrule\kern3pt
+         \vbox\bgroup
+             \kern3pt
+             \hsize=\cartinner
+             \baselineskip=\normbskip
+             \lineskip=\normlskip
+             \parskip=\normpskip
+             \vskip -\parskip
+             \comment % For explanation, see the end of \def\group.
+}
+\def\Ecartouche{%
+              \ifhmode\par\fi
+             \kern3pt
+         \egroup
+         \kern3pt\vrule
+         \hskip\rskip
+      \egroup
+      \cartbot
+  \egroup
+  \checkinserts
+}
+
+
+% This macro is called at the beginning of all the @example variants,
+% inside a group.
+\def\nonfillstart{%
+  \aboveenvbreak
+  \hfuzz = 12pt % Don't be fussy
+  \sepspaces % Make spaces be word-separators rather than space tokens.
+  \let\par = \lisppar % don't ignore blank lines
+  \obeylines % each line of input is a line of output
+  \parskip = 0pt
+  \parindent = 0pt
+  \emergencystretch = 0pt % don't try to avoid overfull boxes
+  \ifx\nonarrowing\relax
+    \advance \leftskip by \lispnarrowing
+    \exdentamount=\lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+  \let\exdent=\nofillexdent
+}
+
+% If you want all examples etc. small: @set dispenvsize small.
+% If you want even small examples the full size: @set dispenvsize nosmall.
+% This affects the following displayed environments:
+%    @example, @display, @format, @lisp
+%
+\def\smallword{small}
+\def\nosmallword{nosmall}
+\let\SETdispenvsize\relax
+\def\setnormaldispenv{%
+  \ifx\SETdispenvsize\smallword
+    \smallexamplefonts \rm
+  \fi
+}
+\def\setsmalldispenv{%
+  \ifx\SETdispenvsize\nosmallword
+  \else
+    \smallexamplefonts \rm
+  \fi
+}
+
+% We often define two environments, @foo and @smallfoo.
+% Let's do it by one command:
+\def\makedispenv #1#2{
+  \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
+  \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
+  \expandafter\let\csname E#1\endcsname \afterenvbreak
+  \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
+}
+
+% Define two synonyms:
+\def\maketwodispenvs #1#2#3{
+  \makedispenv{#1}{#3}
+  \makedispenv{#2}{#3}
+}
+
+% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
+%
+% @smallexample and @smalllisp: use smaller fonts.
+% Originally contributed by Pavel@xerox.
+%
+\maketwodispenvs {lisp}{example}{%
+  \nonfillstart
+  \tt\quoteexpand
+  \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
+  \gobble       % eat return
+}
+% @display/@smalldisplay: same as @lisp except keep current font.
+%
+\makedispenv {display}{%
+  \nonfillstart
+  \gobble
+}
+
+% @format/@smallformat: same as @display except don't narrow margins.
+%
+\makedispenv{format}{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \gobble
+}
+
+% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
+\envdef\flushleft{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \gobble
+}
+\let\Eflushleft = \afterenvbreak
+
+% @flushright.
+%
+\envdef\flushright{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \advance\leftskip by 0pt plus 1fill
+  \gobble
+}
+\let\Eflushright = \afterenvbreak
+
+
+% @quotation does normal linebreaking (hence we can't use \nonfillstart)
+% and narrows the margins.  We keep \parskip nonzero in general, since
+% we're doing normal filling.  So, when using \aboveenvbreak and
+% \afterenvbreak, temporarily make \parskip 0.
+%
+\envdef\quotation{%
+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+  \parindent=0pt
+  %
+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \ifx\nonarrowing\relax
+    \advance\leftskip by \lispnarrowing
+    \advance\rightskip by \lispnarrowing
+    \exdentamount = \lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+  \parsearg\quotationlabel
+}
+
+% We have retained a nonzero parskip for the environment, since we're
+% doing normal filling.
+%
+\def\Equotation{%
+  \par
+  \ifx\quotationauthor\undefined\else
+    % indent a bit.
+    \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
+  \fi
+  {\parskip=0pt \afterenvbreak}%
+}
+
+% If we're given an argument, typeset it in bold with a colon after.
+\def\quotationlabel#1{%
+  \def\temp{#1}%
+  \ifx\temp\empty \else
+    {\bf #1: }%
+  \fi
+}
+
+
+% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
+% If we want to allow any <char> as delimiter,
+% we need the curly braces so that makeinfo sees the @verb command, eg:
+% `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
+%
+% [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
+%
+% [Knuth] p.344; only we need to do the other characters Texinfo sets
+% active too.  Otherwise, they get lost as the first character on a
+% verbatim line.
+\def\dospecials{%
+  \do\ \do\\\do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
+  \do\<\do\>\do\|\do\@\do+\do\"%
+}
+%
+% [Knuth] p. 380
+\def\uncatcodespecials{%
+  \def\do##1{\catcode`##1=\other}\dospecials}
+%
+% [Knuth] pp. 380,381,391
+% Disable Spanish ligatures ?` and !` of \tt font
+\begingroup
+  \catcode`\`=\active\gdef`{\relax\lq}
+\endgroup
+%
+% Setup for the @verb command.
+%
+% Eight spaces for a tab
+\begingroup
+  \catcode`\^^I=\active
+  \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
+\endgroup
+%
+\def\setupverb{%
+  \tt  % easiest (and conventionally used) font for verbatim
+  \def\par{\leavevmode\endgraf}%
+  \catcode`\`=\active
+  \tabeightspaces
+  % Respect line breaks,
+  % print special symbols as themselves, and
+  % make each space count
+  % must do in this order:
+  \obeylines \uncatcodespecials \sepspaces
+}
+
+% Setup for the @verbatim environment
+%
+% Real tab expansion
+\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
+%
+\def\starttabbox{\setbox0=\hbox\bgroup}
+
+% Allow an option to not replace quotes with a regular directed right
+% quote/apostrophe (char 0x27), but instead use the undirected quote
+% from cmtt (char 0x0d).  The undirected quote is ugly, so don't make it
+% the default, but it works for pasting with more pdf viewers (at least
+% evince), the lilypond developers report.  xpdf does work with the
+% regular 0x27.  
+% 
+\def\codequoteright{%
+  \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+    '%
+  \else
+    \char'15
+  \fi
+}
+%
+% and a similar option for the left quote char vs. a grave accent.
+% Modern fonts display ASCII 0x60 as a grave accent, so some people like
+% the code environments to do likewise.
+% 
+\def\codequoteleft{%
+  \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+    `%
+  \else
+    \char'22
+  \fi
+}
+%
+\begingroup
+  \catcode`\^^I=\active
+  \gdef\tabexpand{%
+    \catcode`\^^I=\active
+    \def^^I{\leavevmode\egroup
+      \dimen0=\wd0 % the width so far, or since the previous tab
+      \divide\dimen0 by\tabw
+      \multiply\dimen0 by\tabw % compute previous multiple of \tabw
+      \advance\dimen0 by\tabw  % advance to next multiple of \tabw
+      \wd0=\dimen0 \box0 \starttabbox
+    }%
+  }
+  \catcode`\'=\active
+  \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}%
+  %
+  \catcode`\`=\active
+  \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}%
+  %
+  \gdef\quoteexpand{\rquoteexpand \lquoteexpand}%
+\endgroup
+
+% start the verbatim environment.
+\def\setupverbatim{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  % Easiest (and conventionally used) font for verbatim
+  \tt
+  \def\par{\leavevmode\egroup\box0\endgraf}%
+  \catcode`\`=\active
+  \tabexpand
+  \quoteexpand
+  % Respect line breaks,
+  % print special symbols as themselves, and
+  % make each space count
+  % must do in this order:
+  \obeylines \uncatcodespecials \sepspaces
+  \everypar{\starttabbox}%
+}
+
+% Do the @verb magic: verbatim text is quoted by unique
+% delimiter characters.  Before first delimiter expect a
+% right brace, after last delimiter expect closing brace:
+%
+%    \def\doverb'{'<char>#1<char>'}'{#1}
+%
+% [Knuth] p. 382; only eat outer {}
+\begingroup
+  \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
+  \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
+\endgroup
+%
+\def\verb{\begingroup\setupverb\doverb}
+%
+%
+% Do the @verbatim magic: define the macro \doverbatim so that
+% the (first) argument ends when '@end verbatim' is reached, ie:
+%
+%     \def\doverbatim#1@end verbatim{#1}
+%
+% For Texinfo it's a lot easier than for LaTeX,
+% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
+% we need not redefine '\', '{' and '}'.
+%
+% Inspired by LaTeX's verbatim command set [latex.ltx]
+%
+\begingroup
+  \catcode`\ =\active
+  \obeylines %
+  % ignore everything up to the first ^^M, that's the newline at the end
+  % of the @verbatim input line itself.  Otherwise we get an extra blank
+  % line in the output.
+  \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
+  % We really want {...\end verbatim} in the body of the macro, but
+  % without the active space; thus we have to use \xdef and \gobble.
+\endgroup
+%
+\envdef\verbatim{%
+    \setupverbatim\doverbatim
+}
+\let\Everbatim = \afterenvbreak
+
+
+% @verbatiminclude FILE - insert text of file in verbatim environment.
+%
+\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
+%
+\def\doverbatiminclude#1{%
+  {%
+    \makevalueexpandable
+    \setupverbatim
+    \input #1
+    \afterenvbreak
+  }%
+}
+
+% @copying ... @end copying.
+% Save the text away for @insertcopying later.
+%
+% We save the uninterpreted tokens, rather than creating a box.
+% Saving the text in a box would be much easier, but then all the
+% typesetting commands (@smallbook, font changes, etc.) have to be done
+% beforehand -- and a) we want @copying to be done first in the source
+% file; b) letting users define the frontmatter in as flexible order as
+% possible is very desirable.
+%
+\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
+\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+%
+\def\insertcopying{%
+  \begingroup
+    \parindent = 0pt  % paragraph indentation looks wrong on title page
+    \scanexp\copyingtext
+  \endgroup
+}
+
+\message{defuns,}
+% @defun etc.
+
+\newskip\defbodyindent \defbodyindent=.4in
+\newskip\defargsindent \defargsindent=50pt
+\newskip\deflastargmargin \deflastargmargin=18pt
+
+% Start the processing of @deffn:
+\def\startdefun{%
+  \ifnum\lastpenalty<10000
+    \medbreak
+  \else
+    % If there are two @def commands in a row, we'll have a \nobreak,
+    % which is there to keep the function description together with its
+    % header.  But if there's nothing but headers, we need to allow a
+    % break somewhere.  Check specifically for penalty 10002, inserted
+    % by \defargscommonending, instead of 10000, since the sectioning
+    % commands also insert a nobreak penalty, and we don't want to allow
+    % a break between a section heading and a defun.
+    % 
+    \ifnum\lastpenalty=10002 \penalty2000 \fi
+    %
+    % Similarly, after a section heading, do not allow a break.
+    % But do insert the glue.
+    \medskip  % preceded by discardable penalty, so not a breakpoint
+  \fi
+  %
+  \parindent=0in
+  \advance\leftskip by \defbodyindent
+  \exdentamount=\defbodyindent
+}
+
+\def\dodefunx#1{%
+  % First, check whether we are in the right environment:
+  \checkenv#1%
+  %
+  % As above, allow line break if we have multiple x headers in a row.
+  % It's not a great place, though.
+  \ifnum\lastpenalty=10002 \penalty3000 \fi
+  %
+  % And now, it's time to reuse the body of the original defun:
+  \expandafter\gobbledefun#1%
+}
+\def\gobbledefun#1\startdefun{}
+
+% \printdefunline \deffnheader{text}
+%
+\def\printdefunline#1#2{%
+  \begingroup
+    % call \deffnheader:
+    #1#2 \endheader
+    % common ending:
+    \interlinepenalty = 10000
+    \advance\rightskip by 0pt plus 1fil
+    \endgraf
+    \nobreak\vskip -\parskip
+    \penalty 10002  % signal to \startdefun and \dodefunx
+    % Some of the @defun-type tags do not enable magic parentheses,
+    % rendering the following check redundant.  But we don't optimize.
+    \checkparencounts
+  \endgroup
+}
+
+\def\Edefun{\endgraf\medbreak}
+
+% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
+% the only thing remainnig is to define \deffnheader.
+%
+\def\makedefun#1{%
+  \expandafter\let\csname E#1\endcsname = \Edefun
+  \edef\temp{\noexpand\domakedefun
+    \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
+  \temp
+}
+
+% \domakedefun \deffn \deffnx \deffnheader
+%
+% Define \deffn and \deffnx, without parameters.
+% \deffnheader has to be defined explicitly.
+%
+\def\domakedefun#1#2#3{%
+  \envdef#1{%
+    \startdefun
+    \parseargusing\activeparens{\printdefunline#3}%
+  }%
+  \def#2{\dodefunx#1}%
+  \def#3%
+}
+
+%%% Untyped functions:
+
+% @deffn category name args
+\makedefun{deffn}{\deffngeneral{}}
+
+% @deffn category class name args
+\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
+
+% \defopon {category on}class name args
+\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deffngeneral {subind}category name args
+%
+\def\deffngeneral#1#2 #3 #4\endheader{%
+  % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
+  \dosubind{fn}{\code{#3}}{#1}%
+  \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
+}
+
+%%% Typed functions:
+
+% @deftypefn category type name args
+\makedefun{deftypefn}{\deftypefngeneral{}}
+
+% @deftypeop category class type name args
+\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
+
+% \deftypeopon {category on}class type name args
+\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypefngeneral {subind}category type name args
+%
+\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
+  \dosubind{fn}{\code{#4}}{#1}%
+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+}
+
+%%% Typed variables:
+
+% @deftypevr category type var args
+\makedefun{deftypevr}{\deftypecvgeneral{}}
+
+% @deftypecv category class type var args
+\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
+
+% \deftypecvof {category of}class type var args
+\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypecvgeneral {subind}category type var args
+%
+\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
+  \dosubind{vr}{\code{#4}}{#1}%
+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+}
+
+%%% Untyped variables:
+
+% @defvr category var args
+\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
+
+% @defcv category class var args
+\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
+
+% \defcvof {category of}class var args
+\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
+
+%%% Type:
+% @deftp category name args
+\makedefun{deftp}#1 #2 #3\endheader{%
+  \doind{tp}{\code{#2}}%
+  \defname{#1}{}{#2}\defunargs{#3\unskip}%
+}
+
+% Remaining @defun-like shortcuts:
+\makedefun{defun}{\deffnheader{\putwordDeffunc} }
+\makedefun{defmac}{\deffnheader{\putwordDefmac} }
+\makedefun{defspec}{\deffnheader{\putwordDefspec} }
+\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
+\makedefun{defvar}{\defvrheader{\putwordDefvar} }
+\makedefun{defopt}{\defvrheader{\putwordDefopt} }
+\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
+\makedefun{defmethod}{\defopon\putwordMethodon}
+\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
+\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
+\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
+
+% \defname, which formats the name of the @def (not the args).
+% #1 is the category, such as "Function".
+% #2 is the return type, if any.
+% #3 is the function name.
+%
+% We are followed by (but not passed) the arguments, if any.
+%
+\def\defname#1#2#3{%
+  % Get the values of \leftskip and \rightskip as they were outside the @def...
+  \advance\leftskip by -\defbodyindent
+  %
+  % How we'll format the type name.  Putting it in brackets helps
+  % distinguish it from the body text that may end up on the next line
+  % just below it.
+  \def\temp{#1}%
+  \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
+  %
+  % Figure out line sizes for the paragraph shape.
+  % The first line needs space for \box0; but if \rightskip is nonzero,
+  % we need only space for the part of \box0 which exceeds it:
+  \dimen0=\hsize  \advance\dimen0 by -\wd0  \advance\dimen0 by \rightskip
+  % The continuations:
+  \dimen2=\hsize  \advance\dimen2 by -\defargsindent
+  % (plain.tex says that \dimen1 should be used only as global.)
+  \parshape 2 0in \dimen0 \defargsindent \dimen2
+  %
+  % Put the type name to the right margin.
+  \noindent
+  \hbox to 0pt{%
+    \hfil\box0 \kern-\hsize
+    % \hsize has to be shortened this way:
+    \kern\leftskip
+    % Intentionally do not respect \rightskip, since we need the space.
+  }%
+  %
+  % Allow all lines to be underfull without complaint:
+  \tolerance=10000 \hbadness=10000
+  \exdentamount=\defbodyindent
+  {%
+    % defun fonts. We use typewriter by default (used to be bold) because:
+    % . we're printing identifiers, they should be in tt in principle.
+    % . in languages with many accents, such as Czech or French, it's
+    %   common to leave accents off identifiers.  The result looks ok in
+    %   tt, but exceedingly strange in rm.
+    % . we don't want -- and --- to be treated as ligatures.
+    % . this still does not fix the ?` and !` ligatures, but so far no
+    %   one has made identifiers using them :).
+    \df \tt
+    \def\temp{#2}% return value type
+    \ifx\temp\empty\else \tclose{\temp} \fi
+    #3% output function name
+  }%
+  {\rm\enskip}% hskip 0.5 em of \tenrm
+  %
+  \boldbrax
+  % arguments will be output next, if any.
+}
+
+% Print arguments in slanted roman (not ttsl), inconsistently with using
+% tt for the name.  This is because literal text is sometimes needed in
+% the argument list (groff manual), and ttsl and tt are not very
+% distinguishable.  Prevent hyphenation at `-' chars.
+%
+\def\defunargs#1{%
+  % use sl by default (not ttsl),
+  % tt for the names.
+  \df \sl \hyphenchar\font=0
+  %
+  % On the other hand, if an argument has two dashes (for instance), we
+  % want a way to get ttsl.  Let's try @var for that.
+  \let\var=\ttslanted
+  #1%
+  \sl\hyphenchar\font=45
+}
+
+% We want ()&[] to print specially on the defun line.
+%
+\def\activeparens{%
+  \catcode`\(=\active \catcode`\)=\active
+  \catcode`\[=\active \catcode`\]=\active
+  \catcode`\&=\active
+}
+
+% Make control sequences which act like normal parenthesis chars.
+\let\lparen = ( \let\rparen = )
+
+% Be sure that we always have a definition for `(', etc.  For example,
+% if the fn name has parens in it, \boldbrax will not be in effect yet,
+% so TeX would otherwise complain about undefined control sequence.
+{
+  \activeparens
+  \global\let(=\lparen \global\let)=\rparen
+  \global\let[=\lbrack \global\let]=\rbrack
+  \global\let& = \&
+
+  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+  \gdef\magicamp{\let&=\amprm}
+}
+
+\newcount\parencount
+
+% If we encounter &foo, then turn on ()-hacking afterwards
+\newif\ifampseen
+\def\amprm#1 {\ampseentrue{\bf\&#1 }}
+
+\def\parenfont{%
+  \ifampseen
+    % At the first level, print parens in roman,
+    % otherwise use the default font.
+    \ifnum \parencount=1 \rm \fi
+  \else
+    % The \sf parens (in \boldbrax) actually are a little bolder than
+    % the contained text.  This is especially needed for [ and ] .
+    \sf
+  \fi
+}
+\def\infirstlevel#1{%
+  \ifampseen
+    \ifnum\parencount=1
+      #1%
+    \fi
+  \fi
+}
+\def\bfafterword#1 {#1 \bf}
+
+\def\opnr{%
+  \global\advance\parencount by 1
+  {\parenfont(}%
+  \infirstlevel \bfafterword
+}
+\def\clnr{%
+  {\parenfont)}%
+  \infirstlevel \sl
+  \global\advance\parencount by -1
+}
+
+\newcount\brackcount
+\def\lbrb{%
+  \global\advance\brackcount by 1
+  {\bf[}%
+}
+\def\rbrb{%
+  {\bf]}%
+  \global\advance\brackcount by -1
+}
+
+\def\checkparencounts{%
+  \ifnum\parencount=0 \else \badparencount \fi
+  \ifnum\brackcount=0 \else \badbrackcount \fi
+}
+\def\badparencount{%
+  \errmessage{Unbalanced parentheses in @def}%
+  \global\parencount=0
+}
+\def\badbrackcount{%
+  \errmessage{Unbalanced square braces in @def}%
+  \global\brackcount=0
+}
+
+
+\message{macros,}
+% @macro.
+
+% To do this right we need a feature of e-TeX, \scantokens,
+% which we arrange to emulate with a temporary file in ordinary TeX.
+\ifx\eTeXversion\undefined
+  \newwrite\macscribble
+  \def\scantokens#1{%
+    \toks0={#1}%
+    \immediate\openout\macscribble=\jobname.tmp
+    \immediate\write\macscribble{\the\toks0}%
+    \immediate\closeout\macscribble
+    \input \jobname.tmp
+  }
+\fi
+
+\def\scanmacro#1{%
+  \begingroup
+    \newlinechar`\^^M
+    \let\xeatspaces\eatspaces
+    % Undo catcode changes of \startcontents and \doprintindex
+    % When called from @insertcopying or (short)caption, we need active
+    % backslash to get it printed correctly.  Previously, we had
+    % \catcode`\\=\other instead.  We'll see whether a problem appears
+    % with macro expansion.                            --kasal, 19aug04
+    \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
+    % ... and \example
+    \spaceisspace
+    %
+    % Append \endinput to make sure that TeX does not see the ending newline.
+    % I've verified that it is necessary both for e-TeX and for ordinary TeX
+    %                                                  --kasal, 29nov03
+    \scantokens{#1\endinput}%
+  \endgroup
+}
+
+\def\scanexp#1{%
+  \edef\temp{\noexpand\scanmacro{#1}}%
+  \temp
+}
+
+\newcount\paramno   % Count of parameters
+\newtoks\macname    % Macro name
+\newif\ifrecursive  % Is it recursive?
+
+% List of all defined macros in the form
+%    \definedummyword\macro1\definedummyword\macro2...
+% Currently is also contains all @aliases; the list can be split
+% if there is a need.
+\def\macrolist{}
+
+% Add the macro to \macrolist
+\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
+\def\addtomacrolistxxx#1{%
+     \toks0 = \expandafter{\macrolist\definedummyword#1}%
+     \xdef\macrolist{\the\toks0}%
+}
+
+% Utility routines.
+% This does \let #1 = #2, with \csnames; that is,
+%   \let \csname#1\endcsname = \csname#2\endcsname
+% (except of course we have to play expansion games).
+% 
+\def\cslet#1#2{%
+  \expandafter\let
+  \csname#1\expandafter\endcsname
+  \csname#2\endcsname
+}
+
+% Trim leading and trailing spaces off a string.
+% Concepts from aro-bend problem 15 (see CTAN).
+{\catcode`\@=11
+\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
+\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
+\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
+\def\unbrace#1{#1}
+\unbrace{\gdef\trim@@@ #1 } #2@{#1}
+}
+
+% Trim a single trailing ^^M off a string.
+{\catcode`\^^M=\other \catcode`\Q=3%
+\gdef\eatcr #1{\eatcra #1Q^^MQ}%
+\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
+\gdef\eatcrb#1Q#2Q{#1}%
+}
+
+% Macro bodies are absorbed as an argument in a context where
+% all characters are catcode 10, 11 or 12, except \ which is active
+% (as in normal texinfo). It is necessary to change the definition of \.
+
+% It's necessary to have hard CRs when the macro is executed. This is
+% done by  making ^^M (\endlinechar) catcode 12 when reading the macro
+% body, and then making it the \newlinechar in \scanmacro.
+
+\def\scanctxt{%
+  \catcode`\"=\other
+  \catcode`\+=\other
+  \catcode`\<=\other
+  \catcode`\>=\other
+  \catcode`\@=\other
+  \catcode`\^=\other
+  \catcode`\_=\other
+  \catcode`\|=\other
+  \catcode`\~=\other
+}
+
+\def\scanargctxt{%
+  \scanctxt
+  \catcode`\\=\other
+  \catcode`\^^M=\other
+}
+
+\def\macrobodyctxt{%
+  \scanctxt
+  \catcode`\{=\other
+  \catcode`\}=\other
+  \catcode`\^^M=\other
+  \usembodybackslash
+}
+
+\def\macroargctxt{%
+  \scanctxt
+  \catcode`\\=\other
+}
+
+% \mbodybackslash is the definition of \ in @macro bodies.
+% It maps \foo\ => \csname macarg.foo\endcsname => #N
+% where N is the macro parameter number.
+% We define \csname macarg.\endcsname to be \realbackslash, so
+% \\ in macro replacement text gets you a backslash.
+
+{\catcode`@=0 @catcode`@\=@active
+ @gdef@usembodybackslash{@let\=@mbodybackslash}
+ @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
+}
+\expandafter\def\csname macarg.\endcsname{\realbackslash}
+
+\def\macro{\recursivefalse\parsearg\macroxxx}
+\def\rmacro{\recursivetrue\parsearg\macroxxx}
+
+\def\macroxxx#1{%
+  \getargs{#1}%           now \macname is the macname and \argl the arglist
+  \ifx\argl\empty       % no arguments
+     \paramno=0%
+  \else
+     \expandafter\parsemargdef \argl;%
+  \fi
+  \if1\csname ismacro.\the\macname\endcsname
+     \message{Warning: redefining \the\macname}%
+  \else
+     \expandafter\ifx\csname \the\macname\endcsname \relax
+     \else \errmessage{Macro name \the\macname\space already defined}\fi
+     \global\cslet{macsave.\the\macname}{\the\macname}%
+     \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
+     \addtomacrolist{\the\macname}%
+  \fi
+  \begingroup \macrobodyctxt
+  \ifrecursive \expandafter\parsermacbody
+  \else \expandafter\parsemacbody
+  \fi}
+
+\parseargdef\unmacro{%
+  \if1\csname ismacro.#1\endcsname
+    \global\cslet{#1}{macsave.#1}%
+    \global\expandafter\let \csname ismacro.#1\endcsname=0%
+    % Remove the macro name from \macrolist:
+    \begingroup
+      \expandafter\let\csname#1\endcsname \relax
+      \let\definedummyword\unmacrodo
+      \xdef\macrolist{\macrolist}%
+    \endgroup
+  \else
+    \errmessage{Macro #1 not defined}%
+  \fi
+}
+
+% Called by \do from \dounmacro on each macro.  The idea is to omit any
+% macro definitions that have been changed to \relax.
+%
+\def\unmacrodo#1{%
+  \ifx #1\relax
+    % remove this
+  \else
+    \noexpand\definedummyword \noexpand#1%
+  \fi
+}
+
+% This makes use of the obscure feature that if the last token of a
+% <parameter list> is #, then the preceding argument is delimited by
+% an opening brace, and that opening brace is not consumed.
+\def\getargs#1{\getargsxxx#1{}}
+\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
+\def\getmacname #1 #2\relax{\macname={#1}}
+\def\getmacargs#1{\def\argl{#1}}
+
+% Parse the optional {params} list.  Set up \paramno and \paramlist
+% so \defmacro knows what to do.  Define \macarg.blah for each blah
+% in the params list, to be ##N where N is the position in that list.
+% That gets used by \mbodybackslash (above).
+
+% We need to get `macro parameter char #' into several definitions.
+% The technique used is stolen from LaTeX:  let \hash be something
+% unexpandable, insert that wherever you need a #, and then redefine
+% it to # just before using the token list produced.
+%
+% The same technique is used to protect \eatspaces till just before
+% the macro is used.
+
+\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
+        \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
+\def\parsemargdefxxx#1,{%
+  \if#1;\let\next=\relax
+  \else \let\next=\parsemargdefxxx
+    \advance\paramno by 1%
+    \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+        {\xeatspaces{\hash\the\paramno}}%
+    \edef\paramlist{\paramlist\hash\the\paramno,}%
+  \fi\next}
+
+% These two commands read recursive and nonrecursive macro bodies.
+% (They're different since rec and nonrec macros end differently.)
+
+\long\def\parsemacbody#1@end macro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\long\def\parsermacbody#1@end rmacro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+
+% This defines the macro itself. There are six cases: recursive and
+% nonrecursive macros of zero, one, and many arguments.
+% Much magic with \expandafter here.
+% \xdef is used so that macro definitions will survive the file
+% they're defined in; @include reads the file inside a group.
+\def\defmacro{%
+  \let\hash=##% convert placeholders to macro parameter chars
+  \ifrecursive
+    \ifcase\paramno
+    % 0
+      \expandafter\xdef\csname\the\macname\endcsname{%
+        \noexpand\scanmacro{\temp}}%
+    \or % 1
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\braceorline
+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+         \egroup\noexpand\scanmacro{\temp}}%
+    \else % many
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\csname\the\macname xx\endcsname}%
+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+        \csname\the\macname xxx\endcsname
+          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+    \fi
+  \else
+    \ifcase\paramno
+    % 0
+      \expandafter\xdef\csname\the\macname\endcsname{%
+        \noexpand\norecurse{\the\macname}%
+        \noexpand\scanmacro{\temp}\egroup}%
+    \or % 1
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\braceorline
+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+        \egroup
+        \noexpand\norecurse{\the\macname}%
+        \noexpand\scanmacro{\temp}\egroup}%
+    \else % many
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \expandafter\noexpand\csname\the\macname xx\endcsname}%
+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+      \csname\the\macname xxx\endcsname
+      \paramlist{%
+          \egroup
+          \noexpand\norecurse{\the\macname}%
+          \noexpand\scanmacro{\temp}\egroup}%
+    \fi
+  \fi}
+
+\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
+
+% \braceorline decides whether the next nonwhitespace character is a
+% {.  If so it reads up to the closing }, if not, it reads the whole
+% line.  Whatever was read is then fed to the next control sequence
+% as an argument (by \parsebrace or \parsearg)
+\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
+\def\braceorlinexxx{%
+  \ifx\nchar\bgroup\else
+    \expandafter\parsearg
+  \fi \macnamexxx}
+
+
+% @alias.
+% We need some trickery to remove the optional spaces around the equal
+% sign.  Just make them active and then expand them all to nothing.
+\def\alias{\parseargusing\obeyspaces\aliasxxx}
+\def\aliasxxx #1{\aliasyyy#1\relax}
+\def\aliasyyy #1=#2\relax{%
+  {%
+    \expandafter\let\obeyedspace=\empty
+    \addtomacrolist{#1}%
+    \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
+  }%
+  \next
+}
+
+
+\message{cross references,}
+
+\newwrite\auxfile
+
+\newif\ifhavexrefs    % True if xref values are known.
+\newif\ifwarnedxrefs  % True if we warned once that they aren't known.
+
+% @inforef is relatively simple.
+\def\inforef #1{\inforefzzz #1,,,,**}
+\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+  node \samp{\ignorespaces#1{}}}
+
+% @node's only job in TeX is to define \lastnode, which is used in
+% cross-references.  The @node line might or might not have commas, and
+% might or might not have spaces before the first comma, like:
+% @node foo , bar , ...
+% We don't want such trailing spaces in the node name.
+%
+\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
+%
+% also remove a trailing comma, in case of something like this:
+% @node Help-Cross,  ,  , Cross-refs
+\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
+\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
+
+\let\nwnode=\node
+\let\lastnode=\empty
+
+% Write a cross-reference definition for the current node.  #1 is the
+% type (Ynumbered, Yappendix, Ynothing).
+%
+\def\donoderef#1{%
+  \ifx\lastnode\empty\else
+    \setref{\lastnode}{#1}%
+    \global\let\lastnode=\empty
+  \fi
+}
+
+% @anchor{NAME} -- define xref target at arbitrary point.
+%
+\newcount\savesfregister
+%
+\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
+
+% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
+% anchor), which consists of three parts:
+% 1) NAME-title - the current sectioning name taken from \thissection,
+%                 or the anchor name.
+% 2) NAME-snt   - section number and type, passed as the SNT arg, or
+%                 empty for anchors.
+% 3) NAME-pg    - the page number.
+%
+% This is called from \donoderef, \anchor, and \dofloat.  In the case of
+% floats, there is an additional part, which is not written here:
+% 4) NAME-lof   - the text as it should appear in a @listoffloats.
+%
+\def\setref#1#2{%
+  \pdfmkdest{#1}%
+  \iflinks
+    {%
+      \atdummies  % preserve commands, but don't expand them
+      \edef\writexrdef##1##2{%
+       \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
+         ##1}{##2}}% these are parameters of \writexrdef
+      }%
+      \toks0 = \expandafter{\thissection}%
+      \immediate \writexrdef{title}{\the\toks0 }%
+      \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
+      \writexrdef{pg}{\folio}% will be written later, during \shipout
+    }%
+  \fi
+}
+
+% @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
+% the node name, #2 the name of the Info cross-reference, #3 the printed
+% node name, #4 the name of the Info file, #5 the name of the printed
+% manual.  All but the node name can be omitted.
+%
+\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
+\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
+\def\ref#1{\xrefX[#1,,,,,,,]}
+\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
+  \unsepspaces
+  \def\printedmanual{\ignorespaces #5}%
+  \def\printedrefname{\ignorespaces #3}%
+  \setbox1=\hbox{\printedmanual\unskip}%
+  \setbox0=\hbox{\printedrefname\unskip}%
+  \ifdim \wd0 = 0pt
+    % No printed node name was explicitly given.
+    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
+      % Use the node name inside the square brackets.
+      \def\printedrefname{\ignorespaces #1}%
+    \else
+      % Use the actual chapter/section title appear inside
+      % the square brackets.  Use the real section title if we have it.
+      \ifdim \wd1 > 0pt
+        % It is in another manual, so we don't have it.
+        \def\printedrefname{\ignorespaces #1}%
+      \else
+        \ifhavexrefs
+          % We know the real title if we have the xref values.
+          \def\printedrefname{\refx{#1-title}{}}%
+        \else
+          % Otherwise just copy the Info node name.
+          \def\printedrefname{\ignorespaces #1}%
+        \fi%
+      \fi
+    \fi
+  \fi
+  %
+  % Make link in pdf output.
+  \ifpdf
+    \leavevmode
+    \getfilename{#4}%
+    {\turnoffactive
+     % See comments at \activebackslashdouble.
+     {\activebackslashdouble \xdef\pdfxrefdest{#1}%
+      \backslashparens\pdfxrefdest}%
+     %
+     \ifnum\filenamelength>0
+       \startlink attr{/Border [0 0 0]}%
+         goto file{\the\filename.pdf} name{\pdfxrefdest}%
+     \else
+       \startlink attr{/Border [0 0 0]}%
+         goto name{\pdfmkpgn{\pdfxrefdest}}%
+     \fi
+    }%
+    \linkcolor
+  \fi
+  %
+  % Float references are printed completely differently: "Figure 1.2"
+  % instead of "[somenode], p.3".  We distinguish them by the
+  % LABEL-title being set to a magic string.
+  {%
+    % Have to otherify everything special to allow the \csname to
+    % include an _ in the xref name, etc.
+    \indexnofonts
+    \turnoffactive
+    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
+      \csname XR#1-title\endcsname
+  }%
+  \iffloat\Xthisreftitle
+    % If the user specified the print name (third arg) to the ref,
+    % print it instead of our usual "Figure 1.2".
+    \ifdim\wd0 = 0pt
+      \refx{#1-snt}{}%
+    \else
+      \printedrefname
+    \fi
+    %
+    % if the user also gave the printed manual name (fifth arg), append
+    % "in MANUALNAME".
+    \ifdim \wd1 > 0pt
+      \space \putwordin{} \cite{\printedmanual}%
+    \fi
+  \else
+    % node/anchor (non-float) references.
+    %
+    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
+    % insert empty discretionaries after hyphens, which means that it will
+    % not find a line break at a hyphen in a node names.  Since some manuals
+    % are best written with fairly long node names, containing hyphens, this
+    % is a loss.  Therefore, we give the text of the node name again, so it
+    % is as if TeX is seeing it for the first time.
+    \ifdim \wd1 > 0pt
+      \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
+    \else
+      % _ (for example) has to be the character _ for the purposes of the
+      % control sequence corresponding to the node, but it has to expand
+      % into the usual \leavevmode...\vrule stuff for purposes of
+      % printing. So we \turnoffactive for the \refx-snt, back on for the
+      % printing, back off for the \refx-pg.
+      {\turnoffactive
+       % Only output a following space if the -snt ref is nonempty; for
+       % @unnumbered and @anchor, it won't be.
+       \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
+       \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
+      }%
+      % output the `[mynode]' via a macro so it can be overridden.
+      \xrefprintnodename\printedrefname
+      %
+      % But we always want a comma and a space:
+      ,\space
+      %
+      % output the `page 3'.
+      \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+    \fi
+  \fi
+  \endlink
+\endgroup}
+
+% This macro is called from \xrefX for the `[nodename]' part of xref
+% output.  It's a separate macro only so it can be changed more easily,
+% since square brackets don't work well in some documents.  Particularly
+% one that Bob is working on :).
+%
+\def\xrefprintnodename#1{[#1]}
+
+% Things referred to by \setref.
+%
+\def\Ynothing{}
+\def\Yomitfromtoc{}
+\def\Ynumbered{%
+  \ifnum\secno=0
+    \putwordChapter@tie \the\chapno
+  \else \ifnum\subsecno=0
+    \putwordSection@tie \the\chapno.\the\secno
+  \else \ifnum\subsubsecno=0
+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
+  \else
+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
+  \fi\fi\fi
+}
+\def\Yappendix{%
+  \ifnum\secno=0
+     \putwordAppendix@tie @char\the\appendixno{}%
+  \else \ifnum\subsecno=0
+     \putwordSection@tie @char\the\appendixno.\the\secno
+  \else \ifnum\subsubsecno=0
+    \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
+  \else
+    \putwordSection@tie
+      @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
+  \fi\fi\fi
+}
+
+% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
+% If its value is nonempty, SUFFIX is output afterward.
+%
+\def\refx#1#2{%
+  {%
+    \indexnofonts
+    \otherbackslash
+    \expandafter\global\expandafter\let\expandafter\thisrefX
+      \csname XR#1\endcsname
+  }%
+  \ifx\thisrefX\relax
+    % If not defined, say something at least.
+    \angleleft un\-de\-fined\angleright
+    \iflinks
+      \ifhavexrefs
+        \message{\linenumber Undefined cross reference `#1'.}%
+      \else
+        \ifwarnedxrefs\else
+          \global\warnedxrefstrue
+          \message{Cross reference values unknown; you must run TeX again.}%
+        \fi
+      \fi
+    \fi
+  \else
+    % It's defined, so just use it.
+    \thisrefX
+  \fi
+  #2% Output the suffix in any case.
+}
+
+% This is the macro invoked by entries in the aux file.  Usually it's
+% just a \def (we prepend XR to the control sequence name to avoid
+% collisions).  But if this is a float type, we have more work to do.
+%
+\def\xrdef#1#2{%
+  \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
+  %
+  % Was that xref control sequence that we just defined for a float?
+  \expandafter\iffloat\csname XR#1\endcsname
+    % it was a float, and we have the (safe) float type in \iffloattype.
+    \expandafter\let\expandafter\floatlist
+      \csname floatlist\iffloattype\endcsname
+    %
+    % Is this the first time we've seen this float type?
+    \expandafter\ifx\floatlist\relax
+      \toks0 = {\do}% yes, so just \do
+    \else
+      % had it before, so preserve previous elements in list.
+      \toks0 = \expandafter{\floatlist\do}%
+    \fi
+    %
+    % Remember this xref in the control sequence \floatlistFLOATTYPE,
+    % for later use in \listoffloats.
+    \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
+  \fi
+}
+
+% Read the last existing aux file, if any.  No error if none exists.
+%
+\def\tryauxfile{%
+  \openin 1 \jobname.aux
+  \ifeof 1 \else
+    \readdatafile{aux}%
+    \global\havexrefstrue
+  \fi
+  \closein 1
+}
+
+\def\setupdatafile{%
+  \catcode`\^^@=\other
+  \catcode`\^^A=\other
+  \catcode`\^^B=\other
+  \catcode`\^^C=\other
+  \catcode`\^^D=\other
+  \catcode`\^^E=\other
+  \catcode`\^^F=\other
+  \catcode`\^^G=\other
+  \catcode`\^^H=\other
+  \catcode`\^^K=\other
+  \catcode`\^^L=\other
+  \catcode`\^^N=\other
+  \catcode`\^^P=\other
+  \catcode`\^^Q=\other
+  \catcode`\^^R=\other
+  \catcode`\^^S=\other
+  \catcode`\^^T=\other
+  \catcode`\^^U=\other
+  \catcode`\^^V=\other
+  \catcode`\^^W=\other
+  \catcode`\^^X=\other
+  \catcode`\^^Z=\other
+  \catcode`\^^[=\other
+  \catcode`\^^\=\other
+  \catcode`\^^]=\other
+  \catcode`\^^^=\other
+  \catcode`\^^_=\other
+  % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
+  % in xref tags, i.e., node names.  But since ^^e4 notation isn't
+  % supported in the main text, it doesn't seem desirable.  Furthermore,
+  % that is not enough: for node names that actually contain a ^
+  % character, we would end up writing a line like this: 'xrdef {'hat
+  % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
+  % argument, and \hat is not an expandable control sequence.  It could
+  % all be worked out, but why?  Either we support ^^ or we don't.
+  %
+  % The other change necessary for this was to define \auxhat:
+  % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
+  % and then to call \auxhat in \setq.
+  %
+  \catcode`\^=\other
+  %
+  % Special characters.  Should be turned off anyway, but...
+  \catcode`\~=\other
+  \catcode`\[=\other
+  \catcode`\]=\other
+  \catcode`\"=\other
+  \catcode`\_=\other
+  \catcode`\|=\other
+  \catcode`\<=\other
+  \catcode`\>=\other
+  \catcode`\$=\other
+  \catcode`\#=\other
+  \catcode`\&=\other
+  \catcode`\%=\other
+  \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
+  %
+  % This is to support \ in node names and titles, since the \
+  % characters end up in a \csname.  It's easier than
+  % leaving it active and making its active definition an actual \
+  % character.  What I don't understand is why it works in the *value*
+  % of the xrdef.  Seems like it should be a catcode12 \, and that
+  % should not typeset properly.  But it works, so I'm moving on for
+  % now.  --karl, 15jan04.
+  \catcode`\\=\other
+  %
+  % Make the characters 128-255 be printing characters.
+  {%
+    \count1=128
+    \def\loop{%
+      \catcode\count1=\other
+      \advance\count1 by 1
+      \ifnum \count1<256 \loop \fi
+    }%
+  }%
+  %
+  % @ is our escape character in .aux files, and we need braces.
+  \catcode`\{=1
+  \catcode`\}=2
+  \catcode`\@=0
+}
+
+\def\readdatafile#1{%
+\begingroup
+  \setupdatafile
+  \input\jobname.#1
+\endgroup}
+
+\message{insertions,}
+% including footnotes.
+
+\newcount \footnoteno
+
+% The trailing space in the following definition for supereject is
+% vital for proper filling; pages come out unaligned when you do a
+% pagealignmacro call if that space before the closing brace is
+% removed. (Generally, numeric constants should always be followed by a
+% space to prevent strange expansion errors.)
+\def\supereject{\par\penalty -20000\footnoteno =0 }
+
+% @footnotestyle is meaningful for info output only.
+\let\footnotestyle=\comment
+
+{\catcode `\@=11
+%
+% Auto-number footnotes.  Otherwise like plain.
+\gdef\footnote{%
+  \let\indent=\ptexindent
+  \let\noindent=\ptexnoindent
+  \global\advance\footnoteno by \@ne
+  \edef\thisfootno{$^{\the\footnoteno}$}%
+  %
+  % In case the footnote comes at the end of a sentence, preserve the
+  % extra spacing after we do the footnote number.
+  \let\@sf\empty
+  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
+  %
+  % Remove inadvertent blank space before typesetting the footnote number.
+  \unskip
+  \thisfootno\@sf
+  \dofootnote
+}%
+
+% Don't bother with the trickery in plain.tex to not require the
+% footnote text as a parameter.  Our footnotes don't need to be so general.
+%
+% Oh yes, they do; otherwise, @ifset (and anything else that uses
+% \parseargline) fails inside footnotes because the tokens are fixed when
+% the footnote is read.  --karl, 16nov96.
+%
+\gdef\dofootnote{%
+  \insert\footins\bgroup
+  % We want to typeset this text as a normal paragraph, even if the
+  % footnote reference occurs in (for example) a display environment.
+  % So reset some parameters.
+  \hsize=\pagewidth
+  \interlinepenalty\interfootnotelinepenalty
+  \splittopskip\ht\strutbox % top baseline for broken footnotes
+  \splitmaxdepth\dp\strutbox
+  \floatingpenalty\@MM
+  \leftskip\z@skip
+  \rightskip\z@skip
+  \spaceskip\z@skip
+  \xspaceskip\z@skip
+  \parindent\defaultparindent
+  %
+  \smallfonts \rm
+  %
+  % Because we use hanging indentation in footnotes, a @noindent appears
+  % to exdent this text, so make it be a no-op.  makeinfo does not use
+  % hanging indentation so @noindent can still be needed within footnote
+  % text after an @example or the like (not that this is good style).
+  \let\noindent = \relax
+  %
+  % Hang the footnote text off the number.  Use \everypar in case the
+  % footnote extends for more than one paragraph.
+  \everypar = {\hang}%
+  \textindent{\thisfootno}%
+  %
+  % Don't crash into the line above the footnote text.  Since this
+  % expands into a box, it must come within the paragraph, lest it
+  % provide a place where TeX can split the footnote.
+  \footstrut
+  \futurelet\next\fo@t
+}
+}%end \catcode `\@=11
+
+% In case a @footnote appears in a vbox, save the footnote text and create
+% the real \insert just after the vbox finished.  Otherwise, the insertion
+% would be lost.
+% Similarily, if a @footnote appears inside an alignment, save the footnote
+% text to a box and make the \insert when a row of the table is finished.
+% And the same can be done for other insert classes.  --kasal, 16nov03.
+
+% Replace the \insert primitive by a cheating macro.
+% Deeper inside, just make sure that the saved insertions are not spilled
+% out prematurely.
+%
+\def\startsavinginserts{%
+  \ifx \insert\ptexinsert
+    \let\insert\saveinsert
+  \else
+    \let\checkinserts\relax
+  \fi
+}
+
+% This \insert replacement works for both \insert\footins{foo} and
+% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
+%
+\def\saveinsert#1{%
+  \edef\next{\noexpand\savetobox \makeSAVEname#1}%
+  \afterassignment\next
+  % swallow the left brace
+  \let\temp =
+}
+\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
+\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
+
+\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
+
+\def\placesaveins#1{%
+  \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
+    {\box#1}%
+}
+
+% eat @SAVE -- beware, all of them have catcode \other:
+{
+  \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials  %  ;-)
+  \gdef\gobblesave @SAVE{}
+}
+
+% initialization:
+\def\newsaveins #1{%
+  \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
+  \next
+}
+\def\newsaveinsX #1{%
+  \csname newbox\endcsname #1%
+  \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
+    \checksaveins #1}%
+}
+
+% initialize:
+\let\checkinserts\empty
+\newsaveins\footins
+\newsaveins\margin
+
+
+% @image.  We use the macros from epsf.tex to support this.
+% If epsf.tex is not installed and @image is used, we complain.
+%
+% Check for and read epsf.tex up front.  If we read it only at @image
+% time, we might be inside a group, and then its definitions would get
+% undone and the next image would fail.
+\openin 1 = epsf.tex
+\ifeof 1 \else
+  % Do not bother showing banner with epsf.tex v2.7k (available in
+  % doc/epsf.tex and on ctan).
+  \def\epsfannounce{\toks0 = }%
+  \input epsf.tex
+\fi
+\closein 1
+%
+% We will only complain once about lack of epsf.tex.
+\newif\ifwarnednoepsf
+\newhelp\noepsfhelp{epsf.tex must be installed for images to
+  work.  It is also included in the Texinfo distribution, or you can get
+  it from ftp://tug.org/tex/epsf.tex.}
+%
+\def\image#1{%
+  \ifx\epsfbox\undefined
+    \ifwarnednoepsf \else
+      \errhelp = \noepsfhelp
+      \errmessage{epsf.tex not found, images will be ignored}%
+      \global\warnednoepsftrue
+    \fi
+  \else
+    \imagexxx #1,,,,,\finish
+  \fi
+}
+%
+% Arguments to @image:
+% #1 is (mandatory) image filename; we tack on .eps extension.
+% #2 is (optional) width, #3 is (optional) height.
+% #4 is (ignored optional) html alt text.
+% #5 is (ignored optional) extension.
+% #6 is just the usual extra ignored arg for parsing this stuff.
+\newif\ifimagevmode
+\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
+  \catcode`\^^M = 5     % in case we're inside an example
+  \normalturnoffactive  % allow _ et al. in names
+  % If the image is by itself, center it.
+  \ifvmode
+    \imagevmodetrue
+    \nobreak\bigskip
+    % Usually we'll have text after the image which will insert
+    % \parskip glue, so insert it here too to equalize the space
+    % above and below.
+    \nobreak\vskip\parskip
+    \nobreak
+    \line\bgroup
+  \fi
+  %
+  % Output the image.
+  \ifpdf
+    \dopdfimage{#1}{#2}{#3}%
+  \else
+    % \epsfbox itself resets \epsf?size at each figure.
+    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
+    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+    \epsfbox{#1.eps}%
+  \fi
+  %
+  \ifimagevmode \egroup \bigbreak \fi  % space after the image
+\endgroup}
+
+
+% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
+% etc.  We don't actually implement floating yet, we always include the
+% float "here".  But it seemed the best name for the future.
+%
+\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
+
+% There may be a space before second and/or third parameter; delete it.
+\def\eatcommaspace#1, {#1,}
+
+% #1 is the optional FLOATTYPE, the text label for this float, typically
+% "Figure", "Table", "Example", etc.  Can't contain commas.  If omitted,
+% this float will not be numbered and cannot be referred to.
+%
+% #2 is the optional xref label.  Also must be present for the float to
+% be referable.
+%
+% #3 is the optional positioning argument; for now, it is ignored.  It
+% will somehow specify the positions allowed to float to (here, top, bottom).
+%
+% We keep a separate counter for each FLOATTYPE, which we reset at each
+% chapter-level command.
+\let\resetallfloatnos=\empty
+%
+\def\dofloat#1,#2,#3,#4\finish{%
+  \let\thiscaption=\empty
+  \let\thisshortcaption=\empty
+  %
+  % don't lose footnotes inside @float.
+  %
+  % BEWARE: when the floats start float, we have to issue warning whenever an
+  % insert appears inside a float which could possibly float. --kasal, 26may04
+  %
+  \startsavinginserts
+  %
+  % We can't be used inside a paragraph.
+  \par
+  %
+  \vtop\bgroup
+    \def\floattype{#1}%
+    \def\floatlabel{#2}%
+    \def\floatloc{#3}% we do nothing with this yet.
+    %
+    \ifx\floattype\empty
+      \let\safefloattype=\empty
+    \else
+      {%
+        % the floattype might have accents or other special characters,
+        % but we need to use it in a control sequence name.
+        \indexnofonts
+        \turnoffactive
+        \xdef\safefloattype{\floattype}%
+      }%
+    \fi
+    %
+    % If label is given but no type, we handle that as the empty type.
+    \ifx\floatlabel\empty \else
+      % We want each FLOATTYPE to be numbered separately (Figure 1,
+      % Table 1, Figure 2, ...).  (And if no label, no number.)
+      %
+      \expandafter\getfloatno\csname\safefloattype floatno\endcsname
+      \global\advance\floatno by 1
+      %
+      {%
+        % This magic value for \thissection is output by \setref as the
+        % XREFLABEL-title value.  \xrefX uses it to distinguish float
+        % labels (which have a completely different output format) from
+        % node and anchor labels.  And \xrdef uses it to construct the
+        % lists of floats.
+        %
+        \edef\thissection{\floatmagic=\safefloattype}%
+        \setref{\floatlabel}{Yfloat}%
+      }%
+    \fi
+    %
+    % start with \parskip glue, I guess.
+    \vskip\parskip
+    %
+    % Don't suppress indentation if a float happens to start a section.
+    \restorefirstparagraphindent
+}
+
+% we have these possibilities:
+% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
+% @float Foo,lbl & no caption:    Foo 1.1
+% @float Foo & @caption{Cap}:     Foo: Cap
+% @float Foo & no caption:        Foo
+% @float ,lbl & Caption{Cap}:     1.1: Cap
+% @float ,lbl & no caption:       1.1
+% @float & @caption{Cap}:         Cap
+% @float & no caption:
+%
+\def\Efloat{%
+    \let\floatident = \empty
+    %
+    % In all cases, if we have a float type, it comes first.
+    \ifx\floattype\empty \else \def\floatident{\floattype}\fi
+    %
+    % If we have an xref label, the number comes next.
+    \ifx\floatlabel\empty \else
+      \ifx\floattype\empty \else % if also had float type, need tie first.
+        \appendtomacro\floatident{\tie}%
+      \fi
+      % the number.
+      \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
+    \fi
+    %
+    % Start the printed caption with what we've constructed in
+    % \floatident, but keep it separate; we need \floatident again.
+    \let\captionline = \floatident
+    %
+    \ifx\thiscaption\empty \else
+      \ifx\floatident\empty \else
+       \appendtomacro\captionline{: }% had ident, so need a colon between
+      \fi
+      %
+      % caption text.
+      \appendtomacro\captionline{\scanexp\thiscaption}%
+    \fi
+    %
+    % If we have anything to print, print it, with space before.
+    % Eventually this needs to become an \insert.
+    \ifx\captionline\empty \else
+      \vskip.5\parskip
+      \captionline
+      %
+      % Space below caption.
+      \vskip\parskip
+    \fi
+    %
+    % If have an xref label, write the list of floats info.  Do this
+    % after the caption, to avoid chance of it being a breakpoint.
+    \ifx\floatlabel\empty \else
+      % Write the text that goes in the lof to the aux file as
+      % \floatlabel-lof.  Besides \floatident, we include the short
+      % caption if specified, else the full caption if specified, else nothing.
+      {%
+        \atdummies
+        %
+        % since we read the caption text in the macro world, where ^^M
+        % is turned into a normal character, we have to scan it back, so
+        % we don't write the literal three characters "^^M" into the aux file.
+       \scanexp{%
+         \xdef\noexpand\gtemp{%
+           \ifx\thisshortcaption\empty
+             \thiscaption
+           \else
+             \thisshortcaption
+           \fi
+         }%
+       }%
+        \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
+         \ifx\gtemp\empty \else : \gtemp \fi}}%
+      }%
+    \fi
+  \egroup  % end of \vtop
+  %
+  % place the captured inserts
+  %
+  % BEWARE: when the floats start floating, we have to issue warning
+  % whenever an insert appears inside a float which could possibly
+  % float. --kasal, 26may04
+  %
+  \checkinserts
+}
+
+% Append the tokens #2 to the definition of macro #1, not expanding either.
+%
+\def\appendtomacro#1#2{%
+  \expandafter\def\expandafter#1\expandafter{#1#2}%
+}
+
+% @caption, @shortcaption
+%
+\def\caption{\docaption\thiscaption}
+\def\shortcaption{\docaption\thisshortcaption}
+\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
+\def\defcaption#1#2{\egroup \def#1{#2}}
+
+% The parameter is the control sequence identifying the counter we are
+% going to use.  Create it if it doesn't exist and assign it to \floatno.
+\def\getfloatno#1{%
+  \ifx#1\relax
+      % Haven't seen this figure type before.
+      \csname newcount\endcsname #1%
+      %
+      % Remember to reset this floatno at the next chap.
+      \expandafter\gdef\expandafter\resetallfloatnos
+        \expandafter{\resetallfloatnos #1=0 }%
+  \fi
+  \let\floatno#1%
+}
+
+% \setref calls this to get the XREFLABEL-snt value.  We want an @xref
+% to the FLOATLABEL to expand to "Figure 3.1".  We call \setref when we
+% first read the @float command.
+%
+\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
+
+% Magic string used for the XREFLABEL-title value, so \xrefX can
+% distinguish floats from other xref types.
+\def\floatmagic{!!float!!}
+
+% #1 is the control sequence we are passed; we expand into a conditional
+% which is true if #1 represents a float ref.  That is, the magic
+% \thissection value which we \setref above.
+%
+\def\iffloat#1{\expandafter\doiffloat#1==\finish}
+%
+% #1 is (maybe) the \floatmagic string.  If so, #2 will be the
+% (safe) float type for this float.  We set \iffloattype to #2.
+%
+\def\doiffloat#1=#2=#3\finish{%
+  \def\temp{#1}%
+  \def\iffloattype{#2}%
+  \ifx\temp\floatmagic
+}
+
+% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
+%
+\parseargdef\listoffloats{%
+  \def\floattype{#1}% floattype
+  {%
+    % the floattype might have accents or other special characters,
+    % but we need to use it in a control sequence name.
+    \indexnofonts
+    \turnoffactive
+    \xdef\safefloattype{\floattype}%
+  }%
+  %
+  % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
+  \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
+    \ifhavexrefs
+      % if the user said @listoffloats foo but never @float foo.
+      \message{\linenumber No `\safefloattype' floats to list.}%
+    \fi
+  \else
+    \begingroup
+      \leftskip=\tocindent  % indent these entries like a toc
+      \let\do=\listoffloatsdo
+      \csname floatlist\safefloattype\endcsname
+    \endgroup
+  \fi
+}
+
+% This is called on each entry in a list of floats.  We're passed the
+% xref label, in the form LABEL-title, which is how we save it in the
+% aux file.  We strip off the -title and look up \XRLABEL-lof, which
+% has the text we're supposed to typeset here.
+%
+% Figures without xref labels will not be included in the list (since
+% they won't appear in the aux file).
+%
+\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
+\def\listoffloatsdoentry#1-title\finish{{%
+  % Can't fully expand XR#1-lof because it can contain anything.  Just
+  % pass the control sequence.  On the other hand, XR#1-pg is just the
+  % page number, and we want to fully expand that so we can get a link
+  % in pdf output.
+  \toksA = \expandafter{\csname XR#1-lof\endcsname}%
+  %
+  % use the same \entry macro we use to generate the TOC and index.
+  \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
+  \writeentry
+}}
+
+\message{localization,}
+% and i18n.
+
+% @documentlanguage is usually given very early, just after
+% @setfilename.  If done too late, it may not override everything
+% properly.  Single argument is the language abbreviation.
+% It would be nice if we could set up a hyphenation file here.
+%
+\parseargdef\documentlanguage{%
+  \tex % read txi-??.tex file in plain TeX.
+    % Read the file if it exists.
+    \openin 1 txi-#1.tex
+    \ifeof 1
+      \errhelp = \nolanghelp
+      \errmessage{Cannot read language file txi-#1.tex}%
+    \else
+      \input txi-#1.tex
+    \fi
+    \closein 1
+  \endgroup
+}
+\newhelp\nolanghelp{The given language definition file cannot be found or
+is empty.  Maybe you need to install it?  In the current directory
+should work if nowhere else does.}
+
+
+% @documentencoding should change something in TeX eventually, most
+% likely, but for now just recognize it.
+\let\documentencoding = \comment
+
+
+% Page size parameters.
+%
+\newdimen\defaultparindent \defaultparindent = 15pt
+
+\chapheadingskip = 15pt plus 4pt minus 2pt
+\secheadingskip = 12pt plus 3pt minus 2pt
+\subsecheadingskip = 9pt plus 2pt minus 2pt
+
+% Prevent underfull vbox error messages.
+\vbadness = 10000
+
+% Don't be so finicky about underfull hboxes, either.
+\hbadness = 2000
+
+% Following George Bush, just get rid of widows and orphans.
+\widowpenalty=10000
+\clubpenalty=10000
+
+% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
+% using an old version of TeX, don't do anything.  We want the amount of
+% stretch added to depend on the line length, hence the dependence on
+% \hsize.  We call this whenever the paper size is set.
+%
+\def\setemergencystretch{%
+  \ifx\emergencystretch\thisisundefined
+    % Allow us to assign to \emergencystretch anyway.
+    \def\emergencystretch{\dimen0}%
+  \else
+    \emergencystretch = .15\hsize
+  \fi
+}
+
+% Parameters in order: 1) textheight; 2) textwidth;
+% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
+% 7) physical page height; 8) physical page width.
+%
+% We also call \setleading{\textleading}, so the caller should define
+% \textleading.  The caller should also set \parskip.
+%
+\def\internalpagesizes#1#2#3#4#5#6#7#8{%
+  \voffset = #3\relax
+  \topskip = #6\relax
+  \splittopskip = \topskip
+  %
+  \vsize = #1\relax
+  \advance\vsize by \topskip
+  \outervsize = \vsize
+  \advance\outervsize by 2\topandbottommargin
+  \pageheight = \vsize
+  %
+  \hsize = #2\relax
+  \outerhsize = \hsize
+  \advance\outerhsize by 0.5in
+  \pagewidth = \hsize
+  %
+  \normaloffset = #4\relax
+  \bindingoffset = #5\relax
+  %
+  \ifpdf
+    \pdfpageheight #7\relax
+    \pdfpagewidth #8\relax
+  \fi
+  %
+  \setleading{\textleading}
+  %
+  \parindent = \defaultparindent
+  \setemergencystretch
+}
+
+% @letterpaper (the default).
+\def\letterpaper{{\globaldefs = 1
+  \parskip = 3pt plus 2pt minus 1pt
+  \textleading = 13.2pt
+  %
+  % If page is nothing but text, make it come out even.
+  \internalpagesizes{46\baselineskip}{6in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{36pt}%
+                    {11in}{8.5in}%
+}}
+
+% Use @smallbook to reset parameters for 7x9.25 trim size.
+\def\smallbook{{\globaldefs = 1
+  \parskip = 2pt plus 1pt
+  \textleading = 12pt
+  %
+  \internalpagesizes{7.5in}{5in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{16pt}%
+                    {9.25in}{7in}%
+  %
+  \lispnarrowing = 0.3in
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = .5cm
+}}
+
+% Use @smallerbook to reset parameters for 6x9 trim size.
+% (Just testing, parameters still in flux.)
+\def\smallerbook{{\globaldefs = 1
+  \parskip = 1.5pt plus 1pt
+  \textleading = 12pt
+  %
+  \internalpagesizes{7.4in}{4.8in}%
+                    {-.2in}{-.4in}%
+                    {0pt}{14pt}%
+                    {9in}{6in}%
+  %
+  \lispnarrowing = 0.25in
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = .4cm
+}}
+
+% Use @afourpaper to print on European A4 paper.
+\def\afourpaper{{\globaldefs = 1
+  \parskip = 3pt plus 2pt minus 1pt
+  \textleading = 13.2pt
+  %
+  % Double-side printing via postscript on Laserjet 4050
+  % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
+  % To change the settings for a different printer or situation, adjust
+  % \normaloffset until the front-side and back-side texts align.  Then
+  % do the same for \bindingoffset.  You can set these for testing in
+  % your texinfo source file like this:
+  % @tex
+  % \global\normaloffset = -6mm
+  % \global\bindingoffset = 10mm
+  % @end tex
+  \internalpagesizes{51\baselineskip}{160mm}
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{44pt}%
+                    {297mm}{210mm}%
+  %
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = 5mm
+}}
+
+% Use @afivepaper to print on European A5 paper.
+% From romildo@urano.iceb.ufop.br, 2 July 2000.
+% He also recommends making @example and @lisp be small.
+\def\afivepaper{{\globaldefs = 1
+  \parskip = 2pt plus 1pt minus 0.1pt
+  \textleading = 12.5pt
+  %
+  \internalpagesizes{160mm}{120mm}%
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{8pt}%
+                    {210mm}{148mm}%
+  %
+  \lispnarrowing = 0.2in
+  \tolerance = 800
+  \hfuzz = 1.2pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = 2mm
+  \tableindent = 12mm
+}}
+
+% A specific text layout, 24x15cm overall, intended for A4 paper.
+\def\afourlatex{{\globaldefs = 1
+  \afourpaper
+  \internalpagesizes{237mm}{150mm}%
+                    {\voffset}{4.6mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
+  %
+  % Must explicitly reset to 0 because we call \afourpaper.
+  \globaldefs = 0
+}}
+
+% Use @afourwide to print on A4 paper in landscape format.
+\def\afourwide{{\globaldefs = 1
+  \afourpaper
+  \internalpagesizes{241mm}{165mm}%
+                    {\voffset}{-2.95mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
+  \globaldefs = 0
+}}
+
+% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
+% Perhaps we should allow setting the margins, \topskip, \parskip,
+% and/or leading, also. Or perhaps we should compute them somehow.
+%
+\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
+\def\pagesizesyyy#1,#2,#3\finish{{%
+  \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
+  \globaldefs = 1
+  %
+  \parskip = 3pt plus 2pt minus 1pt
+  \setleading{\textleading}%
+  %
+  \dimen0 = #1
+  \advance\dimen0 by \voffset
+  %
+  \dimen2 = \hsize
+  \advance\dimen2 by \normaloffset
+  %
+  \internalpagesizes{#1}{\hsize}%
+                    {\voffset}{\normaloffset}%
+                    {\bindingoffset}{44pt}%
+                    {\dimen0}{\dimen2}%
+}}
+
+% Set default to letter.
+%
+\letterpaper
+
+
+\message{and turning on texinfo input format.}
+
+% Define macros to output various characters with catcode for normal text.
+\catcode`\"=\other
+\catcode`\~=\other
+\catcode`\^=\other
+\catcode`\_=\other
+\catcode`\|=\other
+\catcode`\<=\other
+\catcode`\>=\other
+\catcode`\+=\other
+\catcode`\$=\other
+\def\normaldoublequote{"}
+\def\normaltilde{~}
+\def\normalcaret{^}
+\def\normalunderscore{_}
+\def\normalverticalbar{|}
+\def\normalless{<}
+\def\normalgreater{>}
+\def\normalplus{+}
+\def\normaldollar{$}%$ font-lock fix
+
+% This macro is used to make a character print one way in \tt
+% (where it can probably be output as-is), and another way in other fonts,
+% where something hairier probably needs to be done.
+%
+% #1 is what to print if we are indeed using \tt; #2 is what to print
+% otherwise.  Since all the Computer Modern typewriter fonts have zero
+% interword stretch (and shrink), and it is reasonable to expect all
+% typewriter fonts to have this, we can check that font parameter.
+%
+\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
+
+% Same as above, but check for italic font.  Actually this also catches
+% non-italic slanted fonts since it is impossible to distinguish them from
+% italic fonts.  But since this is only used by $ and it uses \sl anyway
+% this is not a problem.
+\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
+
+% Turn off all special characters except @
+% (and those which the user can use as if they were ordinary).
+% Most of these we simply print from the \tt font, but for some, we can
+% use math or other variants that look better in normal text.
+
+\catcode`\"=\active
+\def\activedoublequote{{\tt\char34}}
+\let"=\activedoublequote
+\catcode`\~=\active
+\def~{{\tt\char126}}
+\chardef\hat=`\^
+\catcode`\^=\active
+\def^{{\tt \hat}}
+
+\catcode`\_=\active
+\def_{\ifusingtt\normalunderscore\_}
+\let\realunder=_
+% Subroutine for the previous macro.
+\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
+
+\catcode`\|=\active
+\def|{{\tt\char124}}
+\chardef \less=`\<
+\catcode`\<=\active
+\def<{{\tt \less}}
+\chardef \gtr=`\>
+\catcode`\>=\active
+\def>{{\tt \gtr}}
+\catcode`\+=\active
+\def+{{\tt \char 43}}
+\catcode`\$=\active
+\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+
+% If a .fmt file is being used, characters that might appear in a file
+% name cannot be active until we have parsed the command line.
+% So turn them off again, and have \everyjob (or @setfilename) turn them on.
+% \otherifyactive is called near the end of this file.
+\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
+
+% Used sometimes to turn off (effectively) the active characters even after
+% parsing them.
+\def\turnoffactive{%
+  \normalturnoffactive
+  \otherbackslash
+}
+
+\catcode`\@=0
+
+% \backslashcurfont outputs one backslash character in current font,
+% as in \char`\\.
+\global\chardef\backslashcurfont=`\\
+\global\let\rawbackslashxx=\backslashcurfont  % let existing .??s files work
+
+% \realbackslash is an actual character `\' with catcode other, and
+% \doublebackslash is two of them (for the pdf outlines).
+{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
+
+% In texinfo, backslash is an active character; it prints the backslash
+% in fixed width font.
+\catcode`\\=\active
+@def@normalbackslash{{@tt@backslashcurfont}}
+% On startup, @fixbackslash assigns:
+%  @let \ = @normalbackslash
+
+% \rawbackslash defines an active \ to do \backslashcurfont.
+% \otherbackslash defines an active \ to be a literal `\' character with
+% catcode other.
+@gdef@rawbackslash{@let\=@backslashcurfont}
+@gdef@otherbackslash{@let\=@realbackslash}
+
+% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
+% the literal character `\'.
+% 
+@def@normalturnoffactive{%
+  @let\=@normalbackslash
+  @let"=@normaldoublequote
+  @let~=@normaltilde
+  @let^=@normalcaret
+  @let_=@normalunderscore
+  @let|=@normalverticalbar
+  @let<=@normalless
+  @let>=@normalgreater
+  @let+=@normalplus
+  @let$=@normaldollar %$ font-lock fix
+  @unsepspaces
+}
+
+% Make _ and + \other characters, temporarily.
+% This is canceled by @fixbackslash.
+@otherifyactive
+
+% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
+% That is what \eatinput is for; after that, the `\' should revert to printing
+% a backslash.
+%
+@gdef@eatinput input texinfo{@fixbackslash}
+@global@let\ = @eatinput
+
+% On the other hand, perhaps the file did not have a `\input texinfo'. Then
+% the first `\' in the file would cause an error. This macro tries to fix
+% that, assuming it is called before the first `\' could plausibly occur.
+% Also turn back on active characters that might appear in the input
+% file name, in case not using a pre-dumped format.
+%
+@gdef@fixbackslash{%
+  @ifx\@eatinput @let\ = @normalbackslash @fi
+  @catcode`+=@active
+  @catcode`@_=@active
+}
+
+% Say @foo, not \foo, in error messages.
+@escapechar = `@@
+
+% These look ok in all fonts, so just make them not special.
+@catcode`@& = @other
+@catcode`@# = @other
+@catcode`@% = @other
+
+
+@c Local variables:
+@c eval: (add-hook 'write-file-hooks 'time-stamp)
+@c page-delimiter: "^\\\\message"
+@c time-stamp-start: "def\\\\texinfoversion{"
+@c time-stamp-format: "%:y-%02m-%02d.%02H"
+@c time-stamp-end: "}"
+@c End:
+
+@c vim:sw=2:
+
+@ignore
+   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
+@end ignore
diff --git a/util/Makefile.am b/util/Makefile.am
new file mode 100644 (file)
index 0000000..7852c2a
--- /dev/null
@@ -0,0 +1,32 @@
+# Makefile for `wget' utility
+# Copyright (C) 1995, 1996, 1997, 2007, 2008 Free Software Foundation, Inc.
+
+# This program 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 3 of the License, 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
+
+#
+# Version: @VERSION@
+#
+
+EXTRA_DIST = README rmold.pl trunc.c
diff --git a/util/Makefile.in b/util/Makefile.in
deleted file mode 100644 (file)
index 7746d55..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# Makefile for `wget' utility
-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
-#
-# Version: @VERSION@
-#
-
-SHELL = /bin/sh
-
-top_builddir = ..
-
-srcdir = @srcdir@
-VPATH  = @srcdir@
-
-RM = rm -f
-
-all:
-
-clean:
-
-distclean: clean
-       $(RM) Makefile
-
-realclean: distclean
-
index 4b57c90ef3222acea0f3a571f5122eb87b547673..8570832092f2dc7b465225f802e3622884f45d8c 100644 (file)
@@ -3,26 +3,13 @@
 This directory contains various optional utilities to help you use
 Wget.
 
-
-Socks:
-======
-Antonio Rosella <antonio.rosella@agip.it> has written a sample HTML
-frontend and a Perl script to demonstrate usage of socksified Wget as
-web retriever.
-
-To configure Wget to use socks, do a
-$ ./configure --with-sox.
-
-download.html and download-netscape.html are examples of how you can
-use socksified Wget to schedule the WWW requests.  wget.cgi is a
-CGI Perl script used in conjunction with download.html, which
-schedules request using the "at" command.
-
-To get the script, contact Antonino.
-
 rmold.pl
 ========
 This Perl script is used to check which local files are no longer on
 the remote server.  You can use it to get the list of files, or
 $ rmold.pl [dir] | xargs rm
 
+trunc
+=====
+This small program may be used to create files of arbitrary size; useful
+for testing certain scenarios using wget's --continue option.
diff --git a/util/dist-wget b/util/dist-wget
deleted file mode 100755 (executable)
index ee1cb14..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2001 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
-##
-#
-# This script creates a Wget distribution (wget-VERSION.tar.gz).
-# It uses `make dist' to do most of the work, but corrects some
-# things that `make dist' doesn't and can't do.  Specifically:
-#
-# * Checks out the clean source from the Subversion repository to a
-#   temporary directory.
-# * Runs autoconf, configure and `make' in the doc and po subdirs to
-#   make sure that all the generated files, such as `configure',
-#   `wget.info', and translated PO files, end up in the distribution.
-# * Optionally changes src/version.c and doc/version.texi to the
-#   version forced by `--force-version'.
-# * Runs `make dist' to produce the archive.
-# * Removes the checkout.
-#
-# For example, to produce a Wget beta based on the latest sources on
-# the trunk, with version changed to "1.23-beta10", run `dist-wget
-# --force-version 1.23-beta10'.  You can choose which sources will be
-# used by specifying `-b PATH' ("trunk" by default) in combination
-# with one of `-D DATE' or `-r REVISION' (the latest revision by
-# default).
-#
-# Use the MAKE environment variable to specify a different version of
-# make, for example MAKE=gmake dist-wget ...
-#
-##
-
-set -e
-
-SVNURL=http://svn.dotsrc.org/repo/wget/
-SUBDIR=wget.checkout.$$
-DEBUG=no
-
-EXPORT_PATH=trunk
-EXPORT_REVISION=HEAD
-VERSION=
-MAKE=${MAKE-make}
-
-if test x"$TMPDIR" = x
-then
-  TMPDIR=/tmp
-fi
-DEST_DIR=`pwd`
-
-while test x"$*" != x
-do
-  case "$1" in
-    -d)
-      DEBUG=yes
-      ;;
-    -b)
-      shift
-      EXPORT_PATH=$1
-      ;;
-    -D)
-      shift
-      # Subversion uses the -r {DATE} syntax for specifying revisions
-      # based on dates.
-      EXPORT_REVISION={$1}
-      ;;
-    -r)
-      shift
-      EXPORT_REVISION=$1
-      ;;
-    --force-version)
-      shift
-      VERSION=$1
-      ;;
-    *)
-      echo "Usage: $0 [-d] [-b BRANCH-PATH] [-r REVISION | -D DATE]" >&2
-      exit 1
-  esac
-  shift
-done
-
-# Resolve echo -n incompatibilities.
-e_n=-n
-e_c=
-if test x"`(echo -n foo; echo bar)`" != xfoobar; then
-  e_n=
-  e_c='\c'
-fi
-
-# File for output/errors redirection.
-O=$DEST_DIR/dist-output
-
-cd $TMPDIR
-
-echo "Building wget dist in $TMPDIR/$SUBDIR."
-echo "Output from commands is in $O."
-
-echo "-----------" >$O
-
-# Checkout clean sources from the repository.
-echo $e_n "Exporting $SVNURL$EXPORT_PATH/ (-r $EXPORT_REVISION) to $TMPDIR/$SUBDIR... $e_c"
-svn export -r "$EXPORT_REVISION" "$SVNURL/$EXPORT_PATH/" $SUBDIR 1>>$O 2>&1
-echo "done."
-
-cd $SUBDIR
-
-# Force the version if required.
-if test x"$VERSION" != x
-then
-  echo "Forcing version to $VERSION."
-  echo "char *version_string = \"$VERSION\";" > src/version.c
-  echo "@set VERSION $VERSION" > doc/version.texi
-fi
-
-# Create configure and friends.
-if test ! -f configure; then
-  echo $e_n "Creating \`configure' and \`src/config.h'... $e_c"
-  ./autogen.sh 1>>$O 2>&1
-  echo "done."
-fi
-
-# Remove `Makefile' if it already exists.
-if test -f Makefile; then
-  echo $e_n "Cleaning old Makefiles with \`$MAKE distclean'... $e_c"
-  $MAKE distclean 1>>$O 2>&1
-  echo "done."
-fi
-
-# Create a new `Makefile'.
-echo $e_n "Running configure... $e_c"
-CFLAGS=-g ./configure 1>>$O 2>&1
-echo "done."
-
-# Now build the MO files.
-echo $e_n "Building MO files out of PO files... $e_c"
-cd po
-$MAKE 1>>$O 2>&1
-cd ..
-echo "done."
-
-# Now build the Info documentation and the man page.
-echo $e_n "Building Info and man documentation... $e_c"
-cd doc
-$MAKE 1>>$O 2>&1
-cd ..
-echo "done."
-
-# Create the distribution file.
-echo $e_n "Creating distribution tarball... $e_c"
-$MAKE dist 1>>$O 2>&1
-archive=`echo wget-*.tar.gz`
-mv "$archive" $DEST_DIR
-echo "$archive"
-
-cd ..
-
-if test $DEBUG = no; then
-  rm -rf $SUBDIR 1>>$O 2>&1
-fi
diff --git a/util/download-netscape.html b/util/download-netscape.html
deleted file mode 100644 (file)
index 31ce6b0..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<html>
-  <head>
-    <title>Wget Gateway</title>
-    <link rev="made" href="mailto:Antonio.Rosella@agip.it">
-  </head>
-  
-  <body>
-    <center>
-      <h1>Wget Gateway</h1>
-    </center>
-    <p>
-      Welcome to Wget Gateway, a simple page showing the usage of
-      socksified wget behind a firewall. In my configuration it is
-      very useful because:
-    <ul>
-      <li>Only few users can exit from firewall
-      <li>A lot of users need information that can be reached in Internet
-      <li>I cannot dowload big files during my job time, so, I
-       have to schedule the requests after the normal work time
-    </ul>
-
-    <p>
-      With the combination of a socksified wget and a simple cgi
-      that schedules the requests can I reach the aim. All you need
-      is:
-    <ul>
-      <li> A socksified copy of
-       <a href="ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/wget.tar.gz">
-         wget</a>
-      <li> Perl (available on all the GNU mirroring sites)
-      <li> cgi-lib.pl (available at
-       <a href="ftp://ftp.switch.ch/mirror/CPAN/ROADMAP.html">CPAN</a>)
-      <li> A customized copy of this html
-      <li> A customized copy of socks.cgi
-    </ul>
-    This is my h/s configuration:
-    <pre>
-
-+----------+ +----------------------------------+ +---------------------+
-| Firewall | | Host that can exit from firewall | | Intranet www server |
-+----------+ |            htceff                | +---------------------+
-             +----------------------------------+ | Wget.html           |
-             | socksified wget                  | +---------------------+
-            | cgi-lib.pl                       | 
-            | perl                             |
-            | wget.cgi                         |
-            +----------------------------------+
-    </pre>
-    <p>
-      wget.cgi, wget and cgi-lib.pl are located in the usual
-      cgi-bin directory. The customization of wget.cgi and
-      wget.html has to reflect you installation, i.e.:
-    <ul>
-      <li> download-netscape.html requires wget.cgi
-      <li> wget.cgi requires Perl, cgi-lib.pl and wget
-      <li>
-       wget.cgi has to download the files to a directory writable
-       by the user submitting the request.  At the moment I have an
-       anonymous ftp installed on <em>htceff</em>, and wget puts
-       dowloaded files to /pub/incoming directory (if you look at
-       wget.cgi, it sets the destdir to "/u/ftp/pub/incoming" if
-       the user leaves it blank).
-    </ul>
-    <p>
-      You can also add other parameters that you want to pass to wget,
-      but in this case you will also have to modify wget.cgi
-
-    <hr>
-    <form method="get" action="http://localhost/cgi-bin/wget.cgi">
-      <center>
-       <table border=1>
-           <td>Recursive Download
-           <td><select name=Recursion>
-               <Option selected value=N>No</Option>
-               <Option value=Y>Yes</Option>
-             </select>
-       </table>
-       <hr>
-       <table border=1>
-           <td>Depth
-           <td><input type="radio" name=depth value=1 checked> 1
-           <td><input type="radio" name=depth value=2 > 2
-           <td><input type="radio" name=depth value=3 > 3 
-           <td><input type="radio" name=depth value=4 > 4
-           <td><input type="radio" name=depth value=5 > 5
-       </table>
-       <hr>
-       <table>
-           <td>Url to download: <td><input name="url" size=50><TR>
-           <td>Destination directory: <td><input name="destdir" size=50><TR>
-       </table>
-       <hr>
-       Now you can
-       <font color=yellow><input type="submit" value="download"></font>
-       the requested URL or
-       <font color=yellow><input type="reset" value="reset"></font>
-       the form.
-    </form>
-    <hr>
-    Feedback is always useful! Please contact me at
-    <address>
-      <a href="mailto:Antonio.Rosella@agip.it">Antonio Rosella&lt;Antonio.Rosella@agip.it&gt;</a>.
-    </address>
-    You can send your suggestions or bug reports for Wget to
-    <address>
-      <a href="mailto:hniksic@arsdigita.com">Hrvoje Niksic &lt;hniksic@arsdigita.com&gt;</a>.
-    </address>
-    <!-- hhmts start -->
-Last modified: Mon Oct 23 17:40:03 CEST 2000
-<!-- hhmts end -->
-  </body>
-</html>
-
diff --git a/util/download.html b/util/download.html
deleted file mode 100644 (file)
index 4775497..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-  <head>
-    <title>Wget Gateway</title>
-    <link rev="made" href="mailto:Antonio.Rosella@agip.it">
-  </head>
-
-  <body>
-      <h1>Wget Gateway</h1>
-      <p>
-       Welcome to Wget Gateway, a simple page showing the usage of
-       socksified wget behind a firewall. In my configuration it is
-       very useful because:
-      <ul>
-       <li>Only few users can exit from firewall
-       <li>A lot of users need information that can be reached in Internet
-       <li>I cannot dowload big files during my job time, so, I
-         have to schedule the requests after the normal work time
-      </ul>
-
-      <p>
-       With the combination of a socksified wget and a simple cgi
-       that schedules the requests can I reach the aim. All you need
-       is:
-      <ul>
-       <li> A socksified copy of
-         <a href="ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/wget.tar.gz">
-           wget</a>
-       <li> Perl (available on all the GNU mirroring sites)
-       <li> cgi-lib.pl (available at
-         <a href="ftp://ftp.switch.ch/mirror/CPAN/ROADMAP.html">CPAN</a>)
-       <li> A customized copy of this html
-       <li> A customized copy of socks.cgi
-      </ul>
-      This is my h/s configuration:
-      <pre>
-
-+----------+ +----------------------------------+ +---------------------+
-| Firewall | | Host that can exit from firewall | | Intranet www server |
-+----------+ |            htceff                | +---------------------+
-             +----------------------------------+ | Wget.html           |
-             | socksified wget                  | +---------------------+
-            | cgi-lib.pl                       | 
-            | perl                             |
-            | wget.cgi                         |
-            +----------------------------------+
-      </pre>
-      <p>
-       wget.cgi, wget and cgi-lib.pl are located in the usual
-       cgi-bin directory. The customization of wget.cgi and
-       wget.html has to reflect you installation, i.e.:
-      <ul>
-       <li> download.html requires wget.cgi
-       <li> wget.cgi requires Perl, cgi-lib.pl and wget
-       <li>
-         wget.cgi has to download the files to a directory writable
-         by the user submitting the request.  At the moment I have an
-         anonymous ftp installed on <em>htceff</em>, and wget puts
-         dowloaded files to /pub/incoming directory (if you look at
-         wget.cgi, it sets the destdir to "/u/ftp/pub/incoming" if
-         the user leaves it blank).
-      </ul>
-      <p>
-       You can also add other parameters that you want to pass to wget,
-       but in this case you will also have to modify wget.cgi
-
-      <hr>
-      <form method="get" action="http://localhost/cgi-bin/wget.cgi">
-       <h3>Downloading (optionally recursive)</h3>
-       <ul>
-         <li>
-           Recursion:
-           <Select name=Recursion>
-             <Option selected value=N>No</Option>
-             <Option value=Y>Yes</Option>
-           </Select>
-         <li>
-           Depth:
-           <input type="radio" name=depth value=1 checked>1
-           <input type="radio" name=depth value=2 >2
-           <input type="radio" name=depth value=3 >3 
-           <input type="radio" name=depth value=4 >4
-           <input type="radio" name=depth value=5 >5
-         <li>
-           Url to download: <input name="url" size=50>
-         <li>
-           Destination directory: <input name="destdir" size=50>
-       </ul>
-       Now you can <input type="submit" value="download"> the
-       requested URL or <input type="reset" value="reset"> the form.
-      </form>
-      <hr>
-      Feedback is always useful! Please contact me at
-      <address>
-       <a href="mailto:Antonio.Rosella@agip.it">Antonio Rosella&lt;Antonio.Rosella@agip.it&gt;</a>.
-      </address>
-      You can send your suggestions or bug reports for Wget to
-      <address>
-       <a href="mailto:hniksic@arsdigita.com">Hrvoje Niksic &lt;hniksic@arsdigita.com&gt;</a>.
-      </address>
-      <!-- hhmts start -->
-Last modified: October 23, 2000
-<!-- hhmts end -->
-  </body>
-</html>
-
index a14f2dc2c997fcde6eeda309e730669c67fc92d6..f08deac1ef1551779152f2ce054b533bfa822e01 100755 (executable)
@@ -1,10 +1,10 @@
 #! /usr/bin/perl -w
 
-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2007, 2008 Free Software Foundation, Inc.
 
 # This program 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 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
@@ -13,8 +13,7 @@
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 # This script is a very lame hack to remove local files, until the
diff --git a/util/trunc.c b/util/trunc.c
new file mode 100644 (file)
index 0000000..fb52ec2
--- /dev/null
@@ -0,0 +1,132 @@
+/* trunc.c: Set the size of an existing file, or create a file of a
+ *          specified size.
+ *
+ * Copyright (C) 2008 Micah J. Cowan
+ *
+ * Copying and distribution of this file, with or without modification, 
+ * are permitted in any medium without royalty provided the copyright
+ * notice and this notice are preserved. */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#define PROGRAM_NAME  "trunc"
+
+void
+usage (FILE *f)
+{
+  fputs (
+PROGRAM_NAME " [-c] file sz\n\
+\n\
+Set the filesize of FILE to SIZE.\n\
+\n\
+  -c: create FILE if it doesn't exist.\n\
+\n\
+  Multiplier suffixes for SIZE (case-insensitive):\n\
+      k: SIZE * 1024\n\
+      m: SIZE * 1024 * 1024\n", f);
+}
+
+off_t
+get_size (const char str[])
+{
+  unsigned long val;
+  int suffix;
+  char *end;
+
+  errno = 0;
+  val = strtoul(str, &end, 10);
+  if (end == str)
+    {
+      fputs (PROGRAM_NAME ": size is not a number.\n", stderr);
+      usage (stderr);
+      exit (EXIT_FAILURE);
+    }
+  else if (errno == ERANGE
+           || (unsigned long)(off_t)val != val)
+    {
+      fputs (PROGRAM_NAME ": size is out of range.\n", stderr);
+      exit (EXIT_FAILURE);
+    }
+
+  suffix = tolower ((unsigned char) end[0]);
+  if (suffix == 'k')
+    {
+      val *= 1024;
+    }
+  else if (suffix == 'm')
+    {
+      val *= 1024 * 1024;
+    }
+  
+  return val;
+}
+
+int
+main (int argc, char *argv[])
+{
+  const char *fname;
+  const char *szstr;
+  off_t      sz;
+  int        create = 0;
+  int        option;
+  int        fd;
+
+  /* Parse options. */
+  while ((option = getopt (argc, argv, "c")) != -1)
+    {
+      switch (option) {
+        case 'c':
+          create = 1;
+          break;
+        case '?':
+          fprintf (stderr, PROGRAM_NAME ": Unrecognized option `%c'.\n\n",
+                   optopt);
+          usage (stderr);
+          exit (EXIT_FAILURE);
+        default:
+          /* We shouldn't reach here. */
+          abort();
+      }
+    }
+
+  if (argv[optind] == NULL
+      || argv[optind+1] == NULL
+      || argv[optind+2] != NULL)
+    {
+      usage (stderr);
+      exit (EXIT_FAILURE);
+    }
+
+  fname = argv[optind];
+  szstr = argv[optind+1];
+
+  sz = get_size(szstr);
+  if (create)
+    {
+      mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
+      fd = open(fname, O_WRONLY | O_CREAT, mode);
+    }
+  else
+    {
+      fd = open(fname, O_WRONLY);
+    }
+
+  if (fd == -1)
+    {
+      perror (PROGRAM_NAME ": open");
+      exit (EXIT_FAILURE);
+    }
+
+  if (ftruncate(fd, sz) == -1)
+    {
+      perror (PROGRAM_NAME ": truncate");
+      exit (EXIT_FAILURE);
+    }
+
+  return 0;
+}
diff --git a/util/update_po_files.sh b/util/update_po_files.sh
deleted file mode 100755 (executable)
index 4ae3b8b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-for i in *.po
-do 
-       mv $i $i.old
-
-       wget http://www.iro.umontreal.ca/translation/maint/wget/$i
-
-       if test -f $i
-       then 
-               rm -f $i.old
-       fi
-done
diff --git a/util/wget.spec b/util/wget.spec
deleted file mode 100644 (file)
index 48c80a9..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-Name: wget
-Version: 1.7
-Release: 1
-Copyright: GPL
-Source: ftp://ftp.gnu.org/gnu/wget/wget-%{version}.tar.gz 
-Url: http://sunsite.dk/wget/
-Provides: webclient
-Prereq: /sbin/install-info
-BuildRoot: /var/tmp/%{name}-root
-
-Group: Applications/Internet
-Group(cs): Aplikace/Internet
-Summary: A utility for retrieving files using the HTTP or FTP protocols.
-Summary(cs): Nástroj pro stahování souborù pomocí protokolù HTTP nebo FTP.
-
-%description
-GNU Wget is a free network utility to retrieve files from the World
-Wide Web using HTTP and FTP protocols. It works non-interactively,
-thus enabling work in the background, after having logged off.
-Wget supports recursive retrieval of HTML pages, as well as FTP sites.
-Wget supports proxy servers, which can lighten the network load, speed
-up retrieval and provide access behind firewalls.
-
-It works exceedingly well also on slow or unstable connections,
-keeping getting the document until it is fully retrieved. Re-getting
-files from where it left off works on servers (both HTTP and FTP) that
-support it. Matching of wildcards and recursive mirroring of
-directories are available when retrieving via FTP.  Both HTTP and FTP
-retrievals can be time-stamped, thus Wget can see if the remote file
-has changed since last retrieval and automatically retrieve the new
-version if it has.
-
-Install wget if you need to retrieve large numbers of files with HTTP or
-FTP, or if you need a utility for mirroring web sites or FTP directories.
-
-%description -l cs
-
-
-%prep
-%setup -q
-
-%build
-%configure --sysconfdir=/etc
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-%makeinstall
-gzip $RPM_BUILD_ROOT%{_infodir}/*
-
-%post
-/sbin/install-info %{_infodir}/wget.info.gz %{_infodir}/dir
-
-%preun
-if [ "$1" = 0 ]; then
-    /sbin/install-info --delete %{_infodir}/wget.info.gz %{_infodir}/dir
-fi
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root)
-%doc AUTHORS MAILING-LIST NEWS README INSTALL doc/ChangeLog doc/sample.wgetrc
-%config /etc/wgetrc
-%{_bindir}/wget
-%{_infodir}/*
-/usr/share/locale/*/LC_MESSAGES/*
-
-%changelog
-* Wed Jan  3 2001 Jan Prikryl <prikryl@cg.tuwien.ac.at>
-- preliminary version for 1.7
-- removed all RedHat patches from 1.5.3 for this moment
-
-* Tue Aug  1 2000 Bill Nottingham <notting@redhat.com>
-- setlocale for LC_CTYPE too, or else all the translations think their
-  characters are unprintable.
-
-* Thu Jul 13 2000 Prospector <bugzilla@redhat.com>
-- automatic rebuild
-
-* Sun Jun 11 2000 Bill Nottingham <notting@redhat.com>
-- build in new environment
-
-* Mon Jun  5 2000 Bernhard Rosenkraenzer <bero@redhat.com>
-- FHS compliance
-
-* Thu Feb  3 2000 Bill Nottingham <notting@redhat.com>
-- handle compressed man pages
-
-* Thu Aug 26 1999 Jeff Johnson <jbj@redhat.com>
-- don't permit chmod 777 on symlinks (#4725).
-
-* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
-- auto rebuild in the new build environment (release 4)
-
-* Fri Dec 18 1998 Bill Nottingham <notting@redhat.com>
-- build for 6.0 tree
-- add Provides
-
-* Sat Oct 10 1998 Cristian Gafton <gafton@redhat.com>
-- strip binaries
-- version 1.5.3
-
-* Sat Jun 27 1998 Jeff Johnson <jbj@redhat.com>
-- updated to 1.5.2
-
-* Thu Apr 30 1998 Cristian Gafton <gafton@redhat.com>
-- modified group to Applications/Networking
-
-* Wed Apr 22 1998 Cristian Gafton <gafton@redhat.com>
-- upgraded to 1.5.0
-- they removed the man page from the distribution (Duh!) and I added it back
-  from 1.4.5. Hey, removing the man page is DUMB!
-
-* Fri Nov 14 1997 Cristian Gafton <gafton@redhat.com>
-- first build against glibc
index e4dc749c644bb6b3b8f4590d4d72404f6b24205b..8890265ac89b72b96948d610d03c1054cd9b291f 100644 (file)
@@ -1,3 +1,64 @@
+2008-01-25  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.am, Makefile.doc, Makefile.src, Makefile.top,
+       Makefile.top.bor, Makefile.top.mingw, config-compiler.h: Updated
+       copyright year.
+
+2007-11-28  Micah Cowan <micah@cowan.name>
+
+       * Makefile.doc, Makefile.am, Makefile.src, Makefile.top,
+       Makefile.top.bor, Makefile.top.mingw, config-compiler.h: Updated
+       license exception for OpenSSL, per the SFLC.
+
+2007-10-15  Gisle Vanem  <giva@bgnett.no>
+
+       * config-compiler.h: Adjust for OpenWacom 1.7's _Bool fix.
+
+2007-10-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in: Removed, replaced by Makefile.am.
+       * Makefile.am: Converted from Makefile.in.
+
+2007-09-24  Christopher Lewis <chris@christopherlewis.com>
+
+       * config-compiler.h: Fix compiler warnings related to
+       HAVE_INTPTR_T.
+
+2007-07-05  Micah Cowan  <micah@cowan.name>
+
+       * Makefile.top.bor, Makefile.doc, Makefile.in, Makefile.src:
+       * config-compiler.h, Makefile.top, Makefile.top.mingw:
+       Updated GPL reference to version 3 or later, removed FSF
+       address.
+
+2006-06-25  Christopher Lewis <chris@christopherlewis.com>
+
+       * Windows\Makefile.top: Added OpenSSL dlls and cacert.pem to
+       wget.zip to further automate the Win32 build process
+
+       * Windows\Makefile.top.bor: Added OpenSSL dlls and cacert.pem to
+       wget.zip to further automate the Win32 build process
+
+2007-01-23  Christopher Lewis <chris@christopherlewis.com>
+
+       * Windows\Makefile.top: Added the required file msvcr80.dll.  This
+       file is required by OpenSSL.
+
+       * Windows\Makefile.top.bor: Added the required file msvcr80.dll.
+       This file is required by OpenSSL.
+
+2006-12-29  Gisle Vanem  <giva@bgnett.no>
+
+       * config.h: Added 'HAVE_SYS_UTIME_H 1' which gets undefined as needed
+       in config-compiler.h. 
+
+       * config-compiler.h: Added '_WIN32_WINNT=0x0501' as needed to pull in
+       the prototype of getaddrinfo() and other library functions. Defined
+       HAVE_UINTPTR_T and HAVE_INTPTR_T for Digital Mars, which supports
+       'uintptr_t' and 'intptr_t'. Undefined HAVE_STDBOOL_H for Watcom, which
+       has <stdbol.h> but the file cannot be used since the '_Bool' builtin
+       is missing in the compiler!
+
 2006-10-12  Gisle Vanem  <giva@bgnett.no>
 
        * config-compiler.h (HAVE_INTPTR_T): Define to 1 under MinGW.
diff --git a/windows/Makefile.am b/windows/Makefile.am
new file mode 100644 (file)
index 0000000..af8ffc7
--- /dev/null
@@ -0,0 +1,38 @@
+# Makefile for `wget' utility
+# Copyright (C) 1995, 1996, 1997, 2007, 2008 Free Software Foundation, Inc.
+
+# This program 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 3 of the License, 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
+
+#
+# Version: @VERSION@
+#
+
+# This file is just a stub, so that the build subprocess in `windows'
+# succeeds.  This directory is not used under Unix builds, normally
+# affected by Makefile.in.
+
+EXTRA_DIST = config-compiler.h config.h Makefile.doc \
+            Makefile.src Makefile.src.bor Makefile.src.mingw \
+            Makefile.top Makefile.top.bor Makefile.top.mingw
index 0c6ded5fa210016072b5eda07b84443f2c9c9d14..78afe608af78799f217d851e42c68ad563e1ef7d 100644 (file)
@@ -1,9 +1,10 @@
 # Makefile for `wget' utility
-# Copyright (C) 1995, 1996, 1997, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2004, 2007,
+# 2008 Free Software Foundation, Inc.
 
 # This program 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 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
 
 # You probably need makeinfo and perl, see the README in the main
 # windows directory.
diff --git a/windows/Makefile.in b/windows/Makefile.in
deleted file mode 100644 (file)
index 6ea4c04..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-# Makefile for `wget' utility
-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-
-# This program 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 2 of the License, 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 General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
-#
-# Version: @VERSION@
-#
-
-# This file is just a stub, so that the build subprocess in `windows'
-# succeeds.  This directory is not used under Unix builds, normally
-# affected by Makefile.in.
-
-SHELL = /bin/sh
-
-top_builddir = ..
-
-srcdir = @srcdir@
-VPATH  = @srcdir@
-
-RM = rm -f
-
-all:
-
-clean:
-
-distclean: clean
-       $(RM) Makefile
-
-realclean: distclean
-
index aeaea6d2fce8760bd50f832c15d33275e256cfdf..e9e3d2d3faf7d206abff6dfd40c501b8cce46c07 100644 (file)
@@ -1,9 +1,10 @@
 # Makefile for `wget' utility for MSVC
-# Copyright (C) 1995, 1996, 1997, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2004, 2006, 2007,
+# 2008 Free Software Foundation, Inc.
 
 # This program 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 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
-
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
 
 # SSL (https) support requires the OpenSSL library (see http://www.openssl.org/).
 # If you do not have OpenSSL installed or wish to build Wget without SSL
index a9025abcf036dfb2a3336cf4d97c6682793ebb59..fbf0e4e75776098216125d771e9b897cc11e89bf 100644 (file)
@@ -1,9 +1,10 @@
 # Makefile for `Wget' utility
-# Copyright (C) 1995, 1996, 1997, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2004, 2007,
+# 2008 Free Software Foundation, Inc.
 
 # This program 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 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
 
 RM = -del
 CP = copy
@@ -72,6 +73,8 @@ bindist: wget.zip
 
 wget.zip: $(SUBDIRS)
        $(RM) wget.zip
-       zip -Djl9 wget.zip AUTHORS COPYING INSTALL MAILING-LIST NEWS README doc/sample.wgetrc
-       zip -Dj9 wget.zip src/wget.exe doc/wget.hlp
-
+       $(RM) cacert.pem
+       src\wget http://curl.haxx.se/ca/cacert.pem
+       zip -Djl9 wget.zip AUTHORS COPYING INSTALL MAILING-LIST NEWS README doc/sample.wgetrc 
+       zip -Dj9 wget.zip src/wget.exe doc/wget.hlp cacert.pem 
+       zip -Dj9 wget.zip c:\openssl\bin\libeay32.dll c:\openssl\bin\ssleay32.dll c:\openssl\bin\msvcr80.dll
index b36111620f8abf3a559afc5a7c513a3aeb565cb8..ce0eb20f21f22c413d58625c9187c76399d9f69f 100644 (file)
@@ -1,9 +1,10 @@
 # Makefile for `Wget' utility
-# Copyright (C) 1995, 1996, 1997, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2004, 2007,
+# 2008 Free Software Foundation, Inc.
 
 # This program 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 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
 
 RM = -del
 CP = copy
@@ -70,6 +71,9 @@ bindist: wget.zip
 
 wget.zip: $(SUBDIRS)
        $(RM) wget.zip
-       zip -Djl9 wget.zip AUTHORS COPYING INSTALL MAILING-LIST NEWS README doc/sample.wgetrc
-       zip -Dj9 wget.zip src/wget.exe doc/wget.hlp
+       $(RM) cacert.pem
+       src\wget http://curl.haxx.se/ca/cacert.pem
+       zip -Djl9 wget.zip AUTHORS COPYING INSTALL MAILING-LIST NEWS README doc/sample.wgetrc 
+       zip -Dj9 wget.zip src/wget.exe doc/wget.hlp cacert.pem 
+       zip -Dj9 wget.zip c:\openssl\bin\libeay32.dll c:\openssl\bin\ssleay32.dll c:\openssl\bin\msvcr80.dll
 
index 5d60f4809d49a677309248cfe3004c039257e0b4..fc3a62359af0217979da429b30ba2a2262eb8047 100644 (file)
@@ -1,9 +1,10 @@
 # Makefile for `Wget' utility
-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2007,
+# 2008 Free Software Foundation, Inc.
 
 # This program 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 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# In addition, as a special exception, the Free Software Foundation
-# gives permission to link the code of its release of Wget with the
-# OpenSSL project's "OpenSSL" library (or with modified versions of it
-# that use the same license as the "OpenSSL" library), and distribute
-# the linked executables.  You must obey the GNU General Public License
-# in all respects for all of the code used other than "OpenSSL".  If you
-# modify this file, you may extend this exception to your version of the
-# file, but you are not obligated to do so.  If you do not wish to do
-# so, delete this exception statement from your version.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Additional permission under GNU GPL version 3 section 7
+
+# If you modify this program, or any covered work, by linking or
+# combining it with the OpenSSL project's OpenSSL library (or a
+# modified version of that library), containing parts covered by the
+# terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+# grants you additional permission to convey the resulting work.
+# Corresponding Source for a non-source form of such a combination
+# shall include the source code for the parts of OpenSSL used as well
+# as that of the covered work.
 
 # Makefile for building WGET.EXE and WGET.HLP using MinGW GCC/Win32 compiler.
 
index a4435ef99075883ae370cf04f363a99c049a2102..3ee0e638820657d7fb477d49c3abf6bc56653a44 100644 (file)
@@ -1,11 +1,11 @@
 /* Support for various Windows compilation environments.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU Wget.
 
 GNU Wget 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 2 of the License, or
+the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 
 GNU Wget is distributed in the hope that it will be useful,
@@ -14,18 +14,18 @@ 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 Wget; if not, write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+along with Wget.  If not, see <http://www.gnu.org/licenses/>.
 
-In addition, as a special exception, the Free Software Foundation
-gives permission to link the code of its release of Wget with the
-OpenSSL project's "OpenSSL" library (or with modified versions of it
-that use the same license as the "OpenSSL" library), and distribute
-the linked executables.  You must obey the GNU General Public License
-in all respects for all of the code used other than "OpenSSL".  If you
-modify this file, you may extend this exception to your version of the
-file, but you are not obligated to do so.  If you do not wish to do
-so, delete this exception statement from your version.  */
+Additional permission under GNU GPL version 3 section 7
+
+If you modify this program, or any covered work, by linking or
+combining it with the OpenSSL project's OpenSSL library (or a
+modified version of that library), containing parts covered by the
+terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
+grants you additional permission to convey the resulting work.
+Corresponding Source for a non-source form of such a combination
+shall include the source code for the parts of OpenSSL used as well
+as that of the covered work.  */
 
 
 /* This file contains information about various compilers used to
@@ -87,10 +87,18 @@ so, delete this exception statement from your version.  */
 #define HAVE__BOOL 1
 #undef SIZEOF_LONG_LONG                /* avoid redefinition warning */
 #define SIZEOF_LONG_LONG 8
-#define HAVE_INTPTR_T 1 
+#define HAVE_INTPTR_T 1
 #define HAVE_UINTPTR_T 1
-
 #define HAVE_STRTOLL 1
+\f
+/* MingW needs _WIN32_WINNT==0x0501 defined to pull in getaddrinfo()
+ * and freeaddrinfo() etc.
+ */
+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0501)
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#endif
+
 \f
 /* -------------------- */
 /* MS Visual C section. */
@@ -112,12 +120,19 @@ so, delete this exception statement from your version.  */
 # define HAVE__STRTOI64 1
 #endif
 
+#if _MSC_VER >= 1310
+#define HAVE_INTPTR_T 1
+#define HAVE_UINTPTR_T 1
+#endif
+
 #if _MSC_VER >= 1400
 #pragma warning ( disable : 4996 )
 #define _CRT_SECURE_NO_DEPRECATE
-#define HAVE_SYS_UTIME_H 1
-#undef HAVE_UTIME_H
 #endif
+
+\f
+#undef HAVE_UTIME_H         /* no <utime.h> */
+
 \f
 /* ------------------ */
 /* Borland C section. */
@@ -158,12 +173,16 @@ so, delete this exception statement from your version.  */
 #define HAVE_STDBOOL_H 1
 
 #define HAVE_UINT32_T 1
+#define HAVE_UINTPTR_T 1
+#define HAVE_INTPTR_T 1
+
 #undef SIZEOF_LONG_LONG
 #define SIZEOF_LONG_LONG 8
 #define HAVE__BOOL 1
 
 #define HAVE_USLEEP 1
 #define HAVE_STRTOLL 1
+#undef HAVE_UTIME_H         /* no <utime.h> */
 
 \f
 /* -------------------- */
@@ -186,15 +205,30 @@ so, delete this exception statement from your version.  */
 
 #define HAVE_STDINT_H 1
 #define HAVE_INTTYPES_H 1
+
+/* OpenWatcom 1.6 do have <stdbool.h>, but definition of '_Bool' is missing! */
+/* This was fixed in OpenWatcom 1.7 */
+#if __WATCOMC__ >= 1270
 #define HAVE_STDBOOL_H 1
+#define HAVE__BOOL 1
+#endif
+
 #define HAVE_STRTOLL 1
 #define HAVE_UINT32_T 1
-#define HAVE_SYS_UTIME_H 1
 #undef HAVE_UTIME_H
 #undef socklen_t                /* avoid clash with <ws2tcpip.h> */
 
 #undef SIZEOF_LONG_LONG
 #define SIZEOF_LONG_LONG 8
+
+/* OpenWatcom needs _WIN32_WINNT==0x0501 defined to pull in getaddrinfo()
+ * and freeaddrinfo() etc.
+ */
+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0501)
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#endif
+
 \f
 #else
 # error Your compiler is not supported.
index b518a82ba79e1de35ef8173205d36b512475f82e..9736b1963f5fa3bc677ad243a3e535a2925f732f 100644 (file)
 /* Define to 1 if you have the <utime.h> header file. */
 #define HAVE_UTIME_H 1
 
+/* Define to 1 if you have the <sys/utime.h> header file. */
+#define HAVE_SYS_UTIME_H 1
+
 /* Define to 1 if you have the `vsnprintf' function. */
 #define HAVE_VSNPRINTF 1