Import Upstream version 2.4

parent 2a6925b8
Version 2.4
- Fix a buffer overflow caused by wrong size limits when copying strings (Closes: #311569), thanks Michael Schwendt and the Fedora project members
- Fix thread hangups due to incorrect synchronization (Closes: #311469), thanks Yao Shi
- Removed Fedora packaging file. axel will be available in the Fedora repositories soon.
- Use /etc/ instead of /usr/etc/ as the default system-wide configuration location.
- Respect environment CFLAGS in configure.
- Allow special characters in arguments to configure.
- Add MimeType and fix Categories in the desktop file.
Version 2.3
- Wait for thread termination in axel.c:axel_do (Closes: #311255), thanks John Ripa
......
......@@ -12,7 +12,7 @@
.SUFFIXES: .po .mo
# Add your translation here..
MOFILES = nl.mo de.mo ru.mo zh_cn.mo
MOFILES = nl.mo de.mo ru.mo zh_CN.mo
all: $(OUTFILE)
......@@ -68,7 +68,7 @@ uninstall-bin:
tar:
version=$$(sed -n 's/#define AXEL_VERSION_STRING[ \t]*"\([^"]*\)"/\1/p' < axel.h) && \
tar --create --transform "s#^#axel-$${version}/#" "--file=axel-$${version}.tar" --exclude-vcs -- *.c *.h *.po *.1 configure Makefile axelrc.example axel.spec gui API CHANGES COPYING CREDITS README && \
tar --create --transform "s#^#axel-$${version}/#" "--file=axel-$${version}.tar" --exclude-vcs -- *.c *.h *.po *.1 configure Makefile axelrc.example gui API CHANGES COPYING CREDITS README && \
gzip --best < "axel-$${version}.tar" > "axel-$${version}.tar.gz" && \
bzip2 --best < "axel-$${version}.tar" > "axel-$${version}.tar.bz2"
......
......@@ -129,7 +129,8 @@ one line in this page.)
.SH FILES
.PP
\fI/etc/axelrc\fP System-wide configuration file
\fI/etc/axelrc\fP System-wide configuration file. Note that development versions
place this file in /usr/local/etc.
.PP
\fI~/.axelrc\fP Personal configuration file
.PP
......
......@@ -238,8 +238,12 @@ void axel_start( axel_t *axel )
if( axel->conn[i].currentbyte <= axel->conn[i].lastbyte )
{
if( axel->conf->verbose >= 2 )
{
axel_message( axel, _("Connection %i downloading from %s:%i using interface %s"),
i, axel->conn[i].host, axel->conn[i].port, axel->conn[i].local_if );
}
axel->conn[i].state = 1;
if( pthread_create( axel->conn[i].setup_thread, NULL, setup_thread, &axel->conn[i] ) != 0 )
{
axel_message( axel, _("pthread error!!!") );
......@@ -248,7 +252,6 @@ void axel_start( axel_t *axel )
else
{
axel->conn[i].last_transfer = gettime();
axel->conn[i].state = 1;
}
}
......@@ -397,9 +400,10 @@ conn_check:
if( axel->conf->verbose >= 2 )
axel_message( axel, _("Connection %i downloading from %s:%i using interface %s"),
i, axel->conn[i].host, axel->conn[i].port, axel->conn[i].local_if );
axel->conn[i].state = 1;
if( pthread_create( axel->conn[i].setup_thread, NULL, setup_thread, &axel->conn[i] ) == 0 )
{
axel->conn[i].state = 1;
axel->conn[i].last_transfer = gettime();
}
else
......
......@@ -67,7 +67,7 @@
#define MAX_STRING 1024
#define MAX_ADD_HEADERS 10
#define MAX_REDIR 5
#define AXEL_VERSION_STRING "2.3"
#define AXEL_VERSION_STRING "2.4"
#define DEFAULT_USER_AGENT "Axel " AXEL_VERSION_STRING " (" ARCH ")"
typedef struct
......
# note: version 2.0 is in devel, version 1.1 is stable
%define build_stable_version 0
%if %{build_stable_version}
%define ver 1.1
%define build_number 1
%else
%define ver 2.0
%define build_number 0.1
%define snapshot .20080705
%define source_folder axel-svn-trunk
%endif
Name: axel
Version: %{ver}
Release: %{build_number}%{?snapshot}%{?dist}
Summary: A lightweight download accelerator by using multiple connections
Group: Applications/Internet
License: GPLv2
URL: http://axel.alioth.debian.org
Source0: http://download.alioth.debian.org/axel/axel/%{ver}/axel-%{ver}%{?snapshot}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires:
#Requires:
%description
Axel tries to accelerate HTTP/FTP downloading process by using multiple
connections for one file. It can use multiple mirrors for a download. Axel has
no dependencies and is lightweight, so it might be useful as a wget clone on
byte-critical systems.
%prep
%setup -q %{?source_folder:-n %{source_folder}}
%build
%configure --etcdir=%{_sysconfdir} --i18n=1
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}.lang
%defattr(-,root,root,-)
%doc API CHANGES COPYING CREDITS README
%{_bindir}/axel
%config(noreplace) %{_sysconfdir}/axelrc
%{_mandir}/man1/*
%changelog
* Sat Jul 05 2008 bbbush <bbbush.yuan@gmail.com> - 2.0-0.1.20080705
- create spec.
.\"
.\"man-page for Axel
.\" Axel 手册页
.\"
.\"起源于一本由Richard Stone和Neil Matthew写的、名为《Beginning Linux Programming》的书的man-page样本。
.\" 起源于一本由Richard Stone和Neil Matthew写的、名为《Linux程序设计》的书的手册页样本。
.\"
.\" 翻译于08-10-17
.\" 校对于08-11-11
.\"
.\''翻译08-10-17
.\''校对08-11-11
.\''
.TH AXEL 1
......@@ -17,16 +17,16 @@
[\fI选项\fP] \fIurl1\fP [\fIurl2\fP] [\fIurl...\fP]
.SH 描述
Axel是一个通过多个连接从一个HTTP或FTP服务器下载文件的程序,每个连接下载文件的一部分。
Axel\ 是一个通过多个连接从一个\ HTTP\ 或\ FTP\ 服务器下载文件的程序,每个连接下载文件的一部分。
跟其它程序不一样,Axel会使用单一线程直接下载所有数据到目标文件。
跟其它程序不一样,\ Axel\ 会使用单一线程直接下载所有数据到目标文件。
这样正好可以节省时间,因为程序没有必要如锁链般连接到所有要下载的部分。
.SH 选项
.PP
必需要有一个参数--您想下载的文件的URL。
当从FTP下载,文件名可能包含通配符,程序会尝试解析完整的文件名。
也可以指定多个URL,程序将会通过那些地址下载。
必需要有一个参数--您想下载的文件的\ URL\ 。\
当从\ FTP\ 下载,文件名可能包含通配符,程序会尝试解析完整的文件名。
也可以指定多个\ URL\ ,程序将会通过那些地址下载。\
请注意,程序不会检查文件是否相同。
.PP
......@@ -34,7 +34,7 @@ Axel是一个通过多个连接从一个HTTP或FTP服务器下载文件的程序
.TP
\fB\-\-max\-speed=x\fP, \fB\-s\ x\fP
您可以在这里指定一个速率(每秒字节),Axel将会尝试保持平均速率在这个速率附近。
您可以在这里指定一个速率(每秒字节,B/s),\ Axel\ 将会尝试保持平均速率在这个速率附近。\
它很有用──如果您不想程序吃掉您所有的带宽。
.TP
......@@ -43,13 +43,13 @@ Axel是一个通过多个连接从一个HTTP或FTP服务器下载文件的程序
.TP
\fB\-\-output=x\fP, \fB\-o\ x\fP
下载的数据将会被保存为一个跟URL地址文件名同名的本地文件,
下载的数据将会被保存为一个跟\ URL\ 地址文件名同名的本地文件,\
除非您使用这个选项指定使用一个不一样的名字。
您也可以指定一个目录,程序将会追加文件名。
.TP
\fB\-\-search[=x]\fP, \fB-S[x]\fP
Axel能使用filesearching.com搜索引擎,对镜像执行搜索。您使用这个选项它才会这么做。
Axel\ 能使用\ filesearching.com\ 搜索引擎,对镜像执行搜索。您使用这个选项它才会这么做。
您也可以指定应该使用多少个不同的镜像来下载。
对镜像搜索非常耗时,因为程序会测试每个服务器的速率,与及文件是否仍然有效。
......@@ -79,35 +79,43 @@ Axel能使用filesearching.com搜索引擎,对镜像执行搜索。您使用
获取版本信息。
.SH 注意
如果您的平台识别getopt_lang调用,长(两杠破折号)选项才会被支持。
否则(像*BSD),只能使用短选项。
如果您的平台识别\ getopt_lang\ 调用,长(两杠破折号)选项才会被支持。\
否则(像\ *BSD\ ),只能使用短选项。
.SH 返回值
当下载成功,程序返回0,如果真的出错返回1,如果下载被中断返回2,如果返回其它,它肯定是一个臭虫……
.SH 例子
.nf
axel ftp://ftp.{be,nl,uk,de}.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
axel\ ftp://ftp.{be,nl,uk,de}.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
.fi
它将会使用Belgian,Dutch,English和German的kenel.org镜像下载Linux 2.4.17 kernel映象。
它将会使用\ Belgian\ 、\ Dutch\ 、\ English\ 和\ German\ 的\ kenel.org\ 镜像下载\ Linux\ 2.4.17\ kernel\ 映象。
.nf
axel \-S4 ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
axel\ \-S4\ ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
.fi
它将会在filesearching.com搜索linux-2.4.17.tar.bz2文件,
然后从四个(如果可能的话)最快的镜像中下载(可能包括ftp.kernel.org)。
它将会在\ filesearching.com\ 搜索\ linux-2.4.17.tar.bz2\ 文件,\
然后从四个(如果可能的话)最快的镜像中下载(可能包括\ ftp.kernel.org\ )。
(当然,这个命令是一个独立行,但他们太长而不能在这个页面内显示为一行。)
让\ Gentoo\ GNU/Linux\ 的\ Portage\ 软件包管理器调用\ Axel\ 来下载,把下面的命令添加进\ /etc/make.conf\ 。
.nf
FETCHCOMMAND='/usr/bin/axel -a -o "${DISTDIR}/${FILE}.axel" "${URI}" && mv "${DISTDIR}/${FILE}.axel" "${DISTDIR}/${FILE}"'
RESUMECOMMAND="${FETCHCOMMAND}"
.fi
.SH 文件
.PP
\fI/etc/axelrc\fP 系统全局配置文件
.PP
\fI~/.axelrc\fP 个人配置文件
.PP
这些文件正文不会在一个man-page内显示,但我希望跟程序一起安装的样本文件包含足够的信息。
这些文件正文不会在一个手册页内显示,但我希望跟程序一起安装的样本文件包含足够的信息。
配置文件在不同系统的位置可能不一样。
.SH 版权
......@@ -122,9 +130,10 @@ Axel is Copyright 2001-2002 Wilmer van der Gaast.
.SH 作者
Wilmer van der Gaast. <wilmer@gaast.net>
.SH 译者
李蠡 Shuge Lee <shuge.lee@gmail.com>
.SH 翻译
蠡\ Shuge\ Lee\ <shuge.lee@gmail.com>
.SH 校对
李进 Li Jin <punkid.online@gmail.com>
李进\ Li\ Jin\ <punkid.online@gmail.com>
.\" 最后更新09-02-06
......@@ -9,10 +9,11 @@
prefix='/usr/local'
bindir='$prefix/bin'
etcdir='$prefix/etc'
mandir='$prefix/share/man'
locale='$prefix/share/locale'
sharedir='$prefix/share'
mandir='$sharedir/man'
locale='$sharedir/locale'
i18n=0
i18n=1
debug=0
strip=1
......@@ -40,21 +41,31 @@ Option Description Default
EOF
exit;
fi
eval "$e"
keyname=$(expr "$e" : '\(.*\)=.*' | sed 's/[^a-z0-9_]/_/g')
value=$(expr "$e" : '.*=\(.*\)' | sed "s/'/_/g")
eval "$keyname='$value'"
shift;
done
# Expand $prefix
bindir=`eval echo $bindir`
etcdir=`eval echo $etcdir`
sharedir=`eval echo $sharedir`
mandir=`eval echo $mandir`
locale=`eval echo $locale`
if test "$etcdir" = "/usr/etc"; then
# FHS explicitely forbids /usr/etc
etcdir='/etc'
fi
cat<<EOF>Makefile.settings
## Axel settings, generated by configure
PREFIX=$prefix
BINDIR=$bindir
ETCDIR=$etcdir
SHAREDIR=$sharedir
MANDIR=$mandir
LOCALE=$locale
......@@ -85,8 +96,9 @@ if [ "$i18n" = "1" ]; then
fi;
fi
echo 'CFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -Os' >> Makefile.settings
echo "CFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os ${CFLAGS}" >> Makefile.settings
if [ "$debug" = "1" ]; then
echo 'CFLAGS+=-g' >> Makefile.settings
echo 'DEBUG=1' >> Makefile.settings
echo '#define DEBUG' >> config.h;
fi
......
......@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Axel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-05 11:14+0530\n"
"POT-Creation-Date: 2009-04-27 13:21+0530\n"
"PO-Revision-Date: 2008-09-15 22:08+0200\n"
"Last-Translator: Hermann J. Beckers <hj.beckers@onlinehome.de>\n"
"Language-Team: deutsch <de@li.org>\n"
......@@ -50,35 +50,35 @@ msgstr "Schlechtes Datei-/Betriebssystem, Umgehung.."
msgid "Starting download"
msgstr "Starte Abruf"
#: axel.c:241 axel.c:398
#: axel.c:242 axel.c:401
#, c-format
msgid "Connection %i downloading from %s:%i using interface %s"
msgstr "Verbindung %i: Abruf von %s:%i ber Schnittstelle %s"
#: axel.c:245 axel.c:407
#: axel.c:249 axel.c:411
msgid "pthread error!!!"
msgstr "pthread Fehler!!!"
#: axel.c:314
#: axel.c:317
#, c-format
msgid "Error on connection %i! Connection closed"
msgstr "Fehler bei Verbindung %i! Verbindung getrennt"
#: axel.c:328
#: axel.c:331
#, c-format
msgid "Connection %i unexpectedly closed"
msgstr "Verbindung %i unerwartet getrennt"
#: axel.c:332 axel.c:349
#: axel.c:335 axel.c:352
#, c-format
msgid "Connection %i finished"
msgstr "Verbindung %i beendet"
#: axel.c:361
#: axel.c:364
msgid "Write error!"
msgstr "Schreibfehler!"
#: axel.c:373
#: axel.c:376
#, c-format
msgid "Connection %i timed out"
msgstr "Time-out bei Verbindung %i"
......@@ -143,47 +143,57 @@ msgstr "Ung
msgid "Can't redirect stdout to /dev/null.\n"
msgstr "Kann Standardausgabe nicht nach /dev/null umleiten.\n"
#: text.c:182
#: text.c:176
#, c-format
msgid "Error when trying to read URL (Too long?).\n"
msgstr "Fehler beim Lesen der URL (Zu lang?).\n"
#: text.c:185
#, c-format
msgid "Can't handle URLs of length over %d\n"
msgstr "Kann URLs mit mehr als %d Zeichen nicht nutzen\n"
#: text.c:187
#: text.c:190
#, c-format
msgid "Initializing download: %s\n"
msgstr "Starte Abruf: %s\n"
#: text.c:194
#: text.c:197
#, c-format
msgid "Doing search...\n"
msgstr "Suche gestartet...\n"
#: text.c:198
#: text.c:201
#, c-format
msgid "File not found\n"
msgstr "Datei nicht gefunden\n"
#: text.c:202
#: text.c:205
#, c-format
msgid "Testing speeds, this can take a while...\n"
msgstr "Teste Geschwindigkeiten, das kann etwas dauern...\n"
#: text.c:207
#: text.c:210
#, c-format
msgid "%i usable servers found, will use these URLs:\n"
msgstr "%i benutzbare Server gefunden, werde diese URLs benutzen:\n"
#: text.c:269
#, c-format
msgid "Filename too long!\n"
msgstr "Dateiname zu lang!\n"
#: text.c:281
#, c-format
msgid "No state file, cannot resume!\n"
msgstr "Keine Status-Datei, Fortsetzung nicht mglich!\n"
#: text.c:274
#: text.c:286
#, c-format
msgid "State file found, but no downloaded data. Starting from scratch.\n"
msgstr "Status-Datei gefunden, aber noch nichts bertragen. Neustart.\n"
#: text.c:405
#: text.c:417
#, c-format
msgid ""
"\n"
......@@ -192,47 +202,47 @@ msgstr ""
"\n"
"%s abgerufen in %s. (%.2f KB/s)\n"
#: text.c:427
#: text.c:439
#, fuzzy, c-format
msgid "%lld byte"
msgstr "%i Byte"
#: text.c:429
#: text.c:441
#, fuzzy, c-format
msgid "%lld bytes"
msgstr "%i Bytes"
#: text.c:431
#: text.c:443
#, c-format
msgid "%.1f kilobytes"
msgstr "%.1f Kilobytes"
#: text.c:433
#: text.c:445
#, c-format
msgid "%.1f megabytes"
msgstr "%.1f Megabytes"
#: text.c:442
#: text.c:454
#, c-format
msgid "%i second"
msgstr "%i Sekunde"
#: text.c:444
#: text.c:456
#, c-format
msgid "%i seconds"
msgstr "%i Sekunden"
#: text.c:446
#: text.c:458
#, c-format
msgid "%i:%02i seconds"
msgstr "%i:%02i Sekunden"
#: text.c:448
#: text.c:460
#, c-format
msgid "%i:%02i:%02i seconds"
msgstr "%i:%02i:%02i Sekunden"
#: text.c:528
#: text.c:540
#, c-format
msgid ""
"Usage: axel [options] url1 [url2] [url...]\n"
......@@ -268,7 +278,7 @@ msgstr ""
"\n"
"Fehler an lintux@lintux.cx melden.\n"
#: text.c:545
#: text.c:557
#, c-format
msgid ""
"Usage: axel [options] url1 [url2] [url...]\n"
......@@ -294,8 +304,8 @@ msgstr ""
"--num-connections=x\t-n x\tmaximale gleichzeitige Verbindungen\n"
"--output=f\t\t-o f\tlokale Ausgabe-Datei\n"
"--search=[x]\t\t-S [x] Suche nach Spiegelservern und Abruf von x Servern\n"
"--header=x\f\t-H x\tSende HTTP-Header\n"
"--user-agent=x\f\t-U x\tSetze Browser-Kennung\n"
"--header=x\t\t-H x\tSende HTTP-Header\n"
"--user-agent=x\t\t-U x\tSetze Browser-Kennung\n"
"--no-proxy\t\t-N\tkeinen Proxy-Server benutzen\n"
"--quiet\t\t\t-q\tkeine Meldungen auf Standard-Ausgabe\n"
"--verbose\t\t-v\tzustzliche Status-Information\n"
......@@ -304,7 +314,7 @@ msgstr ""
"\n"
"Fehler an lintux@lintux.cx melden.\n"
#: text.c:566
#: text.c:578
#, c-format
msgid "Axel version %s (%s)\n"
msgstr "Axel Version %s (%s)\n"
......@@ -7,3 +7,5 @@ install:
install -m 0755 axel-kapt $(DESTDIR)$(BINDIR)
mkdir -p $(DESTDIR)$(MANDIR)/man1/
install -m 0644 axel-kapt.1 $(DESTDIR)$(MANDIR)/man1/
mkdir -p $(DESTDIR)$(SHAREDIR)/applications/
install -m 0644 axel-kapt.desktop $(DESTDIR)$(SHAREDIR)/applications/
......@@ -45,7 +45,7 @@ config :horizontal "OPTIONS" -> checks term max connex search;
verb "Verbose" -> @|" --verbose ";
quiet "Quiet" -> @|" -q ";
term "Terminal Type" -> @combo("konsole", "rxvt", "xterm", "aterm");
term "Terminal Type" -> @string()="xterm";
max "Max bps"-> @integer()=0;
connex :horizontal "Connections" -> @integer()=4;
search :framed "ftp Search" -> numsites | ! @ ;
......
......@@ -5,7 +5,8 @@ GenericName=Axel Front-end
Comment=Front-end for Axel - a light download accelerator
Type=Application
Exec=axel-kapt %f
MimeType=text/html;
Icon=connect_creating
Terminal=false
X-KDE-SubstituteUID=false
Categories=Utility;Network;KDE;
Categories=Network;FileTransfer;KDE;
......@@ -124,7 +124,7 @@ void http_addheader( http_t *conn, char *format, ... )
strcat( s, "\r\n" );
va_end( params );
strncat( conn->request, s, MAX_QUERY );
strncat( conn->request, s, MAX_QUERY - strlen(conn->request) - 1);
}
int http_exec( http_t *conn )
......
......@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Axel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-05 11:14+0530\n"
"POT-Creation-Date: 2009-04-27 13:21+0530\n"
"PO-Revision-Date: 2001-11-14 15:22+0200\n"
"Last-Translator: Wilmer van der Gaast <wilmer@gaast.net>\n"
"Language-Team: Dutch <nl@li.org>\n"
......@@ -49,35 +49,35 @@ msgstr "Niet-fatale fout in OS/bestandssysteem, omheen werken.."
msgid "Starting download"
msgstr "Begin download"
#: axel.c:241 axel.c:398
#: axel.c:242 axel.c:401
#, c-format
msgid "Connection %i downloading from %s:%i using interface %s"
msgstr "Verbinding %i gebruikt server %s:%i via interface %s"
#: axel.c:245 axel.c:407
#: axel.c:249 axel.c:411
msgid "pthread error!!!"
msgstr "pthread fout!!!"
#: axel.c:314
#: axel.c:317
#, c-format
msgid "Error on connection %i! Connection closed"
msgstr "Fout op verbinding %i! Verbinding gesloten"
#: axel.c:328
#: axel.c:331
#, c-format
msgid "Connection %i unexpectedly closed"
msgstr "Verbinding %i onverwachts gesloten"
#: axel.c:332 axel.c:349
#: axel.c:335 axel.c:352
#, c-format
msgid "Connection %i finished"
msgstr "Verbinding %i klaar"
#: axel.c:361
#: axel.c:364
msgid "Write error!"
msgstr "Schrijffout!"
#: axel.c:373
#: axel.c:376
#, c-format
msgid "Connection %i timed out"
msgstr "Time-out op verbinding %i"
......@@ -142,47 +142,57 @@ msgstr "Ongeldige proxy string: %s\n"
msgid "Can't redirect stdout to /dev/null.\n"
msgstr "Fout bij het afsluiten van stdout.\n"
#: text.c:182
#: text.c:176
#, c-format
msgid "Error when trying to read URL (Too long?).\n"
msgstr ""
#: text.c:185
#, c-format
msgid "Can't handle URLs of length over %d\n"
msgstr ""
#: text.c:187
#: text.c:190
#, c-format
msgid "Initializing download: %s\n"
msgstr "Begin download: %s\n"
#: text.c:194
#: text.c:197
#, c-format
msgid "Doing search...\n"
msgstr "Zoeken...\n"
#: text.c:198
#: text.c:201
#, c-format
msgid "File not found\n"
msgstr "Bestand niet gevonden\n"
#: text.c:202
#: text.c:205
#, c-format
msgid "Testing speeds, this can take a while...\n"
msgstr "Snelheden testen, dit kan even duren...\n"
#: text.c:207
#: text.c:210
#, c-format
msgid "%i usable servers found, will use these URLs:\n"
msgstr "%i bruikbare servers gevonden, de volgende worden gebruikt:\n"
#: text.c:269
#, c-format
msgid "Filename too long!\n"
msgstr ""
#: text.c:281
#, c-format
msgid "No state file, cannot resume!\n"
msgstr "Geen .st bestand, kan niet resumen!\n"
#: text.c:274
#: text.c:286
#, c-format
msgid "State file found, but no downloaded data. Starting from scratch.\n"
msgstr ".st bestand gevonden maar geen uitvoerbestand. Opnieuw beginnen.\n"
#: text.c:405
#: text.c:417
#, c-format
msgid ""
"\n"
......@@ -191,47 +201,47 @@ msgstr ""
"\n"
"%s gedownload in %s. (%.2f KB/s)\n"
#: text.c:427
#: text.c:439
#, fuzzy, c-format
msgid "%lld byte"
msgstr "%i byte"
#: text.c:429
#: text.c:441
#, fuzzy, c-format
msgid "%lld bytes"
msgstr "%i bytes"
#: text.c:431
#: text.c:443
#, c-format
msgid "%.1f kilobytes"
msgstr "%.1f kilobytes"
#: text.c:433
#: text.c:445
#, c-format
msgid "%.1f megabytes"
msgstr "%.1f megabytes"
#: text.c:442
#: text.c:454
#, c-format
msgid "%i second"
msgstr "%i seconde"
#: text.c:444
#: text.c:456
#, c-format
msgid "%i seconds"
msgstr "%i seconden"
#: text.c:446
#: text.c:458
#, c-format
msgid "%i:%02i seconds"
msgstr "%i:%02i seconden"
#: text.c:448
#: text.c:460
#, c-format
msgid "%i:%02i:%02i seconds"
msgstr "%i:%02i:%02i seconden"
#: text.c:528
#: text.c:540
#, fuzzy, c-format
msgid ""
"Usage: axel [options] url1 [url2] [url...]\n"
......@@ -266,7 +276,7 @@ msgstr ""
"\n"
"Bugs melden aan lintux@lintux.cx\n"
#: text.c:545
#: text.c:557
#, fuzzy, c-format
msgid ""
"Usage: axel [options] url1 [url2] [url...]\n"
......@@ -301,7 +311,7 @@ msgstr ""
"\n"
"Bugs melden aan lintux@lintux.cx\n"
#: text.c:566
#: text.c:578
#, c-format
msgid "Axel version %s (%s)\n"
msgstr "Axel versie %s (%s)\n"
......@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Axel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-05 11:15+0530\n"
"POT-Creation-Date: 2009-04-27 13:21+0530\n"
"Last-Translator: newhren <colimit@gmail.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
......@@ -49,35 +49,35 @@ msgstr ""
msgid "Starting download"
msgstr "Начинаем скачивание"
#: axel.c:241 axel.c:398
#: axel.c:242 axel.c:401
#, c-format
msgid "Connection %i downloading from %s:%i using interface %s"
msgstr "Соединение %i скачивает с %s:%i через интерфейс %s"
#: axel.c:245 axel.c:407
#: axel.c:249 axel.c:411
msgid "pthread error!!!"
msgstr "ошибка pthread!!!"
#: axel.c:314
#: axel.c:317
#, c-format
msgid "Error on connection %i! Connection closed"
msgstr "Ошибка в соединении %i! Соединение закрыто"
#: axel.c:328
#: axel.c:331
#, c-format
msgid "Connection %i unexpectedly closed"
msgstr "Соединение %i неожиданно закрылось"
#: axel.c:332 axel.c:349
#: axel.c:335 axel.c:352
#, c-format
msgid "Connection %i finished"
msgstr "Соединение %i закончилось"