pull/1/head
Tatsuhiro Tsujikawa 2006-03-05 06:32:01 +00:00
parent 0276b3bb37
commit 8d980589e3
25 changed files with 840 additions and 510 deletions

View File

@ -1,3 +1,24 @@
2006-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* main.cc: correct help message for --http-auth-scheme.
* main.cc: changed e-mail address for bug reports.
* ja.po: added japanese translation.
2006-03-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* SimpleLogger.cc: flush log file instead of stdout.
2006-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* main.cc: Fixed command-line option: max-tries
* HttpResponseCommand.cc: Make the request re-sent only if req->seg.sp
does not equal to seg.sp.
* DownloadCommand.cc: If EOF is got from the server and the total size
of file is not zero, then throw DlRetryEx.
* main.cc: Set the minium value of min-segment-size to 1024.
* HttpResponseCommand.cc: Fixed the bug that http segmented downloading
fails because of a regression since 0.2.0 release.
2006-03-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* HttpConnection.cc:

View File

@ -168,6 +168,7 @@ infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@

7
configure vendored
View File

@ -311,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS RANLIB ac_ct_RANLIB MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP EGREP LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS RANLIB ac_ct_RANLIB MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB localedir CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP EGREP LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -4859,6 +4859,10 @@ _ACEOF
# Set localedir
localedir=${datadir}/locale
# Checks for arguments.
# Check whether --enable-ssl or --disable-ssl was given.
if test "${enable_ssl+set}" = set; then
@ -8768,6 +8772,7 @@ s,@INTLLIBS@,$INTLLIBS,;t t
s,@LIBINTL@,$LIBINTL,;t t
s,@LTLIBINTL@,$LTLIBINTL,;t t
s,@POSUB@,$POSUB,;t t
s,@localedir@,$localedir,;t t
s,@CXX@,$CXX,;t t
s,@CXXFLAGS@,$CXXFLAGS,;t t
s,@ac_ct_CXX@,$ac_ct_CXX,;t t

View File

@ -11,6 +11,10 @@ AC_PROG_RANLIB
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION(0.12.1)
# Set localedir
localedir=${datadir}/locale
AC_SUBST(localedir)
# Checks for arguments.
AC_ARG_ENABLE([ssl], [ --enable-ssl enalbe SSL support if libssl is installed. Default: yes], [enable_ssl=$enableval], [enable_ssl=yes])

View File

@ -143,6 +143,7 @@ infodir = ${prefix}/info
install_sh = /home/tujikawa/aria2/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${prefix}/share/locale
localstatedir = ${prefix}/var
mandir = ${prefix}/man
mkdir_p = mkdir -p --

View File

@ -143,6 +143,7 @@ infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@

View File

@ -49,7 +49,8 @@ $(POFILES) $(GMOFILES) \
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
POTFILES = \
../src/message.h
../src/message.h \
../src/main.cc
CATALOGS = ja.gmo

View File

@ -18,7 +18,7 @@ XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
# 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.
COPYRIGHT_HOLDER = Tatsuhiro Tsujikawa
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:

View File

@ -1 +1,2 @@
../src/message.h
../src/message.h \
../src/main.cc

View File

@ -1 +1,2 @@
src/message.h
src/main.cc

View File

@ -1,402 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2006-03-02 19:19+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: /home/tujikawa/aria2/src/message.h:27
msgid "CUID#%d - The download for one segment completed successfully."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:28
msgid "CUID#%d - No segment available."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:29
msgid "CUID#%d - Connecting to %s:%d"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:30
msgid "CUID#%d - The segment changed. We send the request again with new Range header."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:31
msgid "CUID#%d - Redirecting to %s"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:32
msgid ""
"CUID#%d - Requesting:\n"
"%s"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:33
msgid ""
"CUID#%d - Response received:\n"
"%s"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:34
msgid "CUID#%d - Download aborted."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:35
msgid "CUID#%d - Restarting the download."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:36
msgid "CUID#%d - %d times attempted, but no success. Download aborted."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:37
msgid "CUID#%d - Unregistering cuid from segmentManager."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:39
msgid "The segment file %s exists."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:40
msgid "The segment file %s does not exist."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:41
msgid "Saving the segment file %s"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:42
msgid "The segment file was saved successfully."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:43
msgid "Loading the segment file %s."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:44
msgid "The segment file was loaded successfully."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:46
msgid "Timeout."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:47
msgid "Invalid chunk size."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:48
msgid "Too large chunk. size = %d"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:49
msgid "Invalid header."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:50
msgid "Invalid response."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:51
msgid "No header found."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:52
msgid "No status header."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:53
msgid "Proxy connection failed."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:54
msgid "Connection failed."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:55
msgid "The requested filename and the previously registered one are not same. %s != %s"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:56
msgid "The response status is not successful. status = %d"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:57
msgid "Too large file size. size = %lld"
msgstr ""
#: /home/tujikawa/aria2/src/message.h:58
msgid "Transfer encoding %s is not supported."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:59
msgid "SSL initialization failed."
msgstr ""
#: /home/tujikawa/aria2/src/message.h:60
msgid "Size mismatch %lld != %lld"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:57
msgid "\nSIGINT signal received."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:72
msgid "Unrecognized URL or unsupported protocol: "
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:102
msgid "Usage: "
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:102
msgid " [options] URL ..."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:104
msgid "Options:"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:105
msgid " -d, --dir=DIR The directory to store downloaded file."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:106
msgid " -o, --out=FILE The file name for downloaded file."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:107
msgid " -l, --log=LOG The file path to store log. If '-' is specified,"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:108
msgid " log is written to stdout."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:109
msgid " -D, --daemon Run as daemon."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:110
msgid " -s, --split=N Download a file using N connections. N must be"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:111
msgid " between 1 and 5. This option affects all URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:112
msgid " Thus, aria2 connects to each URL with N connections."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:113
msgid " --retry-wait=SEC Set amount of time in second between requests"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:114
msgid " for errors. Specify a value between 0 and 60."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:116
msgid " -t, --timeout=SEC Set timeout in second. Default: 60"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:117
msgid " -m, --max-tries=N Set number of tries. 0 means unlimited."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:119
msgid " --min-segment-size=SIZE[K|M] Set minimum segment size. You can append"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:121
msgid " --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:122
msgid " URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:123
msgid " --http-user=USER Set HTTP user. This affects to all URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:124
msgid " --http-passwd=PASSWD Set HTTP password. This affects to all URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:125
msgid " --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:126
msgid " --http-proxy-passwd=PASSWD Set HTTP proxy password. This affects to all URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:127
msgid " --http-proxy-method=METHOD Set the method to use in proxy request."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:128
msgid " METHOD is either 'get' or 'tunnel'."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:130
msgid " --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, basic"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:131
msgid " is the only supported scheme. You MUST specify"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:132
msgid " this option in order to use HTTP authentication"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:133
msgid " as well as --http-proxy option."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:134
msgid " --referer=REFERER Set Referer. This affects to all URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:135
msgid " --ftp-user=USER Set FTP user. This affects to all URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:136
msgid " Default: anonymous"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:137
msgid " --ftp-passwd=PASSWD Set FTP password. This affects to all URLs."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:138
msgid " Default: ARIA2USER@"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:139
msgid " --ftp-type=TYPE Set FTP transfer type. TYPE is either 'binary'"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:140
msgid " or 'ascii'."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:141
msgid " Default: binary"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:142
msgid " -p, --ftp-pasv Use passive mode in FTP."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:143
msgid " --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' or"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:144
msgid " 'tunnel'."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:146
msgid " -v, --version Print the version number and exit."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:147
msgid " -h, --help Print this message and exit."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:149
msgid "URL:"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:150
msgid " You can specify multiple URLs. All URLs must point to the same file"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:151
msgid " or downloading fails."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:153
msgid "Examples:"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:154
msgid " Download a file by 1 connection:"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:156
msgid " Download a file by 2 connections:"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:158
msgid " Download a file by 2 connections, each connects to a different server:"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:160
msgid " You can mix up different protocols:"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:230
msgid "unrecognized proxy format"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:256
msgid "Currently, supported authentication scheme is basic."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:265
msgid "retry-wait must be between 0 and 60."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:282
msgid "ftp-type must be either 'binary' or 'ascii'."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:291
msgid "ftp-via-http-proxy must be either 'get' or 'tunnel'."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:309
msgid "min-segment-size invalid"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:320
msgid "http-proxy-method must be either 'get' or 'tunnel'."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:347
msgid "split must be between 1 and 5."
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:357
msgid "timeout must be between 1 and 600"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:366
msgid "max-retires invalid"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:388
msgid "specify at least one URL"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:439
msgid "\nThe download was complete. <"
msgstr ""
#: /home/tujikawa/aria2/src/main.cc:441
msgid "\nThe download was not complete because of errors. Check the log."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2006-03-02 19:29+0900\n"
"POT-Creation-Date: 2006-03-05 15:17+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -172,3 +172,283 @@ msgstr ""
#, c-format
msgid "Size mismatch %lld != %lld"
msgstr ""
#: src/message.h:61
msgid "Got EOF from the server."
msgstr ""
#: src/main.cc:57
msgid ""
"\n"
"SIGINT signal received."
msgstr ""
#: src/main.cc:72
#, c-format
msgid "Unrecognized URL or unsupported protocol: %s\n"
msgstr ""
#: src/main.cc:78
msgid " version "
msgstr ""
#: src/main.cc:82
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"the Free Software Foundation; either version 2 of the License, or\n"
"(at your option) any later version.\n"
"\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"
"\n"
"You should have received a copy of the GNU General Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"
msgstr ""
#: src/main.cc:96
#, c-format
msgid "Contact Info: %s\n"
msgstr ""
#: src/main.cc:102
#, c-format
msgid "Usage: %s [options] URL ...\n"
msgstr ""
#: src/main.cc:104
msgid "Options:"
msgstr ""
#: src/main.cc:105
msgid " -d, --dir=DIR The directory to store downloaded file."
msgstr ""
#: src/main.cc:106
msgid " -o, --out=FILE The file name for downloaded file."
msgstr ""
#: src/main.cc:107
msgid ""
" -l, --log=LOG The file path to store log. If '-' is "
"specified,\n"
" log is written to stdout."
msgstr ""
#: src/main.cc:109
msgid " -D, --daemon Run as daemon."
msgstr ""
#: src/main.cc:110
msgid ""
" -s, --split=N Download a file using N connections. N must "
"be\n"
" between 1 and 5. This option affects all "
"URLs.\n"
" Thus, aria2 connects to each URL with\n"
" N connections."
msgstr ""
#: src/main.cc:114
msgid ""
" --retry-wait=SEC Set amount of time in second between requests\n"
" for errors. Specify a value between 0 and 60.\n"
" Default: 5"
msgstr ""
#: src/main.cc:117
msgid " -t, --timeout=SEC Set timeout in second. Default: 60"
msgstr ""
#: src/main.cc:118
msgid ""
" -m, --max-tries=N Set number of tries. 0 means unlimited.\n"
" Default: 5"
msgstr ""
#: src/main.cc:120
msgid ""
" --min-segment-size=SIZE[K|M] Set minimum segment size. You can append\n"
" K or M(1K = 1024, 1M = 1024K). This\n"
" value must be greater than or equal to\n"
" 1024."
msgstr ""
#: src/main.cc:124
msgid ""
" --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all\n"
" URLs."
msgstr ""
#: src/main.cc:126
msgid " --http-user=USER Set HTTP user. This affects to all URLs."
msgstr ""
#: src/main.cc:127
msgid ""
" --http-passwd=PASSWD Set HTTP password. This affects to all URLs."
msgstr ""
#: src/main.cc:128
msgid ""
" --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs"
msgstr ""
#: src/main.cc:129
msgid ""
" --http-proxy-passwd=PASSWD Set HTTP proxy password. This affects to all "
"URLs."
msgstr ""
#: src/main.cc:130
msgid ""
" --http-proxy-method=METHOD Set the method to use in proxy request.\n"
" METHOD is either 'get' or 'tunnel'.\n"
" Default: tunnel"
msgstr ""
#: src/main.cc:133
msgid ""
" --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, "
"basic\n"
" is the only supported scheme. You MUST "
"specify\n"
" this option in order to use HTTP "
"authentication\n"
" as well as --http-user and --http-passwd."
msgstr ""
#: src/main.cc:137
msgid " --referer=REFERER Set Referer. This affects to all URLs."
msgstr ""
#: src/main.cc:138
msgid ""
" --ftp-user=USER Set FTP user. This affects to all URLs.\n"
" Default: anonymous"
msgstr ""
#: src/main.cc:140
msgid ""
" --ftp-passwd=PASSWD Set FTP password. This affects to all URLs.\n"
" Default: ARIA2USER@"
msgstr ""
#: src/main.cc:142
msgid ""
" --ftp-type=TYPE Set FTP transfer type. TYPE is either "
"'binary'\n"
" or 'ascii'.\n"
" Default: binary"
msgstr ""
#: src/main.cc:145
msgid " -p, --ftp-pasv Use passive mode in FTP."
msgstr ""
#: src/main.cc:146
msgid ""
" --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' "
"or\n"
" 'tunnel'.\n"
" Default: tunnel"
msgstr ""
#: src/main.cc:149
msgid " -v, --version Print the version number and exit."
msgstr ""
#: src/main.cc:150
msgid " -h, --help Print this message and exit."
msgstr ""
#: src/main.cc:153
msgid ""
" You can specify multiple URLs. All URLs must point to the same file\n"
" or downloading fails."
msgstr ""
#: src/main.cc:156
msgid "Examples:"
msgstr ""
#: src/main.cc:157
msgid " Download a file by 1 connection:"
msgstr ""
#: src/main.cc:159
msgid " Download a file by 2 connections:"
msgstr ""
#: src/main.cc:161
msgid " Download a file by 2 connections, each connects to a different server:"
msgstr ""
#: src/main.cc:163
msgid " You can mix up different protocols:"
msgstr ""
#: src/main.cc:166
#, c-format
msgid "Reports bugs to %s"
msgstr ""
#: src/main.cc:240
msgid "unrecognized proxy format"
msgstr ""
#: src/main.cc:266
msgid "Currently, supported authentication scheme is basic."
msgstr ""
#: src/main.cc:275
msgid "retry-wait must be between 0 and 60."
msgstr ""
#: src/main.cc:292
msgid "ftp-type must be either 'binary' or 'ascii'."
msgstr ""
#: src/main.cc:301
msgid "ftp-via-http-proxy must be either 'get' or 'tunnel'."
msgstr ""
#: src/main.cc:319
msgid "min-segment-size invalid"
msgstr ""
#: src/main.cc:330
msgid "http-proxy-method must be either 'get' or 'tunnel'."
msgstr ""
#: src/main.cc:357
msgid "split must be between 1 and 5."
msgstr ""
#: src/main.cc:367
msgid "timeout must be between 1 and 600"
msgstr ""
#: src/main.cc:376
msgid "max-tries invalid"
msgstr ""
#: src/main.cc:398
msgid "specify at least one URL"
msgstr ""
#: src/main.cc:449
#, c-format
msgid ""
"\n"
"The download was complete. <%s>\n"
msgstr ""
#: src/main.cc:451
msgid ""
"\n"
"The download was not complete because of errors. Check the log.\n"
msgstr ""

BIN
po/ja.gmo

Binary file not shown.

453
po/ja.po
View File

@ -1,14 +1,14 @@
# Japanese translations for aria2c package
# aria2c パッケージに対する英訳.
# Copyright (C) 2006 Free Software Foundation, Inc.
# Tatsuhiro Tsujikawa <tujikawa@rednoah.com>, 2006.
# Copyright (C) 2006 Tatsuhiro Tsujikawa
# Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>, 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: aria2c 0.2.1\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2006-03-02 19:29+0900\n"
"PO-Revision-Date: 2006-03-02 19:29+0900\n"
"POT-Creation-Date: 2006-03-05 15:17+0900\n"
"PO-Revision-Date: 2006-03-05 15:21+0900\n"
"Last-Translator: Tatsuhiro Tsujikawa <tujikawa@rednoah.com>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
@ -19,17 +19,17 @@ msgstr ""
#: src/message.h:27
#, c-format
msgid "CUID#%d - The download for one segment completed successfully."
msgstr ""
msgstr "CUID#%d - 1 セグメントのダウンロードが完了."
#: src/message.h:28
#, c-format
msgid "CUID#%d - No segment available."
msgstr ""
msgstr "CUID#%d - 利用可能なセグメントはありません."
#: src/message.h:29
#, c-format
msgid "CUID#%d - Connecting to %s:%d"
msgstr ""
msgstr "CUID#%d - %s:%d に接続しています."
#: src/message.h:30
#, c-format
@ -37,11 +37,13 @@ msgid ""
"CUID#%d - The segment changed. We send the request again with new Range "
"header."
msgstr ""
"CUID#%d - セグメントが変更されています. 新たな Range ヘッダーで再リクエストを"
"発行します."
#: src/message.h:31
#, c-format
msgid "CUID#%d - Redirecting to %s"
msgstr ""
msgstr "CUID#%d - %s にリダイレクトします."
#: src/message.h:32
#, c-format
@ -49,6 +51,8 @@ msgid ""
"CUID#%d - Requesting:\n"
"%s"
msgstr ""
"CUID#%d - リクエスト:\n"
"%s"
#: src/message.h:33
#, c-format
@ -56,119 +60,506 @@ msgid ""
"CUID#%d - Response received:\n"
"%s"
msgstr ""
"CUID#%d - サーバーからのレスポンス:\n"
"%s"
#: src/message.h:34
#, c-format
msgid "CUID#%d - Download aborted."
msgstr ""
msgstr "CUID#%d - ダウンロードを中止します."
#: src/message.h:35
#, c-format
msgid "CUID#%d - Restarting the download."
msgstr ""
msgstr "CUID#%d - ダウンロードシーケンスを再開します."
#: src/message.h:36
#, c-format
msgid "CUID#%d - %d times attempted, but no success. Download aborted."
msgstr ""
"CUID#%d - %d 回ダウンロードを行いましたがすべて失敗しました. ダウンロードを中"
"止します."
#: src/message.h:37
#, c-format
msgid "CUID#%d - Unregistering cuid from segmentManager."
msgstr ""
msgstr "CUID#%d - cuid をセグメントマネジャーから削除します."
#: src/message.h:39
#, c-format
msgid "The segment file %s exists."
msgstr ""
msgstr "セグメントファイル %s が存在します."
#: src/message.h:40
#, c-format
msgid "The segment file %s does not exist."
msgstr ""
msgstr "セグメントファイル %s が存在しません."
#: src/message.h:41
#, c-format
msgid "Saving the segment file %s"
msgstr ""
msgstr "セグメントファイル %s を保存しています."
#: src/message.h:42
msgid "The segment file was saved successfully."
msgstr ""
msgstr "セグメントファイルの保存が完了しました."
#: src/message.h:43
#, c-format
msgid "Loading the segment file %s."
msgstr ""
msgstr "セグメントファイル %s をロードしています."
#: src/message.h:44
msgid "The segment file was loaded successfully."
msgstr ""
msgstr "セグメントファイルのロードが完了しました."
#: src/message.h:46
msgid "Timeout."
msgstr ""
msgstr "タイムアウトしました."
#: src/message.h:47
msgid "Invalid chunk size."
msgstr ""
msgstr "chunk サイズが不正です."
#: src/message.h:48
#, c-format
msgid "Too large chunk. size = %d"
msgstr ""
msgstr "chunk サイズ (%d) が大きすぎます."
#: src/message.h:49
msgid "Invalid header."
msgstr ""
msgstr "ヘッダーが不正です."
#: src/message.h:50
msgid "Invalid response."
msgstr ""
msgstr "サーバーから不正なレスポンスを受け取りました."
#: src/message.h:51
msgid "No header found."
msgstr ""
msgstr "ヘッダーが見つかりません."
#: src/message.h:52
msgid "No status header."
msgstr ""
msgstr "status ヘッダーが見つかりません."
#: src/message.h:53
msgid "Proxy connection failed."
msgstr ""
msgstr "Proxy 接続に失敗しました."
#: src/message.h:54
msgid "Connection failed."
msgstr ""
msgstr "接続に失敗しました."
#: src/message.h:55
#, c-format
msgid ""
"The requested filename and the previously registered one are not same. %s != "
"%s"
msgstr ""
msgstr "リクエストしたファイル名 (%s) と登録済みファイル名 (%s) が異なります."
#: src/message.h:56
#, c-format
msgid "The response status is not successful. status = %d"
msgstr ""
msgstr "レスポンスのステータス (%d) が異常です."
#: src/message.h:57
#, c-format
msgid "Too large file size. size = %lld"
msgstr ""
msgstr "ファイルサイズ (%lld) が大きすぎます."
#: src/message.h:58
#, c-format
msgid "Transfer encoding %s is not supported."
msgstr ""
msgstr "トランスファー・エンコーディング %s はサポートされていません."
#: src/message.h:59
msgid "SSL initialization failed."
msgstr ""
msgstr "SSL 初期化に失敗しました."
#: src/message.h:60
#, c-format
msgid "Size mismatch %lld != %lld"
msgstr "サイズが合いません (%lld != %lld)"
#: src/message.h:61
msgid "Got EOF from the server."
msgstr "サーバーから EOF を受けとりました."
#: src/main.cc:57
msgid ""
"\n"
"SIGINT signal received."
msgstr ""
"\n"
"SIGINT シグナルを受け取りました."
#: src/main.cc:72
#, c-format
msgid "Unrecognized URL or unsupported protocol: %s\n"
msgstr ""
"%s は, 理解できない URL フォーマット, または, サポートされないプロトコルで"
"す.\n"
#: src/main.cc:78
msgid " version "
msgstr " バージョン "
#: src/main.cc:82
msgid ""
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"the Free Software Foundation; either version 2 of the License, or\n"
"(at your option) any later version.\n"
"\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"
"\n"
"You should have received a copy of the GNU General Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"
msgstr ""
"このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフトウェ\n"
"ア財団によって発行された GNU 一般公衆利用許諾契約書(バージョン2か、希\n"
"望によってはそれ以降のバージョンのうちどれか)の定める条件の下で再頒布\n"
"または改変することができます。\n"
"\n"
"このプログラムは有用であることを願って頒布されますが、*全くの無保証* \n"
"です。商業可能性の保証や特定の目的への適合性は、言外に示されたものも含\n"
"め全く存在しません。詳しくはGNU 一般公衆利用許諾契約書をご覧ください。\n"
"\n"
"あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製物を一部\n"
"受け取ったはずです。もし受け取っていなければ、フリーソフトウェア財団ま\n"
"で請求してください(宛先は the Free Software Foundation, Inc., 59\n"
"Temple Place, Suite 330, Boston, MA 02111-1307 USA)。\n"
"(訳: http://www.opensource.jp/gpl/gpl.ja.html.euc-jp)\n"
#: src/main.cc:96
#, c-format
msgid "Contact Info: %s\n"
msgstr "連絡先: %s\n"
#: src/main.cc:102
#, c-format
msgid "Usage: %s [options] URL ...\n"
msgstr "使い方: %s [オプション] URL ...\n"
#: src/main.cc:104
msgid "Options:"
msgstr "オプション:"
#: src/main.cc:105
msgid " -d, --dir=DIR The directory to store downloaded file."
msgstr ""
" -d, --dir=DIR ダウンロードしたファイルを保存するディレクトリ."
#: src/main.cc:106
msgid " -o, --out=FILE The file name for downloaded file."
msgstr ""
" -o, --out=FILE ダウンロードしたファイルの保存先ファイル名."
#: src/main.cc:107
msgid ""
" -l, --log=LOG The file path to store log. If '-' is "
"specified,\n"
" log is written to stdout."
msgstr ""
" -l, --log=LOG ログを保存するパス. '-' を指定した場合, 標準出"
"力\n"
" に出力します."
#: src/main.cc:109
msgid " -D, --daemon Run as daemon."
msgstr " -D, --daemon デーモンとして起動します."
#: src/main.cc:110
msgid ""
" -s, --split=N Download a file using N connections. N must "
"be\n"
" between 1 and 5. This option affects all "
"URLs.\n"
" Thus, aria2 connects to each URL with\n"
" N connections."
msgstr ""
" -s, --split=N N 個のコネクションを使ってファイルをダウンロー"
"ド\n"
" します. N は 1 から 5 の数字を指定してくださ"
"い.\n"
" このオプションはすべての URL 引数に影響しま"
"す.\n"
" つまり, それぞれの URL に対して N 個のコネク"
"ショ\n"
" ンを確立します."
#: src/main.cc:114
msgid ""
" --retry-wait=SEC Set amount of time in second between requests\n"
" for errors. Specify a value between 0 and 60.\n"
" Default: 5"
msgstr ""
" --retry-wait=SEC エラーによる再試行時の待ち時間を秒単位で指定し"
"ま\n"
" す. 0 - 60 の値を指定してください.\n"
" デフォルト値: 5"
#: src/main.cc:117
msgid " -t, --timeout=SEC Set timeout in second. Default: 60"
msgstr ""
" -t, --timeout=SEC タイムアウトとなる時間を秒で指定します.\n"
" デフォルト値: 60"
#: src/main.cc:118
msgid ""
" -m, --max-tries=N Set number of tries. 0 means unlimited.\n"
" Default: 5"
msgstr ""
" -m, --max-tries=N 試行回数を指定します. 0 を指定すると何度でも試"
"行\n"
" します. デフォルト値: 5"
#: src/main.cc:120
msgid ""
" --min-segment-size=SIZE[K|M] Set minimum segment size. You can append\n"
" K or M(1K = 1024, 1M = 1024K). This\n"
" value must be greater than or equal to\n"
" 1024."
msgstr ""
" --min-segment-size=SIZE[K|M] 最小のセグメント・サイズを指定します. K または "
"M\n"
" を付加することができます (1k = 1024, 1M = "
"1024K).\n"
" 1024 以上の値を指定してください."
#: src/main.cc:124
msgid ""
" --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all\n"
" URLs."
msgstr ""
" --http-proxy=HOST:PORT HTTP プロキシ・サーバーを指定します. このオプ"
"シ\n"
" ョンはすべての URL に影響します."
#: src/main.cc:126
msgid " --http-user=USER Set HTTP user. This affects to all URLs."
msgstr ""
" --http-user=USER HTTP での認証ユーザーを指定します. このオプショ"
"ン\n"
" はすべての URL に影響します."
#: src/main.cc:127
msgid ""
" --http-passwd=PASSWD Set HTTP password. This affects to all URLs."
msgstr ""
" --http-passwd=PASSWD HTTP での認証パスワードを指定します. このオプ"
"ショ\n"
" ンはすべての URL に影響します."
#: src/main.cc:128
msgid ""
" --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs"
msgstr ""
" --http-proxy-user=USER HTTP プロキシ・サーバーでの認証で使うユーザーを"
"指\n"
" 定します. このオプションはすべての URL に影響し"
"ま\n"
" す."
#: src/main.cc:129
msgid ""
" --http-proxy-passwd=PASSWD Set HTTP proxy password. This affects to all "
"URLs."
msgstr ""
" --http-proxy-passwd=PASSWD HTTP プロキシ・サーバーでの認証で使うパスワード"
"を\n"
" 指定します. このオプションはすべての URL に影響"
"し\n"
" ます."
#: src/main.cc:130
msgid ""
" --http-proxy-method=METHOD Set the method to use in proxy request.\n"
" METHOD is either 'get' or 'tunnel'.\n"
" Default: tunnel"
msgstr ""
" --http-proxy-method=METHOD HTTP プロキシ・リクエストで使うメソッドを指定し"
"ま\n"
" す. 'get' または 'tunnel' を指定してください.\n"
" デフォルト値: tunnel"
#: src/main.cc:133
msgid ""
" --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, "
"basic\n"
" is the only supported scheme. You MUST "
"specify\n"
" this option in order to use HTTP "
"authentication\n"
" as well as --http-user and --http-passwd."
msgstr ""
" --http-auth-scheme=SCHEME HTTP での認証方法を指定します. 現在サポートされ"
"て\n"
" いるのは basic です. HTTP 認証を使うには, この"
"オ\n"
" プションおよび, --http-user, --http-passwd を指"
"定\n"
" する必要があります."
#: src/main.cc:137
msgid " --referer=REFERER Set Referer. This affects to all URLs."
msgstr ""
" --referer=REFERER リファラーを指定します. このオプションはすべて"
"の\n"
" URL に影響します."
#: src/main.cc:138
msgid ""
" --ftp-user=USER Set FTP user. This affects to all URLs.\n"
" Default: anonymous"
msgstr ""
" --ftp-user=USER FTP での認証ユーザーを指定します. このオプショ"
"ン\n"
" はすべての URL に影響します.\n"
" デフォルト値: anonymous"
#: src/main.cc:140
msgid ""
" --ftp-passwd=PASSWD Set FTP password. This affects to all URLs.\n"
" Default: ARIA2USER@"
msgstr ""
" --ftp-passwd=PASSWD FTP での認証パスワードを指定します. このオプ"
"ショ\n"
" ンはすべての URL に影響します.\n"
" デフォルト値: ARIA2USER@"
#: src/main.cc:142
msgid ""
" --ftp-type=TYPE Set FTP transfer type. TYPE is either "
"'binary'\n"
" or 'ascii'.\n"
" Default: binary"
msgstr ""
" --ftp-type=TYPE FTP 転送モードを指定します. 'binary' または\n"
" 'ascii' を指定してください. デフォルト値: "
"binary"
#: src/main.cc:145
msgid " -p, --ftp-pasv Use passive mode in FTP."
msgstr " -p, --ftp-pasv FTP で passive モードを使用します."
#: src/main.cc:146
msgid ""
" --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' "
"or\n"
" 'tunnel'.\n"
" Default: tunnel"
msgstr ""
" --ftp-via-http-proxy=METHOD FTP で HTTP プロキシ・サーバーを使用する際の方"
"法\n"
" を指定します. 'get' または 'tunnel' を指定して"
"く\n"
" ださい. デフォルト値: tunnel"
#: src/main.cc:149
msgid " -v, --version Print the version number and exit."
msgstr " -v, --version バージョン番号を表示し, 終了します."
#: src/main.cc:150
msgid " -h, --help Print this message and exit."
msgstr ""
" -h, --help このヘルプメッセージを表示し, 終了します."
#: src/main.cc:153
msgid ""
" You can specify multiple URLs. All URLs must point to the same file\n"
" or downloading fails."
msgstr ""
" 複数の URL を指定できます. ただし, すべての URL が同じファイルを指していなけ"
"れ\n"
" ばなりません. さもなくばダウンロードは失敗します."
#: src/main.cc:156
msgid "Examples:"
msgstr "例:"
#: src/main.cc:157
msgid " Download a file by 1 connection:"
msgstr " 1 コネクションでのダウンロード:"
#: src/main.cc:159
msgid " Download a file by 2 connections:"
msgstr " 2 コネクションでのダウンロード:"
#: src/main.cc:161
msgid " Download a file by 2 connections, each connects to a different server:"
msgstr " 二つの異なるサーバーに接続してダウンロード:"
#: src/main.cc:163
msgid " You can mix up different protocols:"
msgstr " 異なるプロトコルを混合させてダウンロード:"
#: src/main.cc:166
#, c-format
msgid "Reports bugs to %s"
msgstr "バグレポートはこちらへ: %s"
#: src/main.cc:240
msgid "unrecognized proxy format"
msgstr "理解できないProxyフォーマットです."
#: src/main.cc:266
msgid "Currently, supported authentication scheme is basic."
msgstr "現在サポートされている認証方法は basic です."
#: src/main.cc:275
msgid "retry-wait must be between 0 and 60."
msgstr "retry-wait は 0 から 60 の間で指定してください."
#: src/main.cc:292
msgid "ftp-type must be either 'binary' or 'ascii'."
msgstr "ftp-type は 'binary' または 'ascii' を指定してください."
#: src/main.cc:301
msgid "ftp-via-http-proxy must be either 'get' or 'tunnel'."
msgstr "ftp-via-http-proxy は 'get' または 'tunnel' を指定してください."
#: src/main.cc:319
msgid "min-segment-size invalid"
msgstr "min-segment-size が不正です."
#: src/main.cc:330
msgid "http-proxy-method must be either 'get' or 'tunnel'."
msgstr "http-proxy-method は 'get' または 'tunnel' を指定してください."
#: src/main.cc:357
msgid "split must be between 1 and 5."
msgstr "split は 1 - 5 の値を指定してください."
#: src/main.cc:367
msgid "timeout must be between 1 and 600"
msgstr "timeout は 1 - 600 の値を指定してください."
#: src/main.cc:376
msgid "max-tries invalid"
msgstr "max-tries が不正です."
#: src/main.cc:398
msgid "specify at least one URL"
msgstr "一個以上の URL を指定してください."
#: src/main.cc:449
#, c-format
msgid ""
"\n"
"The download was complete. <%s>\n"
msgstr ""
"\n"
"<%s> のダウンロードが完了しました.\n"
#: src/main.cc:451
msgid ""
"\n"
"The download was not complete because of errors. Check the log.\n"
msgstr ""
"\n"
"ダウンロードはエラーのため完了していません. ログを確認してください.\n"

View File

@ -67,10 +67,12 @@ bool DownloadCommand::executeInternal(Segment seg) {
lastSize = seg.ds;
}
}
if(e->segmentMan->totalSize != 0 && bufSize == 0) {
throw new DlRetryEx(EX_GOT_EOF);
}
if(te != NULL && te->finished()
|| te == NULL && seg.ds >= seg.ep-seg.sp+1
|| e->segmentMan->totalSize == 0 && bufSize == 0) {
|| bufSize == 0) {
if(te != NULL) te->end();
e->logger->info(MSG_DOWNLOAD_COMPLETED, cuid);
seg.ds = seg.ep-seg.sp+1;

View File

@ -37,7 +37,7 @@ HttpResponseCommand::~HttpResponseCommand() {
}
bool HttpResponseCommand::executeInternal(Segment seg) {
if(SEGMENT_EQUAL(req->seg, seg) == false) {
if(req->seg.sp != seg.sp) {
e->logger->info(MSG_SEGMENT_CHANGED, cuid);
return prepareForRetry(0);
}
@ -104,6 +104,8 @@ bool HttpResponseCommand::handleDefaultEncoding(const HttpHeader& headers) {
return prepareForRetry(0);
} else {
e->segmentMan->totalSize = size;
Segment seg;
e->segmentMan->getSegment(seg, cuid);
e->diskWriter->initAndOpenFile(e->segmentMan->getFilePath());
createHttpDownloadCommand();
return true;

View File

@ -49,6 +49,6 @@ SRCS = Socket.cc Socket.h\
noinst_LIBRARIES = libaria2c.a
libaria2c_a_SOURCES = $(SRCS)
aria2c_LDADD = libaria2c.a
FLAGS = -Wall -D_FILE_OFFSET_BITS=64 -I../lib
FLAGS = -I../lib -Wall -D_FILE_OFFSET_BITS=64 -DLOCALEDIR=\"$(localedir)\"
libaria2c_a_CXXFLAGS = $(FLAGS)
aria2c_CXXFLAGS = $(FLAGS)

View File

@ -206,6 +206,7 @@ infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
@ -267,7 +268,7 @@ SRCS = Socket.cc Socket.h\
noinst_LIBRARIES = libaria2c.a
libaria2c_a_SOURCES = $(SRCS)
aria2c_LDADD = libaria2c.a
FLAGS = -Wall -D_FILE_OFFSET_BITS=64 -I../lib
FLAGS = -I../lib -Wall -D_FILE_OFFSET_BITS=64 -DLOCALEDIR=\"$(localedir)\"
libaria2c_a_CXXFLAGS = $(FLAGS)
aria2c_CXXFLAGS = $(FLAGS)
all: all-am

View File

@ -23,6 +23,7 @@
#include "Util.h"
#include <time.h>
#include <stdarg.h>
#include <stdio.h>
SimpleLogger::SimpleLogger(string filename) {
file = fopen(filename.c_str(), "a");
@ -60,7 +61,7 @@ void SimpleLogger::writeLog(int level, const char* msg, va_list ap, Exception* e
if(e != NULL) {
fprintf(file, string(string(datestr)+" - "+levelStr+" - exception: "+Util::replace(e->getMsg(), "\r", "")+"\n").c_str());
}
fflush(stdout);
fflush(file);
}
void SimpleLogger::debug(const char* msg, ...) const {

View File

@ -122,7 +122,7 @@ bool Util::endsWith(string target, string part) {
if(part == "") {
return true;
}
if(target.find(part) == target.size()-part.size()) {
if(target.rfind(part) == target.size()-part.size()) {
return true;
} else {
return false;

View File

@ -19,14 +19,19 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* copyright --> */
#ifndef _D_COMMON_H_
#define _D_COMMON_H_
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <iostream>
#include <assert.h>
#include <limits.h>
#if ENABLE_NLS
# include <gettext.h>
# define _(String) gettext (String)
#ifdef HAVE_CONFIG_H
# include <config.h>
#else
# define _(String) (String)
#endif
#ifndef LONG_LONG_MAX
@ -37,3 +42,5 @@
#define USER_AGENT "aria2"
using namespace std;
#endif // _D_COMMON_H_

View File

@ -69,86 +69,89 @@ void addCommand(int cuid, const char* url, string referer, vector<Request*> requ
e->commands.push(InitiateConnectionCommandFactory::createInitiateConnectionCommand(cuid, req, e));
requests.push_back(req);
} else {
cerr << _("Unrecognized URL or unsupported protocol: ") << req->getUrl() << endl;
fprintf(stderr, _("Unrecognized URL or unsupported protocol: %s\n"), req->getUrl().c_str());
delete(req);
}
}
void showVersion() {
cout << PACKAGE_NAME << " version " << PACKAGE_VERSION << endl;
cout << PACKAGE << _(" version ") << PACKAGE_VERSION << endl;
cout << "Copyright (C) 2006 Tatsuhiro Tsujikawa" << endl;
cout << endl;
cout << "This program is free software; you can redistribute it and/or modify" << endl;
cout << "it under the terms of the GNU General Public License as published by" << endl;
cout << "the Free Software Foundation; either version 2 of the License, or" << endl;
cout << "(at your option) any later version." << endl;
cout <<
_("This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"the Free Software Foundation; either version 2 of the License, or\n"
"(at your option) any later version.\n"
"\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"
"\n"
"You should have received a copy of the GNU General Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n");
cout << endl;
cout << "This program is distributed in the hope that it will be useful," << endl;
cout << "but WITHOUT ANY WARRANTY; without even the implied warranty of" << endl;
cout << "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" << endl;
cout << "GNU General Public License for more details." << endl;
cout << endl;
cout << "You should have received a copy of the GNU General Public License" << endl;
cout << "along with this program; if not, write to the Free Software" << endl;
cout << "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" << endl;
cout << endl;
cout << "Contact Info: Tasuhiro Tsujikawa <tujikawa at users dot sourceforge dot net>" << endl;
printf(_("Contact Info: %s\n"), "Tasuhiro Tsujikawa <tujikawa at users dot sourceforge dot net>");
cout << endl;
}
void showUsage() {
cout << endl;
cout << _("Usage: ") << PACKAGE_NAME << _(" [options] URL ...") << endl;
printf(_("Usage: %s [options] URL ...\n"), PACKAGE_NAME);
cout << endl;
cout << _("Options:") << endl;
cout << _(" -d, --dir=DIR The directory to store downloaded file.") << endl;
cout << _(" -o, --out=FILE The file name for downloaded file.") << endl;
cout << _(" -l, --log=LOG The file path to store log. If '-' is specified,") << endl;
cout << _(" log is written to stdout.") << endl;
cout << _(" -l, --log=LOG The file path to store log. If '-' is specified,\n"
" log is written to stdout.") << endl;
cout << _(" -D, --daemon Run as daemon.") << endl;
cout << _(" -s, --split=N Download a file using N connections. N must be") << endl;
cout << _(" between 1 and 5. This option affects all URLs.") << endl;
cout << _(" Thus, aria2 connects to each URL with N connections.") << endl;
cout << _(" --retry-wait=SEC Set amount of time in second between requests") << endl;
cout << _(" for errors. Specify a value between 0 and 60.") << endl;
cout << " Default: 5" << endl;
cout << _(" -s, --split=N Download a file using N connections. N must be\n"
" between 1 and 5. This option affects all URLs.\n"
" Thus, aria2 connects to each URL with\n"
" N connections.") << endl;
cout << _(" --retry-wait=SEC Set amount of time in second between requests\n"
" for errors. Specify a value between 0 and 60.\n"
" Default: 5") << endl;
cout << _(" -t, --timeout=SEC Set timeout in second. Default: 60") << endl;
cout << _(" -m, --max-tries=N Set number of tries. 0 means unlimited.") << endl;
cout << " Default: 5" << endl;
cout << _(" --min-segment-size=SIZE[K|M] Set minimum segment size. You can append") << endl;
cout << " K or M(1K = 1024, 1M = 1024K)." << endl;
cout << _(" --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all") << endl;
cout << _(" URLs.") << endl;
cout << _(" -m, --max-tries=N Set number of tries. 0 means unlimited.\n"
" Default: 5") << endl;
cout << _(" --min-segment-size=SIZE[K|M] Set minimum segment size. You can append\n"
" K or M(1K = 1024, 1M = 1024K). This\n"
" value must be greater than or equal to\n"
" 1024.") << endl;
cout << _(" --http-proxy=HOST:PORT Use HTTP proxy server. This affects to all\n"
" URLs.") << endl;
cout << _(" --http-user=USER Set HTTP user. This affects to all URLs.") << endl;
cout << _(" --http-passwd=PASSWD Set HTTP password. This affects to all URLs.") << endl;
cout << _(" --http-proxy-user=USER Set HTTP proxy user. This affects to all URLs") << endl;
cout << _(" --http-proxy-passwd=PASSWD Set HTTP proxy password. This affects to all URLs.") << endl;
cout << _(" --http-proxy-method=METHOD Set the method to use in proxy request.") << endl;
cout << _(" METHOD is either 'get' or 'tunnel'.") << endl;
cout << " Default: tunnel" << endl;
cout << _(" --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, basic") << endl;
cout << _(" is the only supported scheme. You MUST specify") << endl;
cout << _(" this option in order to use HTTP authentication") << endl;
cout << _(" as well as --http-proxy option.") << endl;
cout << _(" --http-proxy-method=METHOD Set the method to use in proxy request.\n"
" METHOD is either 'get' or 'tunnel'.\n"
" Default: tunnel") << endl;
cout << _(" --http-auth-scheme=SCHEME Set HTTP authentication scheme. Currently, basic\n"
" is the only supported scheme. You MUST specify\n"
" this option in order to use HTTP authentication\n"
" as well as --http-user and --http-passwd.") << endl;
cout << _(" --referer=REFERER Set Referer. This affects to all URLs.") << endl;
cout << _(" --ftp-user=USER Set FTP user. This affects to all URLs.") << endl;
cout << _(" Default: anonymous") << endl;
cout << _(" --ftp-passwd=PASSWD Set FTP password. This affects to all URLs.") << endl;
cout << _(" Default: ARIA2USER@") << endl;
cout << _(" --ftp-type=TYPE Set FTP transfer type. TYPE is either 'binary'") << endl;
cout << _(" or 'ascii'.") << endl;
cout << _(" Default: binary") << endl;
cout << _(" --ftp-user=USER Set FTP user. This affects to all URLs.\n"
" Default: anonymous") << endl;
cout << _(" --ftp-passwd=PASSWD Set FTP password. This affects to all URLs.\n"
" Default: ARIA2USER@") << endl;
cout << _(" --ftp-type=TYPE Set FTP transfer type. TYPE is either 'binary'\n"
" or 'ascii'.\n"
" Default: binary") << endl;
cout << _(" -p, --ftp-pasv Use passive mode in FTP.") << endl;
cout << _(" --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' or") << endl;
cout << _(" 'tunnel'.") << endl;
cout << " Default: tunnel" << endl;
cout << _(" --ftp-via-http-proxy=METHOD Use HTTP proxy in FTP. METHOD is either 'get' or\n"
" 'tunnel'.\n"
" Default: tunnel") << endl;
cout << _(" -v, --version Print the version number and exit.") << endl;
cout << _(" -h, --help Print this message and exit.") << endl;
cout << endl;
cout << _("URL:") << endl;
cout << _(" You can specify multiple URLs. All URLs must point to the same file") << endl;
cout << _(" or downloading fails.") << endl;
cout << "URL:" << endl;
cout << _(" You can specify multiple URLs. All URLs must point to the same file\n"
" or downloading fails.") << endl;
cout << endl;
cout << _("Examples:") << endl;
cout << _(" Download a file by 1 connection:") << endl;
@ -160,10 +163,17 @@ void showUsage() {
cout << _(" You can mix up different protocols:") << endl;
cout << " aria2c http://AAA.BBB.CCC/file.zip ftp://DDD.EEE.FFF/GGG/file.zip" << endl;
cout << endl;
cout << "Reports bugs to <tujikawa at rednoah dot com>" << endl;
printf(_("Reports bugs to %s"), "<tujikawa at users dot sourceforge dot net>");
cout << endl;
}
int main(int argc, char* argv[]) {
#ifdef ENABLE_NLS
setlocale (LC_CTYPE, "");
setlocale (LC_MESSAGES, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
#endif // ENABLE_NLS
bool stdoutLog = false;
string logfile;
string dir;
@ -194,7 +204,7 @@ int main(int argc, char* argv[]) {
{ "log", required_argument, NULL, 'l' },
{ "split", required_argument, NULL, 's' },
{ "timeout", required_argument, NULL, 't' },
{ "max-retries", required_argument, NULL, 'm' },
{ "max-tries", required_argument, NULL, 'm' },
{ "http-proxy", required_argument, &lopt, 1 },
{ "http-user", required_argument, &lopt, 2 },
{ "http-passwd", required_argument, &lopt, 3 },
@ -305,7 +315,7 @@ int main(int argc, char* argv[]) {
optarg[p] = '\0';
}
long long int size = strtoll(optarg, NULL, 10)*mult;
if(size <= 0) {
if(size < 1024) {
cerr << _("min-segment-size invalid") << endl;
showUsage();
exit(1);
@ -363,7 +373,7 @@ int main(int argc, char* argv[]) {
case 'm': {
int retries = (int)strtol(optarg, NULL, 10);
if(retries < 0) {
cerr << _("max-retires invalid") << endl;
cerr << _("max-tries invalid") << endl;
showUsage();
exit(1);
}
@ -436,9 +446,9 @@ int main(int argc, char* argv[]) {
e->run();
if(e->segmentMan->finished()) {
cout << _("\nThe download was complete. <") << e->segmentMan->getFilePath() << ">" << endl;
printf(_("\nThe download was complete. <%s>\n"), e->segmentMan->getFilePath().c_str());
} else {
cout << _("\nThe download was not complete because of errors. Check the log.") << endl;
printf(_("\nThe download was not complete because of errors. Check the log.\n"));
}
for_each(requests.begin(), requests.end(), clearRequest);

View File

@ -58,5 +58,6 @@
#define EX_TRANSFER_ENCODING_NOT_SUPPORTED _("Transfer encoding %s is not supported.")
#define EX_SSL_INIT_FAILURE _("SSL initialization failed.")
#define EX_SIZE_MISMATCH _("Size mismatch %lld != %lld")
#define EX_GOT_EOF _("Got EOF from the server.")
#endif // _D_MESSAGE_H_

View File

@ -8,6 +8,6 @@ aria2c_SOURCES = AllTest.cc\
Base64Test.cc\
UtilTest.cc\
CookieBoxTest.cc
aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -Wall -D_FILE_OFFSET_BITS=64
aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64
aria2c_LDFLAGS = ${CPPUNIT_LIBS}
aria2c_LDADD = ../src/libaria2c.a

View File

@ -162,6 +162,7 @@ infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
@ -182,7 +183,7 @@ aria2c_SOURCES = AllTest.cc\
UtilTest.cc\
CookieBoxTest.cc
aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -Wall -D_FILE_OFFSET_BITS=64
aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64
aria2c_LDFLAGS = ${CPPUNIT_LIBS}
aria2c_LDADD = ../src/libaria2c.a
all: all-am