Upgrading to GitLab 11.10.0. Expect errors and see debian-infrastructure-announce@lists.debian.org for further information.

Import Upstream version 2.0

parent c4d09511
Version 2.0:
- Large file support thanks thanks David Turnbull
- Custom Header Support thanks Eli Yukelzon
- New russian translation thanks newhren
- Fix segfault in -H option thanks Philipp Hagemeister
- Honour http_proxy and prefer it over HTTP_PROXY
- Add new RPM spec file thanks bbbush
Finished Sep 12 2008
Version 1.1:
- Compilation for GNU/kFreeBSD, thanks to Cyril Brulebois
......
An not-quite-sorted list of people who helped somehow:
- Philipp Hagemeister <ubuntu@phihag.de>
Bug triage and patches to fix bugs
- bbbush <bbbush.yuan@gmail.com>
RPM spec file
- newhren <colimit@gmail.com>
Russian translation
- Eli Yukelzon <reflog@gmail.com>
Custom Header Support
- David Turnbull <dsturnbull@gmail.com>
Large file support
- Hermann J. Beckers <hjb-rheine@t-online.de>
German translation.
......
......@@ -12,7 +12,7 @@
.SUFFIXES: .po .mo
# Add your translation here..
MOFILES = nl.mo de.mo
MOFILES = nl.mo de.mo ru.mo
all: $(OUTFILE)
......
......@@ -123,7 +123,7 @@ axel_t *axel_new( conf_t *conf, int count, void *url )
if( ( axel->size = axel->conn[0].size ) != INT_MAX )
{
if( axel->conf->verbose > 0 )
axel_message( axel, _("File size: %i bytes"), axel->size );
axel_message( axel, _("File size: %lld bytes"), axel->size );
}
/* Wildcards in URL --> Get complete filename */
......@@ -137,6 +137,7 @@ axel_t *axel_new( conf_t *conf, int count, void *url )
int axel_open( axel_t *axel )
{
int i, fd;
long long int j;
if( axel->conf->verbose > 0 )
axel_message( axel, _("Opening output file %s"), axel->filename );
......@@ -167,7 +168,7 @@ int axel_open( axel_t *axel )
for( i = 0; i < axel->conf->num_connections; i ++ )
read( fd, &axel->conn[i].currentbyte, sizeof( axel->conn[i].currentbyte ) );
axel_message( axel, _("State file found: %i bytes downloaded, %i to go."),
axel_message( axel, _("State file found: %lld bytes downloaded, %lld to go."),
axel->bytes_done, axel->size - axel->bytes_done );
close( fd );
......@@ -201,11 +202,11 @@ int axel_open( axel_t *axel )
axel_message( axel, _("Crappy filesystem/OS.. Working around. :-(") );
lseek( axel->outfd, 0, SEEK_SET );
memset( buffer, 0, axel->conf->buffer_size );
i = axel->size;
while( i > 0 )
j = axel->size;
while( j > 0 )
{
write( axel->outfd, buffer, min( i, axel->conf->buffer_size ) );
i -= axel->conf->buffer_size;
write( axel->outfd, buffer, min( j, axel->conf->buffer_size ) );
j -= axel->conf->buffer_size;
}
}
}
......@@ -260,7 +261,8 @@ void axel_start( axel_t *axel )
void axel_do( axel_t *axel )
{
fd_set fds[1];
int hifd, i, j, size;
int hifd, i, j;
long long int size;
struct timeval timeval[1];
/* Create statefile if necessary */
......@@ -571,13 +573,13 @@ static void axel_divide( axel_t *axel )
for( i = 1; i < axel->conf->num_connections; i ++ )
{
#ifdef DEBUG
printf( "Downloading %i-%i using conn. %i\n", axel->conn[i-1].currentbyte, axel->conn[i-1].lastbyte, i - 1 );
printf( "Downloading %lld-%lld using conn. %i\n", axel->conn[i-1].currentbyte, axel->conn[i-1].lastbyte, i - 1 );
#endif
axel->conn[i].currentbyte = axel->conn[i-1].lastbyte + 1;
axel->conn[i].lastbyte = axel->conn[i].currentbyte + axel->size / axel->conf->num_connections;
}
axel->conn[axel->conf->num_connections-1].lastbyte = axel->size - 1;
#ifdef DEBUG
printf( "Downloading %i-%i using conn. %i\n", axel->conn[i-1].currentbyte, axel->conn[i-1].lastbyte, i - 1 );
printf( "Downloading %lld-%lld using conn. %i\n", axel->conn[i-1].currentbyte, axel->conn[i-1].lastbyte, i - 1 );
#endif
}
......@@ -65,6 +65,7 @@
/* Compiled-in settings */
#define MAX_STRING 1024
#define MAX_ADD_HEADERS 10
#define MAX_REDIR 5
#define AXEL_VERSION_STRING "1.1"
#define USER_AGENT "Axel " AXEL_VERSION_STRING " (" ARCH ")"
......@@ -95,7 +96,7 @@ typedef struct
char filename[MAX_STRING];
double start_time;
int next_state, finish_time;
int bytes_done, start_byte, size;
long long bytes_done, start_byte, size;
int bytes_per_second;
int delay_time;
int outfd;
......
# 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.
......@@ -107,6 +107,9 @@ int conf_loadfile( conf_t *conf, char *file )
fprintf( stderr, _("Error in %s line %i.\n"), file, line );
return( 0 );
}
get_config_number( add_header_count );
for(i=0;i<conf->add_header_count;i++)
get_config_string( add_header[i] );
}
fclose( fp );
......@@ -137,12 +140,15 @@ int conf_init( conf_t *conf )
conf->search_threads = 3;
conf->search_amount = 15;
conf->search_top = 3;
conf->add_header_count = 0;
conf->interfaces = malloc( sizeof( if_t ) );
memset( conf->interfaces, 0, sizeof( if_t ) );
conf->interfaces->next = conf->interfaces;
if( ( s2 = getenv( "HTTP_PROXY" ) ) != NULL )
if( ( s2 = getenv( "http_proxy" ) ) != NULL )
strncpy( conf->http_proxy, s2, MAX_STRING );
else if( ( s2 = getenv( "HTTP_PROXY" ) ) != NULL )
strncpy( conf->http_proxy, s2, MAX_STRING );
if( !conf_loadfile( conf, ETCDIR "/axelrc" ) )
......
......@@ -44,6 +44,9 @@ typedef struct
int search_threads;
int search_amount;
int search_top;
int add_header_count;
char add_header[MAX_ADD_HEADERS][MAX_STRING];
} conf_t;
int conf_loadfile( conf_t *conf, char *file );
......
......@@ -85,7 +85,7 @@ if [ "$i18n" = "1" ]; then
fi;
fi
echo 'CFLAGS=-g' >> Makefile.settings
echo 'CFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g' >> Makefile.settings
if [ "$debug" = "1" ]; then
echo 'DEBUG=1' >> Makefile.settings
echo '#define DEBUG' >> config.h;
......
......@@ -100,7 +100,7 @@ int conn_set( conn_t *conn, char *set_url )
/* Dash the password: Save traffic by trying
to avoid multi-line responses */
strcpy( conn->user, "anonymous" );
strcpy( conn->pass, "-lara_hack@gmx.co.uk" );
strcpy( conn->pass, "mailto:axel-devel@lists.alioth.debian.org" );
}
else
{
......@@ -242,7 +242,7 @@ int conn_setup( conn_t *conn )
if( conn->currentbyte )
{
ftp_command( conn->ftp, "REST %i", conn->currentbyte );
ftp_command( conn->ftp, "REST %lld", conn->currentbyte );
if( ftp_wait( conn->ftp ) / 100 != 3 &&
conn->ftp->status / 100 != 2 )
return( 0 );
......@@ -251,11 +251,14 @@ int conn_setup( conn_t *conn )
else
{
char s[MAX_STRING];
int i;
snprintf( s, MAX_STRING, "%s%s", conn->dir, conn->file );
conn->http->firstbyte = conn->currentbyte;
conn->http->lastbyte = conn->lastbyte;
http_get( conn->http, s );
for( i = 0; i < conn->conf->add_header_count; i++)
http_addheader( conn->http, "%s", conn->conf->add_header[i] );
}
return( 1 );
}
......@@ -282,12 +285,12 @@ int conn_info( conn_t *conn )
/* It's all a bit messed up.. But it works. */
if( conn->proto == PROTO_FTP && !conn->proxy )
{
ftp_command( conn->ftp, "REST %i", 1 );
ftp_command( conn->ftp, "REST %lld", 1 );
if( ftp_wait( conn->ftp ) / 100 == 3 ||
conn->ftp->status / 100 == 2 )
{
conn->supported = 1;
ftp_command( conn->ftp, "REST %i", 0 );
ftp_command( conn->ftp, "REST %lld", 0 );
ftp_wait( conn->ftp );
}
else
......@@ -308,7 +311,7 @@ int conn_info( conn_t *conn )
else
{
char s[MAX_STRING], *t;
int i = 0;
long long int i = 0;
do
{
......
......@@ -42,9 +42,9 @@ typedef struct
ftp_t ftp[1];
http_t http[1];
int size; /* File size, not 'connection size'.. */
int currentbyte;
int lastbyte;
long long size; /* File size, not 'connection size'.. */
long long currentbyte;
long long lastbyte;
int fd;
int enabled;
int supported;
......
......@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Axel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-01-18 14:22+0530\n"
"POT-Creation-Date: 2008-09-12 17:21+0530\n"
"PO-Revision-Date: 2007-12-15 15:18GMT\n"
"Last-Translator: Hermann J. Beckers <hj.beckers@onlinehome.de>\n"
"Language-Team: deutsch <de@li.org>\n"
......@@ -20,65 +20,65 @@ msgid "Could not parse URL.\n"
msgstr "Kann URL nicht parsen.\n"
#: axel.c:126
#, c-format
msgid "File size: %i bytes"
#, fuzzy, c-format
msgid "File size: %lld bytes"
msgstr "Dateigre: %i Bytes"
#: axel.c:142
#: axel.c:143
#, c-format
msgid "Opening output file %s"
msgstr "ffne Ausgabedatei: %s"
#: axel.c:151
#: axel.c:152
msgid "Server unsupported, starting from scratch with one connection."
msgstr "Server versteht REST nicht, Neustart mit einer Verbindung."
#: axel.c:170
#, c-format
msgid "State file found: %i bytes downloaded, %i to go."
#: axel.c:171
#, fuzzy, c-format
msgid "State file found: %lld bytes downloaded, %lld to go."
msgstr "Status-Datei gefunden: %i Bytes bertragen, %i verbleiben."
#: axel.c:177 axel.c:189
#: axel.c:178 axel.c:190
msgid "Error opening local file"
msgstr "Fehler beim ffnen der lokalen Datei"
#: axel.c:201
#: axel.c:202
msgid "Crappy filesystem/OS.. Working around. :-("
msgstr "Schlechtes Datei-/Betriebssystem, Umgehung.."
#: axel.c:234
#: axel.c:235
msgid "Starting download"
msgstr "Starte Abruf"
#: axel.c:240 axel.c:393
#: axel.c:241 axel.c:395
#, c-format
msgid "Connection %i downloading from %s:%i using interface %s"
msgstr "Verbindung %i: Abruf von %s:%i ber Schnittstelle %s"
#: axel.c:244 axel.c:402
#: axel.c:245 axel.c:404
msgid "pthread error!!!"
msgstr "pthread Fehler!!!"
#: axel.c:312
#: axel.c:314
#, c-format
msgid "Error on connection %i! Connection closed"
msgstr "Fehler bei Verbindung %i! Verbindung getrennt"
#: axel.c:326
#: axel.c:328
#, c-format
msgid "Connection %i unexpectedly closed"
msgstr "Verbindung %i unerwartet getrennt"
#: axel.c:330 axel.c:347
#: axel.c:332 axel.c:349
#, c-format
msgid "Connection %i finished"
msgstr "Verbindung %i beendet"
#: axel.c:359
#: axel.c:361
msgid "Write error!"
msgstr "Schreibfehler!"
#: axel.c:371
#: axel.c:373
#, c-format
msgid "Connection %i timed out"
msgstr "Time-out bei Verbindung %i"
......@@ -88,12 +88,12 @@ msgstr "Time-out bei Verbindung %i"
msgid "Error in %s line %i.\n"
msgstr "Fehler in %s Zeile %i.\n"
#: conn.c:345 ftp.c:124
#: conn.c:348 ftp.c:124
#, c-format
msgid "Too many redirects.\n"
msgstr "Zu viele Weiterleitungen (redirects).\n"
#: conn.c:364
#: conn.c:367
#, c-format
msgid "Unknown HTTP error.\n"
msgstr "Unbekannter HTTP Fehler.\n"
......@@ -138,52 +138,52 @@ msgstr "Verbindung geschlossen.\n"
msgid "Invalid proxy string: %s\n"
msgstr "Ungltige Proxy-Angabe: %s\n"
#: text.c:146
#: text.c:150
#, c-format
msgid "Can't redirect stdout to /dev/null.\n"
msgstr "Kann Standardausgabe nicht nach /dev/null umleiten.\n"
#: text.c:174
#: text.c:178
#, 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:179
#: text.c:183
#, c-format
msgid "Initializing download: %s\n"
msgstr "Starte Abruf: %s\n"
#: text.c:186
#: text.c:190
#, c-format
msgid "Doing search...\n"
msgstr "Suche gestartet...\n"
#: text.c:190
#: text.c:194
#, c-format
msgid "File not found\n"
msgstr "Datei nicht gefunden\n"
#: text.c:194
#: text.c:198
#, c-format
msgid "Testing speeds, this can take a while...\n"
msgstr "Teste Geschwindigkeiten, das kann etwas dauern...\n"
#: text.c:199
#: text.c:203
#, c-format
msgid "%i usable servers found, will use these URLs:\n"
msgstr "%i benutzbare Server gefunden, werde diese URLs benutzen:\n"
#: text.c:261
#: text.c:265
#, c-format
msgid "No state file, cannot resume!\n"
msgstr "Keine Status-Datei, Fortsetzung nicht mglich!\n"
#: text.c:266
#: text.c:270
#, 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:397
#: text.c:401
#, c-format
msgid ""
"\n"
......@@ -192,47 +192,47 @@ msgstr ""
"\n"
"%s abgerufen in %s. (%.2f KB/s)\n"
#: text.c:419
#, c-format
msgid "%i byte"
#: text.c:423
#, fuzzy, c-format
msgid "%lld byte"
msgstr "%i Byte"
#: text.c:421
#, c-format
msgid "%i bytes"
#: text.c:425
#, fuzzy, c-format
msgid "%lld bytes"
msgstr "%i Bytes"
#: text.c:423
#: text.c:427
#, c-format
msgid "%.1f kilobytes"
msgstr "%.1f Kilobytes"
#: text.c:425
#: text.c:429
#, c-format
msgid "%.1f megabytes"
msgstr "%.1f Megabytes"
#: text.c:434
#: text.c:438
#, c-format
msgid "%i second"
msgstr "%i Sekunde"
#: text.c:436
#: text.c:440
#, c-format
msgid "%i seconds"
msgstr "%i Sekunden"
#: text.c:438
#: text.c:442
#, c-format
msgid "%i:%02i seconds"
msgstr "%i:%02i Sekunden"
#: text.c:440
#: text.c:444
#, c-format
msgid "%i:%02i:%02i seconds"
msgstr "%i:%02i:%02i Sekunden"
#: text.c:515
#: text.c:524
#, fuzzy, c-format
msgid ""
"Usage: axel [options] url1 [url2] [url...]\n"
......@@ -241,6 +241,7 @@ msgid ""
"-n x\tSpecify maximum number of connections\n"
"-o f\tSpecify local output file\n"
"-S [x]\tSearch for mirrors and download from x servers\n"
"-H x\tAdd header string\n"
"-N\tJust don't use any proxy server\n"
"-q\tLeave stdout alone\n"
"-v\tMore status information\n"
......@@ -264,7 +265,7 @@ msgstr ""
"\n"
"Fehler an lintux@lintux.cx melden.\n"
#: text.c:530
#: text.c:540
#, fuzzy, c-format
msgid ""
"Usage: axel [options] url1 [url2] [url...]\n"
......@@ -273,6 +274,7 @@ msgid ""
"--num-connections=x\t-n x\tSpecify maximum number of connections\n"
"--output=f\t\t-o f\tSpecify local output file\n"
"--search[=x]\t\t-S [x]\tSearch for mirrors and download from x servers\n"
"--header=x\t\t-H x\tAdd header string\n"
"--no-proxy\t\t-N\tJust don't use any proxy server\n"
"--quiet\t\t\t-q\tLeave stdout alone\n"
"--verbose\t\t-v\tMore status information\n"
......@@ -296,7 +298,7 @@ msgstr ""
"\n"
"Fehler an lintux@lintux.cx melden.\n"
#: text.c:549
#: text.c:560
#, c-format
msgid "Axel version %s (%s)\n"
msgstr "Axel Version %s (%s)\n"
......@@ -109,9 +109,9 @@ void http_get( http_t *conn, char *lurl )
if( conn->firstbyte )
{
if( conn->lastbyte )
http_addheader( conn, "Range: bytes=%i-%i", conn->firstbyte, conn->lastbyte );
http_addheader( conn, "Range: bytes=%lld-%lld", conn->firstbyte, conn->lastbyte );
else
http_addheader( conn, "Range: bytes=%i-", conn->firstbyte );
http_addheader( conn, "Range: bytes=%lld-", conn->firstbyte );
}
}
......@@ -196,15 +196,15 @@ char *http_header( http_t *conn, char *header )
return( NULL );
}
int http_size( http_t *conn )
long long int http_size( http_t *conn )
{
char *i;
int j;
long long int j;
if( ( i = http_header( conn, "Content-Length:" ) ) == NULL )
return( -2 );
sscanf( i, "%i", &j );
sscanf( i, "%lld", &j );
return( j );
}
......
......@@ -33,8 +33,8 @@ typedef struct
char headers[MAX_QUERY];
int proto; /* FTP through HTTP proxies */
int proxy;
int firstbyte;
int lastbyte;
long long int firstbyte;
long long int lastbyte;
int status;
int fd;
char *local_if;
......@@ -46,6 +46,6 @@ void http_get( http_t *conn, char *lurl );
void http_addheader( http_t *conn, char *format, ... );
int http_exec( http_t *conn );
char *http_header( http_t *conn, char *header );
int http_size( http_t *conn );
long long int http_size( http_t *conn );
void http_encode( char *s );
void http_decode( char *s );
......@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Axel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-01-18 14:22+0530\n"
"POT-Creation-Date: 2008-09-12 17:22+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"
......@@ -19,65 +19,65 @@ msgid "Could not parse URL.\n"
msgstr "Kan URL niet verwerken.\n"
#: axel.c:126
#, c-format
msgid "File size: %i bytes"
#, fuzzy, c-format
msgid "File size: %lld bytes"
msgstr "Bestandsgrootte: %i bytes"
#: axel.c:142
#: axel.c:143
#, c-format
msgid "Opening output file %s"
msgstr "Openen uitvoerbestand %s"
#: axel.c:151
#: axel.c:152
msgid "Server unsupported, starting from scratch with one connection."
msgstr "Server niet ondersteund, opnieuw beginnen met 1 verbinding."
#: axel.c:170
#, c-format
msgid "State file found: %i bytes downloaded, %i to go."
#: axel.c:171
#, fuzzy, c-format
msgid "State file found: %lld bytes downloaded, %lld to go."
msgstr ".st bestand gevonden: %i bytes gedownload, %i te gaan."
#: axel.c:177 axel.c:189
#: axel.c:178 axel.c:190
msgid "Error opening local file"
msgstr "Fout bij openen lokaal bestand"
#: axel.c:201
#: axel.c:202
msgid "Crappy filesystem/OS.. Working around. :-("
msgstr "Niet-fatale fout in OS/bestandssysteem, omheen werken.."
#: axel.c:234
#: axel.c:235
msgid "Starting download"
msgstr "Begin download"
#: axel.c:240 axel.c:393
#: axel.c:241 axel.c:395
#, c-format
msgid "Connection %i downloading from %s:%i using interface %s"
msgstr "Verbinding %i gebruikt server %s:%i via interface %s"
#: axel.c:244 axel.c:402
#: axel.c:245 axel.c:404
msgid "pthread error!!!"
msgstr "pthread fout!!!"
#: axel.c:312
#: axel.c:314
#, c-format
msgid "Error on connection %i! Connection closed"
msgstr "Fout op verbinding %i! Verbinding gesloten"
#: axel.c:326
#: axel.c:328
#, c-format
msgid "Connection %i unexpectedly closed"
msgstr "Verbinding %i onverwachts gesloten"
#: axel.c:330 axel.c:347
#: axel.c:332 axel.c:349
#, c-format
msgid "Connection %i finished"
msgstr "Verbinding %i klaar"
#: axel.c:359
#: axel.c:361
msgid "Write error!"
msgstr "Schrijffout!"
#: axel.c:371
#: axel.c:373
#, c-format
msgid "Connection %i timed out"
msgstr "Time-out op verbinding %i"
......@@ -87,12 +87,12 @@ msgstr "Time-out op verbinding %i"
msgid "Error in %s line %i.\n"
msgstr "Fout in %s regel %i.\n"
#: conn.c:345 ftp.c:124
#: conn.c:348 ftp.c:124
#, c-format
msgid "Too many redirects.\n"
msgstr "Te veel redirects.\n"
#: conn.c:364
#: conn.c:367
#, c-format
msgid "Unknown HTTP error.\n"
msgstr "Onbekende HTTP fout.\n"
......@@ -137,52 +137,52 @@ msgstr "Verbinding gesloten.\n"
msgid "Invalid proxy string: %s\n"
msgstr "Ongeldige proxy string: %s\n"
#: text.c:146
#: text.c:150
#, c-format
msgid "Can't redirect stdout to /dev/null.\n"
msgstr "Fout bij het afsluiten van stdout.\n"
#: text.c:174
#: text.c:178
#, c-format
msgid "Can't handle URLs of length over %d\n"
msgstr ""
#: text.c:179
#: text.c:183
#, c-format
msgid "Initializing download: %s\n"
msgstr "Begin download: %s\n"
#: text.c:186
#: text.c:190
#, c-format
msgid "Doing search...\n"
msgstr "Zoeken...\n"
#: text.c:190
#: text.c:194
#, c-format
msgid "File not found\n"
msgstr "Bestand niet gevonden\n"
#: text.c:194
#: text.c:198
#, c-format
msgid "Testing speeds, this can take a while...\n"
msgstr "Snelheden testen, dit kan even duren...\n"
#: text.c:199
#: text.c:203
#, c-format
msgid "%i usable servers found, will use these URLs:\n"
msgstr "%i bruikbare servers gevonden, de volgende worden gebruikt:\n"
#: text.c:261
#: text.c:265
#, c-format
msgid "No state file, cannot resume!\n"
msgstr "Geen .st bestand, kan niet resumen!\n"
#: text.c:266
#: text.c:270
#, c-format
msgid "State file found, but no downloaded data. Starting from scratch.\n"