2007-07-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

Fixed the bug that prevents cookies from being sent to the 
server
	if the domain of cookie is FQDN and starts with ".".
	* src/Cookie.cc (match)

	To add the ability to change peer id.
	* src/DefaultBtContext.h
	(_peerIdPrefix): New variable
	(setPeerIdPrefix): New function.
	* src/torrentRequestInfo.cc
	(execute): Set the option value of PREF_PEER_ID_PREFIX to
	DefaultBtContext.
	* src/main.cc (main): Added peer-id-prefix command-line option.
	The usage message is not added yet.
	* src/DefaultBtContext.cc
	(generatePeerId): Use _peerIdPrefix.
	* src/prefs.h (PREF_PEER_ID_PREFIX): New definition.
pull/1/head
Tatsuhiro Tsujikawa 2007-07-20 17:06:21 +00:00
parent 6e7893c848
commit cd6b6e3591
49 changed files with 1850 additions and 421 deletions

View File

@ -4,6 +4,19 @@
if the domain of cookie is FQDN and starts with ".".
* src/Cookie.cc (match)
To add the ability to change peer id.
* src/DefaultBtContext.h
(_peerIdPrefix): New variable
(setPeerIdPrefix): New function.
* src/torrentRequestInfo.cc
(execute): Set the option value of PREF_PEER_ID_PREFIX to
DefaultBtContext.
* src/main.cc (main): Added peer-id-prefix command-line option.
The usage message is not added yet.
* src/DefaultBtContext.cc
(generatePeerId): Use _peerIdPrefix.
* src/prefs.h (PREF_PEER_ID_PREFIX): New definition.
2007-07-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed the bug that prevents filename in content-disposition from

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: 2007-07-09 22:31+0900\n"
"POT-Creation-Date: 2007-07-20 01:05+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"
@ -127,292 +127,633 @@ msgstr ""
msgid "CUID#%d - Bad checksum: %s"
msgstr ""
#: src/message.h:63
#, c-format
msgid "CUID#%d - Resolving hostname %s"
msgstr ""
#: src/message.h:64
#, c-format
msgid "Tracker returned warning message: %s"
msgid "CUID#%d - Name resolution complete: %s -> %s"
msgstr ""
#: src/message.h:65
#, c-format
msgid "The segment file %s exists."
msgid "CUID#%d - Name resolution for %s failed:%s"
msgstr ""
#: src/message.h:66
#, c-format
msgid "The segment file %s does not exist."
msgid "CUID#%d - DNS cache hit: %s -> %s"
msgstr ""
#: src/message.h:67
#, c-format
msgid "Saving the segment file %s"
msgid "CUID#%d - Abort requested."
msgstr ""
#: src/message.h:68
msgid "The segment file was saved successfully."
#, c-format
msgid "CUID#%d - Connecting to the peer %s"
msgstr ""
#: src/message.h:69
#, c-format
msgid "Loading the segment file %s."
msgid ""
"CUID#%d - Piece received. index=%d, begin=%d, length=%d, offset=%llu, "
"blockIndex=%d"
msgstr ""
#: src/message.h:70
msgid "The segment file was loaded successfully."
#, c-format
msgid "CUID#%d - Piece bitfield %s"
msgstr ""
#: src/message.h:71
msgid "No URI to download. Download aborted."
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because the peer has been choked. "
"index=%d, begin=%d, length=%d"
msgstr ""
#: src/message.h:72
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because cancel message received. "
"index=%d, begin=%d, length=%d"
msgstr ""
#: src/message.h:73
#, c-format
msgid "CUID#%d - Exception caught while validating file integrity."
msgstr ""
#: src/message.h:74
#, c-format
msgid "CUID#%d - Interested in the peer"
msgstr ""
#: src/message.h:75
#, c-format
msgid "CUID#%d - Not interested in the peer"
msgstr ""
#: src/message.h:76
#, c-format
msgid "CUID#%d - Deleting request slot index=%d, blockIndex=%d"
msgstr ""
#: src/message.h:77
#, c-format
msgid ""
"CUID#%d - Deleting request slot index=%d, blockIndex=%d because localhost "
"got choked."
msgstr ""
#: src/message.h:78
#, c-format
msgid "CUID#%d - Deleting request slot blockIndex=%d because of time out"
msgstr ""
#: src/message.h:79
#, c-format
msgid ""
"CUID#%d - Deleting request slot blockIndex=%d because the block has been "
"acquired."
msgstr ""
#: src/message.h:80
#, c-format
msgid "CUID#%d - Fast extension enabled."
msgstr ""
#: src/message.h:81
#, c-format
msgid "CUID#%d - Exception caught while allocating file space."
msgstr ""
#: src/message.h:82
#, c-format
msgid "CUID#%d - Content-Disposition detected. Use %s as filename"
msgstr ""
#: src/message.h:83
#, c-format
msgid "CUID#%d - Peer %s:%d banned."
msgstr ""
#: src/message.h:84
#, c-format
msgid "CUID#%d - Using port %d for accepting new connections"
msgstr ""
#: src/message.h:85
#, c-format
msgid "CUID#%d - An error occurred while binding port=%d"
msgstr ""
#: src/message.h:86
#, c-format
msgid "CUID#%d - Incoming connection, adding new command CUID#%d"
msgstr ""
#: src/message.h:87
#, c-format
msgid "CUID#%d - Error in accepting connection"
msgstr ""
#: src/message.h:88
#, c-format
msgid "CUID#%d - Error occurred while processing tracker response."
msgstr ""
#: src/message.h:89
#, c-format
msgid "CUID#%d - Cannot create tracker request."
msgstr ""
#: src/message.h:90
#, c-format
msgid "CUID#%d - Creating new tracker request command #%d"
msgstr ""
#: src/message.h:92
#, c-format
msgid "Unrecognized URI or unsupported protocol: %s"
msgstr ""
#: src/message.h:93
#, c-format
msgid "Tracker returned warning message: %s"
msgstr ""
#: src/message.h:94
#, c-format
msgid "The segment file %s exists."
msgstr ""
#: src/message.h:95
#, c-format
msgid "The segment file %s does not exist."
msgstr ""
#: src/message.h:96
#, c-format
msgid "Saving the segment file %s"
msgstr ""
#: src/message.h:97
msgid "The segment file was saved successfully."
msgstr ""
#: src/message.h:98
#, c-format
msgid "Loading the segment file %s."
msgstr ""
#: src/message.h:99
msgid "The segment file was loaded successfully."
msgstr ""
#: src/message.h:100
msgid "No URI to download. Download aborted."
msgstr ""
#: src/message.h:101
#, c-format
msgid ""
"File %s exists, but %s does not exist. The download was canceled in order to "
"prevent your file from being truncated to 0. If you are sure to download "
"file all over again, then delete it or add --allow-overwrite=true option and "
"restart aria2."
msgstr ""
#: src/message.h:74
#: src/message.h:102
#, c-format
msgid "Allocating file %s, %s bytes"
msgstr ""
#: src/message.h:103
msgid "File not found"
msgstr ""
#: src/message.h:104
msgid "Not a directory"
msgstr ""
#: src/message.h:105
#, c-format
msgid "Insufficient checksums. checksumLength=%d, numChecksum=%d"
msgstr ""
#: src/message.h:106
#, c-format
msgid "Writing file %s"
msgstr ""
#: src/message.h:107
msgid "No peer list received."
msgstr ""
#: src/message.h:108
#, c-format
msgid "Adding peer %s:%d"
msgstr ""
#: src/message.h:109
#, c-format
msgid "Deleting used piece index=%d, fillRate(%%)=%d<=%d"
msgstr ""
#: src/message.h:110
msgid "Download of selected files was complete."
msgstr ""
#: src/message.h:111
msgid "The download was complete."
msgstr ""
#: src/message.h:112
#, c-format
msgid "Removed %d have entries."
msgstr ""
#: src/message.h:113
#, c-format
msgid "Validating file %s"
msgstr ""
#: src/message.h:114
#, c-format
msgid "%d seconds to allocate %lld byte(s)"
msgstr ""
#: src/message.h:115
#, c-format
msgid "Dispatching FileAllocationCommand for CUID#%d."
msgstr ""
#: src/message.h:116
#, c-format
msgid "Metalink: Queueing %s for download."
msgstr ""
#: src/message.h:117
#, c-format
msgid "Download complete: %s"
msgstr ""
#: src/message.h:118
msgid "Seeding is over."
msgstr ""
#: src/message.h:119
#, c-format
msgid "CUID#%d cancels segment index=%d. CUID#%d handles it instead."
msgstr ""
#: src/message.h:120
msgid "No chunk to verify."
msgstr ""
#: src/message.h:121
msgid "Good chunk checksum."
msgstr ""
#: src/message.h:122
#, c-format
msgid "Failed to load cookies from %s"
msgstr ""
#: src/message.h:123
#, c-format
msgid ""
".netrc file %s does not have correct permissions. It should be 600. netrc "
"support disabled."
msgstr ""
#: src/message.h:124
msgid "Logging started."
msgstr ""
#: src/message.h:125
msgid "Specify at least one URL."
msgstr ""
#: src/message.h:126
msgid "daemon failed."
msgstr ""
#: src/message.h:128
msgid "Timeout."
msgstr ""
#: src/message.h:75
#: src/message.h:129
msgid "Invalid chunk size."
msgstr ""
#: src/message.h:76
#: src/message.h:130
#, c-format
msgid "Too large chunk. size=%d"
msgstr ""
#: src/message.h:77
#: src/message.h:131
msgid "Invalid header."
msgstr ""
#: src/message.h:78
#: src/message.h:132
msgid "Invalid response."
msgstr ""
#: src/message.h:79
#: src/message.h:133
msgid "No header found."
msgstr ""
#: src/message.h:80
#: src/message.h:134
msgid "No status header."
msgstr ""
#: src/message.h:81
#: src/message.h:135
msgid "Proxy connection failed."
msgstr ""
#: src/message.h:82
#: src/message.h:136
msgid "Connection failed."
msgstr ""
#: src/message.h:83
#: src/message.h:137
#, c-format
msgid ""
"The requested filename and the previously registered one are not same. "
"Expected:%s Actual:%s"
msgstr ""
#: src/message.h:84
#: src/message.h:138
#, c-format
msgid "The response status is not successful. status=%d"
msgstr ""
#: src/message.h:85
#: src/message.h:139
#, c-format
msgid "Too large file size. size=%lld"
msgstr ""
#: src/message.h:86
#: src/message.h:140
#, c-format
msgid "Transfer encoding %s is not supported."
msgstr ""
#: src/message.h:87
#: src/message.h:141
msgid "SSL initialization failed."
msgstr ""
#: src/message.h:88
#: src/message.h:142
#, c-format
msgid "Size mismatch Expected:%lld Actual:%lld"
msgstr ""
#: src/message.h:89
#: src/message.h:143
msgid "Authorization failed."
msgstr ""
#: src/message.h:90
#: src/message.h:144
msgid "Got EOF from the server."
msgstr ""
#: src/message.h:91
#: src/message.h:145
msgid "Got EOF from peer."
msgstr ""
#: src/message.h:92
#: src/message.h:146
msgid "Malformed meta info."
msgstr ""
#: src/message.h:94
#: src/message.h:148
#, c-format
msgid "Failed to open the file %s, cause: %s"
msgstr ""
#: src/message.h:95
#: src/message.h:149
#, c-format
msgid "Failed to write into the file %s, cause: %s"
msgstr ""
#: src/message.h:96
#: src/message.h:150
#, c-format
msgid "Failed to read from the file %s, cause: %s"
msgstr ""
#: src/message.h:97
#: src/message.h:151
msgid "Failed to read data from disk."
msgstr ""
#: src/message.h:152
#, c-format
msgid "Failed to calculate SHA1 digest of or a part of the file %s, cause: %s"
msgstr ""
#: src/message.h:98
#: src/message.h:153
#, c-format
msgid "Failed to seek the file %s, cause: %s"
msgstr ""
#: src/message.h:99
#: src/message.h:154
#, c-format
msgid "The offset is out of range, offset=%lld"
msgstr ""
#: src/message.h:100
#: src/message.h:155
#, c-format
msgid "%s is not a directory."
msgstr ""
#: src/message.h:101
#: src/message.h:156
#, c-format
msgid "Failed to make the directory %s, cause: %s"
msgstr ""
#: src/message.h:102
#: src/message.h:157
#, c-format
msgid "Failed to open the segment file %s, cause: %s"
msgstr ""
#: src/message.h:103
#: src/message.h:158
#, c-format
msgid "Failed to write into the segment file %s, cause: %s"
msgstr ""
#: src/message.h:104
#: src/message.h:159
#, c-format
msgid "Failed to read from the segment file %s, cause: %s"
msgstr ""
#: src/message.h:106
#: src/message.h:161
#, c-format
msgid "Failed to open a socket, cause: %s"
msgstr ""
#: src/message.h:107
#: src/message.h:162
#, c-format
msgid "Failed to set a socket option, cause: %s"
msgstr ""
#: src/message.h:108
#: src/message.h:163
#, c-format
msgid "Failed to bind a socket, cause: %s"
msgstr ""
#: src/message.h:109
#: src/message.h:164
#, c-format
msgid "Failed to listen to a socket, cause: %s"
msgstr ""
#: src/message.h:110
#: src/message.h:165
#, c-format
msgid "Failed to accept a peer connection, cause: %s"
msgstr ""
#: src/message.h:111
#: src/message.h:166
#, c-format
msgid "Failed to get the name of socket, cause: %s"
msgstr ""
#: src/message.h:112
#: src/message.h:167
#, c-format
msgid "Failed to get the name of connected peer, cause: %s"
msgstr ""
#: src/message.h:113
#: src/message.h:168
#, c-format
msgid "Failed to resolve the hostname %s, cause: %s"
msgstr ""
#: src/message.h:114
#: src/message.h:169
#, c-format
msgid "Failed to connect to the host %s, cause: %s"
msgstr ""
#: src/message.h:115
#: src/message.h:170
#, c-format
msgid "Failed to check whether the socket is writable, cause: %s"
msgstr ""
#: src/message.h:116
#: src/message.h:171
#, c-format
msgid "Failed to check whether the socket is readable, cause: %s"
msgstr ""
#: src/message.h:117
#: src/message.h:172
#, c-format
msgid "Failed to send data, cause: %s"
msgstr ""
#: src/message.h:118
#: src/message.h:173
#, c-format
msgid "Failed to receive data, cause: %s"
msgstr ""
#: src/message.h:119
#: src/message.h:174
#, c-format
msgid "Failed to peek data, cause: %s"
msgstr ""
#: src/message.h:120
#: src/message.h:175
#, c-format
msgid "File %s exists, but %s does not exist."
msgstr ""
#: src/message.h:121
#: src/message.h:176
#, c-format
msgid "Invalid payload size for %s, size=%d. It should be %d."
msgstr ""
#: src/message.h:122
#: src/message.h:177
#, c-format
msgid "Invalid ID=%d for %s. It should be %d."
msgstr ""
#: src/message.h:123
#: src/message.h:178
#, c-format
msgid ""
"Chunk checksum validation failed. checksumIndex=%d, offset=%lld, "
"expectedHash=%s, actualHash=%s"
msgstr ""
#: src/message.h:124
#: src/message.h:179
msgid "Download aborted."
msgstr ""
#: src/message.h:125
#: src/message.h:180
#, c-format
msgid "File %s is being downloaded by other command."
msgstr ""
#: src/message.h:181
msgid "Insufficient checksums."
msgstr ""
#: src/message.h:182
#, c-format
msgid "Tracker returned failure reason: %s"
msgstr ""
#: src/message.h:183
msgid "Flooding detected."
msgstr ""
#: src/message.h:184
#, c-format
msgid ""
"Drop connection because no request/piece messages were exchanged in a "
"certain period(%d seconds)."
msgstr ""
#: src/message.h:185
msgid "The infoHash in torrent file doesn't match to one in .aria2 file."
msgstr ""
#: src/message.h:186
#, c-format
msgid "No such file entry %s"
msgstr ""
#: src/message.h:187
#, c-format
msgid "Too slow Downloading speed: %d <= %d(B/s), host:%s"
msgstr ""
#: src/message.h:188
msgid "No HttpRequestEntry found."
msgstr ""
#: src/message.h:189
#, c-format
msgid "Got %d status, but no location header provided."
msgstr ""
#: src/message.h:190
#, c-format
msgid "Invalid range header. Request: %lld-%lld/%lld, Response: %lld-%lld/%lld"
msgstr ""
#: src/message.h:191
msgid "No file matched with your preference."
msgstr ""
#: src/message.h:192
msgid "Exception caught"
msgstr ""
#: src/message.h:193
#, c-format
msgid "Max payload length exceeded or invalid. length = %d"
msgstr ""
#: src/message.h:194
#, c-format
msgid "Invalid file length. Cannot continue download %s: local %s, remote %s"
msgstr ""
#: src/DownloadEngineFactory.cc:195
#, c-format
msgid "Errors occurred while binding port.\n"
@ -895,22 +1236,6 @@ msgstr ""
msgid "Report bugs to %s"
msgstr ""
#: src/main.cc:666
msgid "specify at least one URL"
msgstr ""
#: src/main.cc:672
msgid "daemon failed"
msgstr ""
#: src/DefaultPieceStorage.cc:242
msgid "Download of selected files was complete."
msgstr ""
#: src/DefaultPieceStorage.cc:247
msgid "The download was complete."
msgstr ""
#: src/ConsoleDownloadEngine.cc:211
#, c-format
msgid ""

BIN
po/de.gmo

Binary file not shown.

491
po/de.po
View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2007-07-09 22:31+0900\n"
"POT-Creation-Date: 2007-07-20 01:05+0900\n"
"PO-Revision-Date: 2006-05-05 19:44+0900\n"
"Last-Translator: Hermann J. Beckers <hj.beckers@onlinehome.de>\n"
"Language-Team: deutsch <de@li.org>\n"
@ -137,45 +137,200 @@ msgstr ""
msgid "CUID#%d - Bad checksum: %s"
msgstr "CUID#%d - Weiterleitung zu %s"
#: src/message.h:63
#, fuzzy, c-format
msgid "CUID#%d - Resolving hostname %s"
msgstr "CUID#%d - Weiterleitung zu %s"
#: src/message.h:64
#, fuzzy, c-format
msgid "CUID#%d - Name resolution complete: %s -> %s"
msgstr "CUID#%d - Abruf abgebrochen."
#: src/message.h:65
#, fuzzy, c-format
msgid "CUID#%d - Name resolution for %s failed:%s"
msgstr "CUID#%d - Weiterleitung zu %s"
#: src/message.h:66
#, fuzzy, c-format
msgid "CUID#%d - DNS cache hit: %s -> %s"
msgstr "CUID#%d - Weiterleitung zu %s"
#: src/message.h:67
#, fuzzy, c-format
msgid "CUID#%d - Abort requested."
msgstr "CUID#%d - Abruf abgebrochen."
#: src/message.h:68
#, fuzzy, c-format
msgid "CUID#%d - Connecting to the peer %s"
msgstr "CUID#%d - Verbinde mit %s:%d"
#: src/message.h:69
#, c-format
msgid ""
"CUID#%d - Piece received. index=%d, begin=%d, length=%d, offset=%llu, "
"blockIndex=%d"
msgstr ""
#: src/message.h:70
#, fuzzy, c-format
msgid "CUID#%d - Piece bitfield %s"
msgstr "CUID#%d - Weiterleitung zu %s"
#: src/message.h:71
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because the peer has been choked. "
"index=%d, begin=%d, length=%d"
msgstr ""
#: src/message.h:72
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because cancel message received. "
"index=%d, begin=%d, length=%d"
msgstr ""
#: src/message.h:73
#, c-format
msgid "CUID#%d - Exception caught while validating file integrity."
msgstr ""
#: src/message.h:74
#, fuzzy, c-format
msgid "CUID#%d - Interested in the peer"
msgstr "CUID#%d - Weiterleitung zu %s"
#: src/message.h:75
#, fuzzy, c-format
msgid "CUID#%d - Not interested in the peer"
msgstr "CUID#%d - Weiterleitung zu %s"
#: src/message.h:76
#, c-format
msgid "CUID#%d - Deleting request slot index=%d, blockIndex=%d"
msgstr ""
#: src/message.h:77
#, c-format
msgid ""
"CUID#%d - Deleting request slot index=%d, blockIndex=%d because localhost "
"got choked."
msgstr ""
#: src/message.h:78
#, c-format
msgid "CUID#%d - Deleting request slot blockIndex=%d because of time out"
msgstr ""
#: src/message.h:79
#, c-format
msgid ""
"CUID#%d - Deleting request slot blockIndex=%d because the block has been "
"acquired."
msgstr ""
#: src/message.h:80
#, fuzzy, c-format
msgid "CUID#%d - Fast extension enabled."
msgstr "CUID#%d - Kein Segment verfügbar."
#: src/message.h:81
#, c-format
msgid "CUID#%d - Exception caught while allocating file space."
msgstr ""
#: src/message.h:82
#, c-format
msgid "CUID#%d - Content-Disposition detected. Use %s as filename"
msgstr ""
#: src/message.h:83
#, c-format
msgid "CUID#%d - Peer %s:%d banned."
msgstr ""
#: src/message.h:84
#, c-format
msgid "CUID#%d - Using port %d for accepting new connections"
msgstr ""
#: src/message.h:85
#, fuzzy, c-format
msgid "CUID#%d - An error occurred while binding port=%d"
msgstr "Fehler beim Binden an Port aufgetreten.\n"
#: src/message.h:86
#, c-format
msgid "CUID#%d - Incoming connection, adding new command CUID#%d"
msgstr ""
#: src/message.h:87
#, c-format
msgid "CUID#%d - Error in accepting connection"
msgstr ""
#: src/message.h:88
#, fuzzy, c-format
msgid "CUID#%d - Error occurred while processing tracker response."
msgstr "Fehler beim Binden an Port aufgetreten.\n"
#: src/message.h:89
#, c-format
msgid "CUID#%d - Cannot create tracker request."
msgstr ""
#: src/message.h:90
#, c-format
msgid "CUID#%d - Creating new tracker request command #%d"
msgstr ""
#: src/message.h:92
#, fuzzy, c-format
msgid "Unrecognized URI or unsupported protocol: %s"
msgstr "URL nicht erkannt oder nicht unterstütztes Protokoll: %s\n"
#: src/message.h:93
#, c-format
msgid "Tracker returned warning message: %s"
msgstr "Vom Tracker übergebene Warn-Nachricht: %s"
#: src/message.h:65
#: src/message.h:94
#, c-format
msgid "The segment file %s exists."
msgstr "Die Segmentdatei %s ist bereits vorhanden."
#: src/message.h:66
#: src/message.h:95
#, c-format
msgid "The segment file %s does not exist."
msgstr "Die Segmentdatei %s ist nicht vorhanden."
#: src/message.h:67
#: src/message.h:96
#, c-format
msgid "Saving the segment file %s"
msgstr "Speicherung der Segmentdatei %s"
#: src/message.h:68
#: src/message.h:97
msgid "The segment file was saved successfully."
msgstr "Die Segmentdatei wurde fehlerfrei gespeichert."
#: src/message.h:69
#: src/message.h:98
#, c-format
msgid "Loading the segment file %s."
msgstr "Laden der Segmentdatei %s."
#: src/message.h:70
#: src/message.h:99
msgid "The segment file was loaded successfully."
msgstr "Die Segmentdatei wurde fehlerfrei geladen."
#: src/message.h:71
#: src/message.h:100
#, fuzzy
msgid "No URI to download. Download aborted."
msgstr "CUID#%d - Abruf abgebrochen."
#: src/message.h:72
#: src/message.h:101
#, c-format
msgid ""
"File %s exists, but %s does not exist. The download was canceled in order to "
@ -184,44 +339,167 @@ msgid ""
"restart aria2."
msgstr ""
#: src/message.h:74
#: src/message.h:102
#, c-format
msgid "Allocating file %s, %s bytes"
msgstr ""
#: src/message.h:103
msgid "File not found"
msgstr ""
#: src/message.h:104
#, fuzzy
msgid "Not a directory"
msgstr "%s ist kein Verzeichnis."
#: src/message.h:105
#, c-format
msgid "Insufficient checksums. checksumLength=%d, numChecksum=%d"
msgstr ""
#: src/message.h:106
#, c-format
msgid "Writing file %s"
msgstr ""
#: src/message.h:107
msgid "No peer list received."
msgstr ""
#: src/message.h:108
#, c-format
msgid "Adding peer %s:%d"
msgstr ""
#: src/message.h:109
#, c-format
msgid "Deleting used piece index=%d, fillRate(%%)=%d<=%d"
msgstr ""
#: src/message.h:110
#, fuzzy
msgid "Download of selected files was complete."
msgstr " Nur ausgewählte Dateien abrufen:"
#: src/message.h:111
#, fuzzy
msgid "The download was complete."
msgstr ""
"\n"
"Abruf ist vollständig. <%s>\n"
#: src/message.h:112
#, c-format
msgid "Removed %d have entries."
msgstr ""
#: src/message.h:113
#, c-format
msgid "Validating file %s"
msgstr ""
#: src/message.h:114
#, c-format
msgid "%d seconds to allocate %lld byte(s)"
msgstr ""
#: src/message.h:115
#, c-format
msgid "Dispatching FileAllocationCommand for CUID#%d."
msgstr ""
#: src/message.h:116
#, c-format
msgid "Metalink: Queueing %s for download."
msgstr ""
#: src/message.h:117
#, fuzzy, c-format
msgid "Download complete: %s"
msgstr "CUID#%d - Abruf abgebrochen."
#: src/message.h:118
msgid "Seeding is over."
msgstr ""
#: src/message.h:119
#, c-format
msgid "CUID#%d cancels segment index=%d. CUID#%d handles it instead."
msgstr ""
#: src/message.h:120
msgid "No chunk to verify."
msgstr ""
#: src/message.h:121
msgid "Good chunk checksum."
msgstr ""
#: src/message.h:122
#, fuzzy, c-format
msgid "Failed to load cookies from %s"
msgstr "Konnte Socket nicht öffnen, Ursache: %s"
#: src/message.h:123
#, c-format
msgid ""
".netrc file %s does not have correct permissions. It should be 600. netrc "
"support disabled."
msgstr ""
#: src/message.h:124
msgid "Logging started."
msgstr ""
#: src/message.h:125
#, fuzzy
msgid "Specify at least one URL."
msgstr "Geben Sie zumindest eine URL an"
#: src/message.h:126
#, fuzzy
msgid "daemon failed."
msgstr "Daemon-Start nicht erfolgreich"
#: src/message.h:128
msgid "Timeout."
msgstr "Zeitablauf."
#: src/message.h:75
#: src/message.h:129
msgid "Invalid chunk size."
msgstr "Ungültige Teilgröße."
#: src/message.h:76
#: src/message.h:130
#, c-format
msgid "Too large chunk. size=%d"
msgstr "Teilstück zu groß. Größe=%d"
#: src/message.h:77
#: src/message.h:131
msgid "Invalid header."
msgstr "Ungültige Header-Information."
#: src/message.h:78
#: src/message.h:132
msgid "Invalid response."
msgstr "Ungültige Antwort."
#: src/message.h:79
#: src/message.h:133
msgid "No header found."
msgstr "Keine Header-Information gefunden."
#: src/message.h:80
#: src/message.h:134
msgid "No status header."
msgstr "Keine Status-Information."
#: src/message.h:81
#: src/message.h:135
msgid "Proxy connection failed."
msgstr "Proxy-Verbindung fehlgeschlagen."
#: src/message.h:82
#: src/message.h:136
msgid "Connection failed."
msgstr "Verbindung fehlgeschlagen."
#: src/message.h:83
#: src/message.h:137
#, fuzzy, c-format
msgid ""
"The requested filename and the previously registered one are not same. "
@ -230,204 +508,276 @@ msgstr ""
"Der angeforderte Dateiname und der vorher registrierte sind nicht gleich. %"
"s != %s"
#: src/message.h:84
#: src/message.h:138
#, c-format
msgid "The response status is not successful. status=%d"
msgstr "Antwortstatus ist nicht in Ordnung. Status=%d"
#: src/message.h:85
#: src/message.h:139
#, c-format
msgid "Too large file size. size=%lld"
msgstr "Dateigröße zu groß. Größe=%lld"
#: src/message.h:86
#: src/message.h:140
#, c-format
msgid "Transfer encoding %s is not supported."
msgstr "Übertragungskodierung %s wird nicht unterstützt."
#: src/message.h:87
#: src/message.h:141
msgid "SSL initialization failed."
msgstr "SSL-Initialisierung fehlgeschlagen."
#: src/message.h:88
#: src/message.h:142
#, fuzzy, c-format
msgid "Size mismatch Expected:%lld Actual:%lld"
msgstr "Größendifferenz %lld != %lld"
#: src/message.h:89
#: src/message.h:143
msgid "Authorization failed."
msgstr "Autorisierung fehlgeschlagen."
#: src/message.h:90
#: src/message.h:144
msgid "Got EOF from the server."
msgstr "Erhielt EOF vom Server."
#: src/message.h:91
#: src/message.h:145
msgid "Got EOF from peer."
msgstr "Erhielt EOF von Gegenstelle."
#: src/message.h:92
#: src/message.h:146
msgid "Malformed meta info."
msgstr "Fehlerhafte Meta-Information."
#: src/message.h:94
#: src/message.h:148
#, c-format
msgid "Failed to open the file %s, cause: %s"
msgstr "Konnte Datei %s nicht öffnen, Ursache: %s"
#: src/message.h:95
#: src/message.h:149
#, c-format
msgid "Failed to write into the file %s, cause: %s"
msgstr "Konnte nicht in Datei %s schreiben, Ursache: %s"
#: src/message.h:96
#: src/message.h:150
#, c-format
msgid "Failed to read from the file %s, cause: %s"
msgstr "Konnte nicht von Datei %s lesen, Ursache: %s"
#: src/message.h:97
#: src/message.h:151
#, fuzzy
msgid "Failed to read data from disk."
msgstr "Konnte Daten nicht senden, Ursache: %s"
#: src/message.h:152
#, c-format
msgid "Failed to calculate SHA1 digest of or a part of the file %s, cause: %s"
msgstr ""
"Konnte SHA1-Digest (eines Teils) der Datei %s nicht berechnen, Ursache: %s"
#: src/message.h:98
#: src/message.h:153
#, c-format
msgid "Failed to seek the file %s, cause: %s"
msgstr "Konnte nicht in Datei %s positionieren, Ursache: %s"
#: src/message.h:99
#: src/message.h:154
#, c-format
msgid "The offset is out of range, offset=%lld"
msgstr "Offset außerhalb des Bereichs, Offset=%lld"
#: src/message.h:100
#: src/message.h:155
#, c-format
msgid "%s is not a directory."
msgstr "%s ist kein Verzeichnis."
#: src/message.h:101
#: src/message.h:156
#, c-format
msgid "Failed to make the directory %s, cause: %s"
msgstr "Konnte Verzeichnis %s nicht erstellen, Ursache: %s"
#: src/message.h:102
#: src/message.h:157
#, c-format
msgid "Failed to open the segment file %s, cause: %s"
msgstr "Konnte Segmentdatei %s nicht öffnen, Ursache %s"
#: src/message.h:103
#: src/message.h:158
#, c-format
msgid "Failed to write into the segment file %s, cause: %s"
msgstr "Konnte nicht in Segmentdatei %s schreiben, Ursache: %s"
#: src/message.h:104
#: src/message.h:159
#, c-format
msgid "Failed to read from the segment file %s, cause: %s"
msgstr "Konnte nicht aus Segmentdatei %s lesen, Ursache: %s"
#: src/message.h:106
#: src/message.h:161
#, c-format
msgid "Failed to open a socket, cause: %s"
msgstr "Konnte Socket nicht öffnen, Ursache: %s"
#: src/message.h:107
#: src/message.h:162
#, c-format
msgid "Failed to set a socket option, cause: %s"
msgstr "Konnte eine Socket-Option nicht setzen, Ursache: %s"
#: src/message.h:108
#: src/message.h:163
#, c-format
msgid "Failed to bind a socket, cause: %s"
msgstr "Konnte Socket nicht binden, Ursache: %s"
#: src/message.h:109
#: src/message.h:164
#, c-format
msgid "Failed to listen to a socket, cause: %s"
msgstr "Konnte nicht auf Socket lauschen, Ursache: %s"
#: src/message.h:110
#: src/message.h:165
#, c-format
msgid "Failed to accept a peer connection, cause: %s"
msgstr "Konnte Peer-Verbindung nicht akzeptieren, Ursache: %s"
#: src/message.h:111
#: src/message.h:166
#, c-format
msgid "Failed to get the name of socket, cause: %s"
msgstr "Konnte Socketnamen nicht ermitteln, Ursache: %s"
#: src/message.h:112
#: src/message.h:167
#, c-format
msgid "Failed to get the name of connected peer, cause: %s"
msgstr "Konnte Namen der verbundenen Gegenstelle nicht ermitteln, Ursache: %s"
#: src/message.h:113
#: src/message.h:168
#, c-format
msgid "Failed to resolve the hostname %s, cause: %s"
msgstr "Konnte Rechnername %s nicht auflösen, Ursache: %s"
#: src/message.h:114
#: src/message.h:169
#, c-format
msgid "Failed to connect to the host %s, cause: %s"
msgstr "Konnte nicht zum Rechner %s verbinden, Ursache: %s"
#: src/message.h:115
#: src/message.h:170
#, c-format
msgid "Failed to check whether the socket is writable, cause: %s"
msgstr "Konnte nicht testen, ob der Socket beschreibbar ist, Ursache: %s"
#: src/message.h:116
#: src/message.h:171
#, c-format
msgid "Failed to check whether the socket is readable, cause: %s"
msgstr "Konnte nicht testen, ob der Socket lesbar ist, Ursache: %s"
#: src/message.h:117
#: src/message.h:172
#, c-format
msgid "Failed to send data, cause: %s"
msgstr "Konnte Daten nicht senden, Ursache: %s"
#: src/message.h:118
#: src/message.h:173
#, c-format
msgid "Failed to receive data, cause: %s"
msgstr "Konnte Daten nicht erhalten, Ursache: %s"
#: src/message.h:119
#: src/message.h:174
#, c-format
msgid "Failed to peek data, cause: %s"
msgstr "Datenermittelung fehlgeschlagen, Ursache: %s"
#: src/message.h:120
#: src/message.h:175
#, fuzzy, c-format
msgid "File %s exists, but %s does not exist."
msgstr "Die Segmentdatei %s ist nicht vorhanden."
#: src/message.h:121
#: src/message.h:176
#, c-format
msgid "Invalid payload size for %s, size=%d. It should be %d."
msgstr ""
#: src/message.h:122
#: src/message.h:177
#, c-format
msgid "Invalid ID=%d for %s. It should be %d."
msgstr ""
#: src/message.h:123
#: src/message.h:178
#, c-format
msgid ""
"Chunk checksum validation failed. checksumIndex=%d, offset=%lld, "
"expectedHash=%s, actualHash=%s"
msgstr ""
#: src/message.h:124
#: src/message.h:179
#, fuzzy
msgid "Download aborted."
msgstr "CUID#%d - Abruf abgebrochen."
#: src/message.h:125
#: src/message.h:180
#, c-format
msgid "File %s is being downloaded by other command."
msgstr ""
#: src/message.h:181
msgid "Insufficient checksums."
msgstr ""
#: src/message.h:182
#, fuzzy, c-format
msgid "Tracker returned failure reason: %s"
msgstr "Vom Tracker übergebene Warn-Nachricht: %s"
#: src/message.h:183
msgid "Flooding detected."
msgstr ""
#: src/message.h:184
#, c-format
msgid ""
"Drop connection because no request/piece messages were exchanged in a "
"certain period(%d seconds)."
msgstr ""
#: src/message.h:185
msgid "The infoHash in torrent file doesn't match to one in .aria2 file."
msgstr ""
#: src/message.h:186
#, c-format
msgid "No such file entry %s"
msgstr ""
#: src/message.h:187
#, c-format
msgid "Too slow Downloading speed: %d <= %d(B/s), host:%s"
msgstr ""
#: src/message.h:188
#, fuzzy
msgid "No HttpRequestEntry found."
msgstr "Keine Header-Information gefunden."
#: src/message.h:189
#, c-format
msgid "Got %d status, but no location header provided."
msgstr ""
#: src/message.h:190
#, c-format
msgid "Invalid range header. Request: %lld-%lld/%lld, Response: %lld-%lld/%lld"
msgstr ""
#: src/message.h:191
msgid "No file matched with your preference."
msgstr ""
#: src/message.h:192
msgid "Exception caught"
msgstr ""
#: src/message.h:193
#, c-format
msgid "Max payload length exceeded or invalid. length = %d"
msgstr ""
#: src/message.h:194
#, c-format
msgid "Invalid file length. Cannot continue download %s: local %s, remote %s"
msgstr ""
#: src/DownloadEngineFactory.cc:195
#, c-format
msgid "Errors occurred while binding port.\n"
@ -1082,26 +1432,6 @@ msgstr " Dateiliste einer .torrent-Datei ausgeben:"
msgid "Report bugs to %s"
msgstr "Fehler an %s melden"
#: src/main.cc:666
msgid "specify at least one URL"
msgstr "Geben Sie zumindest eine URL an"
#: src/main.cc:672
msgid "daemon failed"
msgstr "Daemon-Start nicht erfolgreich"
#: src/DefaultPieceStorage.cc:242
#, fuzzy
msgid "Download of selected files was complete."
msgstr " Nur ausgewählte Dateien abrufen:"
#: src/DefaultPieceStorage.cc:247
#, fuzzy
msgid "The download was complete."
msgstr ""
"\n"
"Abruf ist vollständig. <%s>\n"
#: src/ConsoleDownloadEngine.cc:211
#, c-format
msgid ""
@ -1119,9 +1449,6 @@ msgstr "erledigt\n"
#~ msgid "Files:"
#~ msgstr "Dateien:"
#~ msgid "Unrecognized URL or unsupported protocol: %s\n"
#~ msgstr "URL nicht erkannt oder nicht unterstütztes Protokoll: %s\n"
#~ msgid "unrecognized proxy format"
#~ msgstr "nicht erkanntes Proxy-Format"

BIN
po/ja.gmo

Binary file not shown.

500
po/ja.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: aria2c 0.2.1\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2007-07-09 22:31+0900\n"
"PO-Revision-Date: 2007-07-10 01:42+0900\n"
"POT-Creation-Date: 2007-07-20 01:05+0900\n"
"PO-Revision-Date: 2007-07-20 01:10+0900\n"
"Last-Translator: Tatsuhiro Tsujikawa <tujikawa@rednoah.com>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
@ -140,44 +140,213 @@ msgstr "CUID#%d -
msgid "CUID#%d - Bad checksum: %s"
msgstr "CUID#%d - チェックサムが違います: %s"
#: src/message.h:63
#, c-format
msgid "CUID#%d - Resolving hostname %s"
msgstr "CUID#%d - ホスト名 %s を解決しています."
#: src/message.h:64
#, c-format
msgid "CUID#%d - Name resolution complete: %s -> %s"
msgstr "CUID#%d - 名前解決が完了しました: %s -> %s"
#: src/message.h:65
#, c-format
msgid "CUID#%d - Name resolution for %s failed:%s"
msgstr "CUID#%d - ホスト名 %s の名前解決に失敗しました. 理由:%s"
#: src/message.h:66
#, c-format
msgid "CUID#%d - DNS cache hit: %s -> %s"
msgstr "CUID#%d - DNS キャッシュヒット: %s -> %s"
#: src/message.h:67
#, c-format
msgid "CUID#%d - Abort requested."
msgstr "CUID#%d - リクエストを中止します."
#: src/message.h:68
#, c-format
msgid "CUID#%d - Connecting to the peer %s"
msgstr "CUID#%d - %s に接続しています."
#: src/message.h:69
#, c-format
msgid ""
"CUID#%d - Piece received. index=%d, begin=%d, length=%d, offset=%llu, "
"blockIndex=%d"
msgstr ""
"CUID#%d - ピースを受けとりました. index=%d, begin=%d, length=%d, offset=%"
"llu, blockIndex=%d"
#: src/message.h:70
#, c-format
msgid "CUID#%d - Piece bitfield %s"
msgstr "CUID#%d - ピースのビットフィールド:%s"
#: src/message.h:71
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because the peer has been choked. "
"index=%d, begin=%d, length=%d"
msgstr ""
"CUID#%d - ピアをチョークしたため, キュー中の piece メッセージを却下します. "
"index=%d, begin=%d, length=%d"
#: src/message.h:72
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because cancel message received. "
"index=%d, begin=%d, length=%d"
msgstr ""
"CUID#%d - cancel メッセージが届いたため, キュー中の piece メッセージを却下し"
"ます. index=%d, begin=%d, length=%d"
#: src/message.h:73
#, c-format
msgid "CUID#%d - Exception caught while validating file integrity."
msgstr "CUID#%d - ファイルを検証している最中に例外が発生しました."
#: src/message.h:74
#, c-format
msgid "CUID#%d - Interested in the peer"
msgstr "CUID#%d - このピアは我々がもっていないピースをもっています."
#: src/message.h:75
#, c-format
msgid "CUID#%d - Not interested in the peer"
msgstr "CUID#%d - 現時点ではこのピアには興味がありません."
#: src/message.h:76
#, c-format
msgid "CUID#%d - Deleting request slot index=%d, blockIndex=%d"
msgstr "CUID#%d - request slot を削除します. index=%d, blockIndex=%d"
#: src/message.h:77
#, c-format
msgid ""
"CUID#%d - Deleting request slot index=%d, blockIndex=%d because localhost "
"got choked."
msgstr ""
"CUID#%d - 我々がチョークされたため, request slot を削除します. index=%d, "
"blockIndex=%d"
#: src/message.h:78
#, c-format
msgid "CUID#%d - Deleting request slot blockIndex=%d because of time out"
msgstr "CUID#%d - タイムアウトのため, request slot を削除します. blockIndex=%d"
#: src/message.h:79
#, c-format
msgid ""
"CUID#%d - Deleting request slot blockIndex=%d because the block has been "
"acquired."
msgstr ""
"CUID#%d - 取得済みブロックのため, request slot を削除します. blockIndex=%d"
#: src/message.h:80
#, c-format
msgid "CUID#%d - Fast extension enabled."
msgstr "CUID#%d - Fast extension が有効になりました."
#: src/message.h:81
#, c-format
msgid "CUID#%d - Exception caught while allocating file space."
msgstr "CUID#%d - ファイル領域を確保中に例外が発生しました."
#: src/message.h:82
#, c-format
msgid "CUID#%d - Content-Disposition detected. Use %s as filename"
msgstr ""
"CUID#%d - Content-Disposition ヘッダーが見つかりました. %s をファイル名として"
"使用します."
#: src/message.h:83
#, c-format
msgid "CUID#%d - Peer %s:%d banned."
msgstr "CUID#%d - 以後しばらくの間 ピア %s:%d を無視します."
#: src/message.h:84
#, c-format
msgid "CUID#%d - Using port %d for accepting new connections"
msgstr "CUID#%d - ポート番号 %d を使って, コネクションを待ちます."
#: src/message.h:85
#, c-format
msgid "CUID#%d - An error occurred while binding port=%d"
msgstr "CUID#%d - ポートをバインド中にエラーが発生しました. ポート番号=%d"
#: src/message.h:86
#, c-format
msgid "CUID#%d - Incoming connection, adding new command CUID#%d"
msgstr ""
"CUID#%d - 新しいピアからの接続を確認, CUID#%d で新規コマンドを追加しました."
#: src/message.h:87
#, c-format
msgid "CUID#%d - Error in accepting connection"
msgstr "CUID#%d - 接続を受け入れる際にエラーが発生しました. "
#: src/message.h:88
#, c-format
msgid "CUID#%d - Error occurred while processing tracker response."
msgstr "CUID#%d - トラッカーからの応答を解析中にエラーが発生しました."
#: src/message.h:89
#, c-format
msgid "CUID#%d - Cannot create tracker request."
msgstr "CUID#%d - トラッカーへの要求の作成に失敗しました."
#: src/message.h:90
#, c-format
msgid "CUID#%d - Creating new tracker request command #%d"
msgstr ""
"CUID#%d - トラッカーへの要求を作成し, CUID#%d のコマンドにアサインしました."
#: src/message.h:92
#, c-format
msgid "Unrecognized URI or unsupported protocol: %s"
msgstr ""
"%s は, 理解できない URL フォーマット, または, サポートされないプロトコルです."
#: src/message.h:93
#, c-format
msgid "Tracker returned warning message: %s"
msgstr "トラッカーが警告メッセージを返しました: %s"
#: src/message.h:65
#: src/message.h:94
#, c-format
msgid "The segment file %s exists."
msgstr "セグメントファイル %s が存在します."
#: src/message.h:66
#: src/message.h:95
#, c-format
msgid "The segment file %s does not exist."
msgstr "セグメントファイル %s が存在しません."
#: src/message.h:67
#: src/message.h:96
#, c-format
msgid "Saving the segment file %s"
msgstr "セグメントファイル %s を保存しています."
#: src/message.h:68
#: src/message.h:97
msgid "The segment file was saved successfully."
msgstr "セグメントファイルの保存が完了しました."
#: src/message.h:69
#: src/message.h:98
#, c-format
msgid "Loading the segment file %s."
msgstr "セグメントファイル %s をロードしています."
#: src/message.h:70
#: src/message.h:99
msgid "The segment file was loaded successfully."
msgstr "セグメントファイルのロードが完了しました."
#: src/message.h:71
#: src/message.h:100
msgid "No URI to download. Download aborted."
msgstr "ダウンロードする URI がありません. ダウンロードを中止します."
#: src/message.h:72
#: src/message.h:101
#, c-format
msgid ""
"File %s exists, but %s does not exist. The download was canceled in order to "
@ -190,44 +359,164 @@ msgstr ""
"書きダウンロードしてよいなら, --allow-overwrite=true を指定して aria2 を実行"
"してください."
#: src/message.h:74
#: src/message.h:102
#, c-format
msgid "Allocating file %s, %s bytes"
msgstr "ファイル %s のファイル領域 (%s バイト) を確保しています."
#: src/message.h:103
msgid "File not found"
msgstr "ファイルが見つかりません."
#: src/message.h:104
msgid "Not a directory"
msgstr "%s はディレクトリではありません."
#: src/message.h:105
#, c-format
msgid "Insufficient checksums. checksumLength=%d, numChecksum=%d"
msgstr "チェックサムが不足しています. checksumLength=%d, numChecksum=%d"
#: src/message.h:106
#, c-format
msgid "Writing file %s"
msgstr "ファイル %s に書き込んでいます."
#: src/message.h:107
msgid "No peer list received."
msgstr "ピアのリストは空でした."
#: src/message.h:108
#, c-format
msgid "Adding peer %s:%d"
msgstr "ピア %s:%d を追加しています."
#: src/message.h:109
#, c-format
msgid "Deleting used piece index=%d, fillRate(%%)=%d<=%d"
msgstr "使用中ピースを削除しています. index=%d, fillRate(%%)=%d<=%d"
#: src/message.h:110
msgid "Download of selected files was complete."
msgstr "ご指定のファイルのダウンロードが完了."
#: src/message.h:111
msgid "The download was complete."
msgstr "ダウンロードが完了."
#: src/message.h:112
#, c-format
msgid "Removed %d have entries."
msgstr "%d 個の have エントリーを削除しました."
#: src/message.h:113
#, c-format
msgid "Validating file %s"
msgstr "ファイル %s を検証しています."
#: src/message.h:114
#, c-format
msgid "%d seconds to allocate %lld byte(s)"
msgstr "%d 秒が %lld バイトを確保するのに必要でした."
#: src/message.h:115
#, c-format
msgid "Dispatching FileAllocationCommand for CUID#%d."
msgstr "FileAllocationCommand を CUID#%d で発行しました."
#: src/message.h:116
#, c-format
msgid "Metalink: Queueing %s for download."
msgstr "Metalink: %s をキューイングしています."
#: src/message.h:117
#, c-format
msgid "Download complete: %s"
msgstr "ダウンロード完了: %s"
#: src/message.h:118
msgid "Seeding is over."
msgstr "シードの期間が終了しました."
#: src/message.h:119
#, c-format
msgid "CUID#%d cancels segment index=%d. CUID#%d handles it instead."
msgstr ""
"CUID#%d は index=%d のセグメントのダウンロードをキャンセルしました. 代わりに "
"CUID#%d がそれをダウンロードします."
#: src/message.h:120
msgid "No chunk to verify."
msgstr "検証するチャンクがありません."
#: src/message.h:121
msgid "Good chunk checksum."
msgstr "正しいチェックサムです."
#: src/message.h:122
#, c-format
msgid "Failed to load cookies from %s"
msgstr "クッキーを %s からロードできませんでした."
#: src/message.h:123
#, c-format
msgid ""
".netrc file %s does not have correct permissions. It should be 600. netrc "
"support disabled."
msgstr ""
".netrc ファイル %s のパーミッションが不正です. パーミッションが 600 以外だ"
"と .netrc サポートは無効となります."
#: src/message.h:124
msgid "Logging started."
msgstr "ロギングをスタートしました."
#: src/message.h:125
msgid "Specify at least one URL."
msgstr "一個以上の URL を指定してください."
#: src/message.h:126
msgid "daemon failed."
msgstr "デーモン起動に失敗"
#: src/message.h:128
msgid "Timeout."
msgstr "タイムアウトしました."
#: src/message.h:75
#: src/message.h:129
msgid "Invalid chunk size."
msgstr "chunk サイズが不正です."
#: src/message.h:76
#: src/message.h:130
#, c-format
msgid "Too large chunk. size=%d"
msgstr "chunk サイズ (%d) が大きすぎます."
#: src/message.h:77
#: src/message.h:131
msgid "Invalid header."
msgstr "ヘッダーが不正です."
#: src/message.h:78
#: src/message.h:132
msgid "Invalid response."
msgstr "サーバーから不正なレスポンスを受け取りました."
#: src/message.h:79
#: src/message.h:133
msgid "No header found."
msgstr "ヘッダーが見つかりません."
#: src/message.h:80
#: src/message.h:134
msgid "No status header."
msgstr "status ヘッダーが見つかりません."
#: src/message.h:81
#: src/message.h:135
msgid "Proxy connection failed."
msgstr "Proxy 接続に失敗しました."
#: src/message.h:82
#: src/message.h:136
msgid "Connection failed."
msgstr "接続に失敗しました."
#: src/message.h:83
#: src/message.h:137
#, c-format
msgid ""
"The requested filename and the previously registered one are not same. "
@ -236,194 +525,198 @@ msgstr ""
"リクエストしたファイル名と登録済みファイル名が異なります. 期待するファイル"
"名: %s 実際のファイル名: %s"
#: src/message.h:84
#: src/message.h:138
#, c-format
msgid "The response status is not successful. status=%d"
msgstr "レスポンスのステータス (%d) が異常です."
#: src/message.h:85
#: src/message.h:139
#, c-format
msgid "Too large file size. size=%lld"
msgstr "ファイルサイズ (%lld) が大きすぎます."
#: src/message.h:86
#: src/message.h:140
#, c-format
msgid "Transfer encoding %s is not supported."
msgstr "トランスファー・エンコーディング %s はサポートされていません."
#: src/message.h:87
#: src/message.h:141
msgid "SSL initialization failed."
msgstr "SSL 初期化に失敗しました."
#: src/message.h:88
#: src/message.h:142
#, c-format
msgid "Size mismatch Expected:%lld Actual:%lld"
msgstr "サイズが合いません. 期待するサイズ:%lld 実際のサイズ:%lld"
#: src/message.h:89
#: src/message.h:143
msgid "Authorization failed."
msgstr "認証に失敗しました."
#: src/message.h:90
#: src/message.h:144
msgid "Got EOF from the server."
msgstr "サーバーから EOF を受けとりました."
#: src/message.h:91
#: src/message.h:145
msgid "Got EOF from peer."
msgstr "ピアから EOF を受け取りました."
#: src/message.h:92
#: src/message.h:146
msgid "Malformed meta info."
msgstr "メタ情報ファイルの記述が不正です."
#: src/message.h:94
#: src/message.h:148
#, c-format
msgid "Failed to open the file %s, cause: %s"
msgstr "ファイル %s をオープンできませんでした. 原因: %s"
#: src/message.h:95
#: src/message.h:149
#, c-format
msgid "Failed to write into the file %s, cause: %s"
msgstr "ファイル %s への書き込みに失敗しました. 原因: %s"
#: src/message.h:96
#: src/message.h:150
#, c-format
msgid "Failed to read from the file %s, cause: %s"
msgstr "ファイル %s からの読みとりに失敗しました. 原因: %s"
#: src/message.h:97
#: src/message.h:151
msgid "Failed to read data from disk."
msgstr "データの読み込みに失敗しました."
#: src/message.h:152
#, c-format
msgid "Failed to calculate SHA1 digest of or a part of the file %s, cause: %s"
msgstr ""
"ファイル %s の (またはその一部の) SHA1 ダイジェストの計算に失敗しました. 原"
"因: %s"
#: src/message.h:98
#: src/message.h:153
#, c-format
msgid "Failed to seek the file %s, cause: %s"
msgstr "ファイル %s のシークに失敗しました. 原因: %s"
#: src/message.h:99
#: src/message.h:154
#, c-format
msgid "The offset is out of range, offset=%lld"
msgstr "オフセット (%lld) が範囲外です."
#: src/message.h:100
#: src/message.h:155
#, c-format
msgid "%s is not a directory."
msgstr "%s はディレクトリではありません."
#: src/message.h:101
#: src/message.h:156
#, c-format
msgid "Failed to make the directory %s, cause: %s"
msgstr "ディレクトリ %s を作成できませんでした. 原因: %s"
#: src/message.h:102
#: src/message.h:157
#, c-format
msgid "Failed to open the segment file %s, cause: %s"
msgstr "セグメントファイル %s をオープンできませんでした. 原因: %s"
#: src/message.h:103
#: src/message.h:158
#, c-format
msgid "Failed to write into the segment file %s, cause: %s"
msgstr "セグメントファイル %s への書き込みに失敗しました. 原因: %s"
#: src/message.h:104
#: src/message.h:159
#, c-format
msgid "Failed to read from the segment file %s, cause: %s"
msgstr "セグメントファイル %s からの読み込みに失敗しました. 原因: %s"
#: src/message.h:106
#: src/message.h:161
#, c-format
msgid "Failed to open a socket, cause: %s"
msgstr "ソケットをオープンできませんでした. 原因: %s"
#: src/message.h:107
#: src/message.h:162
#, c-format
msgid "Failed to set a socket option, cause: %s"
msgstr "ソケットのオプションの設定に失敗しました. 原因: %s"
#: src/message.h:108
#: src/message.h:163
#, c-format
msgid "Failed to bind a socket, cause: %s"
msgstr "ソケットの bind に失敗しました. 原因: %s"
#: src/message.h:109
#: src/message.h:164
#, c-format
msgid "Failed to listen to a socket, cause: %s"
msgstr "ソケットの listen に失敗しました. 原因: %s"
#: src/message.h:110
#: src/message.h:165
#, c-format
msgid "Failed to accept a peer connection, cause: %s"
msgstr "ピアからの接続の受付に失敗しました. 原因: %s"
#: src/message.h:111
#: src/message.h:166
#, c-format
msgid "Failed to get the name of socket, cause: %s"
msgstr "ソケットの名前の取得に失敗しました. 原因: %s"
#: src/message.h:112
#: src/message.h:167
#, c-format
msgid "Failed to get the name of connected peer, cause: %s"
msgstr "接続ピアの名前の取得に失敗しました. 原因: %s"
#: src/message.h:113
#: src/message.h:168
#, c-format
msgid "Failed to resolve the hostname %s, cause: %s"
msgstr "ホスト名 %s のアドレス解決に失敗しました. 原因: %s"
#: src/message.h:114
#: src/message.h:169
#, c-format
msgid "Failed to connect to the host %s, cause: %s"
msgstr "ホスト %s への接続に失敗しました. 原因: %s"
#: src/message.h:115
#: src/message.h:170
#, c-format
msgid "Failed to check whether the socket is writable, cause: %s"
msgstr ""
"ソケットへデータを書き込み可能かどうかのチェックに失敗しました. 原因: %s"
#: src/message.h:116
#: src/message.h:171
#, c-format
msgid "Failed to check whether the socket is readable, cause: %s"
msgstr ""
"ソケットからデータを読みとり可能かどうかのチェックに失敗しました. 原因: %s"
#: src/message.h:117
#: src/message.h:172
#, c-format
msgid "Failed to send data, cause: %s"
msgstr "データの送信に失敗しました. 原因: %s"
#: src/message.h:118
#: src/message.h:173
#, c-format
msgid "Failed to receive data, cause: %s"
msgstr "データの受信に失敗しました. 原因: %s"
#: src/message.h:119
#: src/message.h:174
#, c-format
msgid "Failed to peek data, cause: %s"
msgstr "データの peek に失敗しました. 原因: %s"
#: src/message.h:120
#: src/message.h:175
#, c-format
msgid "File %s exists, but %s does not exist."
msgstr ""
"ファイル %s が存在しますが, それに対応するセグメントファイル %s が存在しませ"
"ん."
#: src/message.h:121
#: src/message.h:176
#, c-format
msgid "Invalid payload size for %s, size=%d. It should be %d."
msgstr ""
"%s に対するペイロードサイズが不正です. 実際のサイズ:%d 期待するサイズ:%d"
#: src/message.h:122
#: src/message.h:177
#, c-format
msgid "Invalid ID=%d for %s. It should be %d."
msgstr "ID %d は %s に対して使用できません. 期待する ID:%d"
#: src/message.h:123
#: src/message.h:178
#, c-format
msgid ""
"Chunk checksum validation failed. checksumIndex=%d, offset=%lld, "
@ -432,15 +725,81 @@ msgstr ""
"部分チェックサムの検証が失敗しました. チェックサムインデックス=%d, オフセット"
"=%lld, 期待するハッシュ値:%s, 実際のハッシュ値:%s"
#: src/message.h:124
#: src/message.h:179
msgid "Download aborted."
msgstr "ダウンロードを中止します."
#: src/message.h:125
#: src/message.h:180
#, c-format
msgid "File %s is being downloaded by other command."
msgstr "ファイル %s は他のコマンドがダウンロード中です."
#: src/message.h:181
msgid "Insufficient checksums."
msgstr "チェックサムが足りません."
#: src/message.h:182
#, c-format
msgid "Tracker returned failure reason: %s"
msgstr "トラッカーが警告メッセージを返しました: %s"
#: src/message.h:183
msgid "Flooding detected."
msgstr "フラッディング (いわゆる荒らし行為) を検出しました."
#: src/message.h:184
#, c-format
msgid ""
"Drop connection because no request/piece messages were exchanged in a "
"certain period(%d seconds)."
msgstr "一定期間 (%d 秒) request/piece メッセージの交換がなされていないので, 接続を閉じます."
#: src/message.h:185
msgid "The infoHash in torrent file doesn't match to one in .aria2 file."
msgstr "torrent ファイル中の infoHash と .aria2 ファイル中のそれが一致しません."
#: src/message.h:186
#, c-format
msgid "No such file entry %s"
msgstr "ファイルエントリー %s は存在しません."
#: src/message.h:187
#, c-format
msgid "Too slow Downloading speed: %d <= %d(B/s), host:%s"
msgstr "ダウンロード速度が遅すぎます: %d <= %d(B/s), host:%s"
#: src/message.h:188
msgid "No HttpRequestEntry found."
msgstr "HttpRequestEntry が見つかりません."
#: src/message.h:189
#, c-format
msgid "Got %d status, but no location header provided."
msgstr "ステータス %d を受けとりましたが, location ヘッダーが見つかりません."
#: src/message.h:190
#, c-format
msgid "Invalid range header. Request: %lld-%lld/%lld, Response: %lld-%lld/%lld"
msgstr "range ヘッダーの値が不正です. 要求: %lld-%lld/%lld, 応答: %lld-%lld/%lld"
#: src/message.h:191
msgid "No file matched with your preference."
msgstr "検索条件に合致するファイルが見つかりません."
#: src/message.h:192
msgid "Exception caught"
msgstr "例外発生"
#: src/message.h:193
#, c-format
msgid "Max payload length exceeded or invalid. length = %d"
msgstr "ペイロード長が既定値を越えているか, 不正です. length=%d"
#: src/message.h:194
#, c-format
msgid "Invalid file length. Cannot continue download %s: local %s, remote %s"
msgstr "ファイル長が不正です. %s のダウンロードを継続できません: local %s, remote %s"
#: src/DownloadEngineFactory.cc:195
#, c-format
msgid "Errors occurred while binding port.\n"
@ -1151,22 +1510,6 @@ msgstr "
msgid "Report bugs to %s"
msgstr "バグレポートはこちらへ: %s"
#: src/main.cc:666
msgid "specify at least one URL"
msgstr "一個以上の URL を指定してください."
#: src/main.cc:672
msgid "daemon failed"
msgstr "デーモン起動に失敗"
#: src/DefaultPieceStorage.cc:242
msgid "Download of selected files was complete."
msgstr "ご指定のファイルのダウンロードが完了."
#: src/DefaultPieceStorage.cc:247
msgid "The download was complete."
msgstr "ダウンロードが完了."
#: src/ConsoleDownloadEngine.cc:211
#, c-format
msgid ""
@ -1184,11 +1527,6 @@ msgstr "
#~ msgid "Files:"
#~ msgstr "ファイル:"
#~ msgid "Unrecognized URL or unsupported protocol: %s\n"
#~ msgstr ""
#~ "%s は, 理解できない URL フォーマット, または, サポートされないプロトコルで"
#~ "す.\n"
#~ msgid ""
#~ "Now verifying checksum.\n"
#~ "This may take some time depending on your PC environment and the size of "

BIN
po/ru.gmo

Binary file not shown.

491
po/ru.po
View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ru\n"
"Report-Msgid-Bugs-To: http://aria2.sourceforge.net/\n"
"POT-Creation-Date: 2007-07-09 22:31+0900\n"
"POT-Creation-Date: 2007-07-20 01:05+0900\n"
"PO-Revision-Date: 2006-07-28 18:04+0600\n"
"Last-Translator: Azamat H. Hackimov <azamat.hackimov@gmail.com>\n"
"Language-Team: <ru@li.org>\n"
@ -142,45 +142,200 @@ msgstr ""
msgid "CUID#%d - Bad checksum: %s"
msgstr "CUID#%d - Перенаправление на %s"
#: src/message.h:63
#, fuzzy, c-format
msgid "CUID#%d - Resolving hostname %s"
msgstr "CUID#%d - Перенаправление на %s"
#: src/message.h:64
#, fuzzy, c-format
msgid "CUID#%d - Name resolution complete: %s -> %s"
msgstr "CUID#%d - Скачивание отменено."
#: src/message.h:65
#, fuzzy, c-format
msgid "CUID#%d - Name resolution for %s failed:%s"
msgstr "CUID#%d - Перенаправление на %s"
#: src/message.h:66
#, fuzzy, c-format
msgid "CUID#%d - DNS cache hit: %s -> %s"
msgstr "CUID#%d - Перенаправление на %s"
#: src/message.h:67
#, fuzzy, c-format
msgid "CUID#%d - Abort requested."
msgstr "CUID#%d - Скачивание отменено."
#: src/message.h:68
#, fuzzy, c-format
msgid "CUID#%d - Connecting to the peer %s"
msgstr "CUID#%d - Соединение к %s:%d"
#: src/message.h:69
#, c-format
msgid ""
"CUID#%d - Piece received. index=%d, begin=%d, length=%d, offset=%llu, "
"blockIndex=%d"
msgstr ""
#: src/message.h:70
#, fuzzy, c-format
msgid "CUID#%d - Piece bitfield %s"
msgstr "CUID#%d - Перенаправление на %s"
#: src/message.h:71
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because the peer has been choked. "
"index=%d, begin=%d, length=%d"
msgstr ""
#: src/message.h:72
#, c-format
msgid ""
"CUID#%d - Reject piece message in queue because cancel message received. "
"index=%d, begin=%d, length=%d"
msgstr ""
#: src/message.h:73
#, c-format
msgid "CUID#%d - Exception caught while validating file integrity."
msgstr ""
#: src/message.h:74
#, fuzzy, c-format
msgid "CUID#%d - Interested in the peer"
msgstr "CUID#%d - Перенаправление на %s"
#: src/message.h:75
#, fuzzy, c-format
msgid "CUID#%d - Not interested in the peer"
msgstr "CUID#%d - Перенаправление на %s"
#: src/message.h:76
#, c-format
msgid "CUID#%d - Deleting request slot index=%d, blockIndex=%d"
msgstr ""
#: src/message.h:77
#, c-format
msgid ""
"CUID#%d - Deleting request slot index=%d, blockIndex=%d because localhost "
"got choked."
msgstr ""
#: src/message.h:78
#, c-format
msgid "CUID#%d - Deleting request slot blockIndex=%d because of time out"
msgstr ""
#: src/message.h:79
#, c-format
msgid ""
"CUID#%d - Deleting request slot blockIndex=%d because the block has been "
"acquired."
msgstr ""
#: src/message.h:80
#, fuzzy, c-format
msgid "CUID#%d - Fast extension enabled."
msgstr "CUID#%d - Нет доступного сегмента."
#: src/message.h:81
#, c-format
msgid "CUID#%d - Exception caught while allocating file space."
msgstr ""
#: src/message.h:82
#, c-format
msgid "CUID#%d - Content-Disposition detected. Use %s as filename"
msgstr ""
#: src/message.h:83
#, c-format
msgid "CUID#%d - Peer %s:%d banned."
msgstr ""
#: src/message.h:84
#, c-format
msgid "CUID#%d - Using port %d for accepting new connections"
msgstr ""
#: src/message.h:85
#, fuzzy, c-format
msgid "CUID#%d - An error occurred while binding port=%d"
msgstr "Ошибка при открытии порта.\n"
#: src/message.h:86
#, c-format
msgid "CUID#%d - Incoming connection, adding new command CUID#%d"
msgstr ""
#: src/message.h:87
#, c-format
msgid "CUID#%d - Error in accepting connection"
msgstr ""
#: src/message.h:88
#, fuzzy, c-format
msgid "CUID#%d - Error occurred while processing tracker response."
msgstr "Ошибка при открытии порта.\n"
#: src/message.h:89
#, c-format
msgid "CUID#%d - Cannot create tracker request."
msgstr ""
#: src/message.h:90
#, c-format
msgid "CUID#%d - Creating new tracker request command #%d"
msgstr ""
#: src/message.h:92
#, fuzzy, c-format
msgid "Unrecognized URI or unsupported protocol: %s"
msgstr "Неправильный URL или неподдерживаемый протокол: %s\n"
#: src/message.h:93
#, c-format
msgid "Tracker returned warning message: %s"
msgstr "Трекер вернул предупреждение: %s"
#: src/message.h:65
#: src/message.h:94
#, c-format
msgid "The segment file %s exists."
msgstr "Сегмент файла %s существует."
#: src/message.h:66
#: src/message.h:95
#, c-format
msgid "The segment file %s does not exist."
msgstr "Сегмент файла %s не существует."
#: src/message.h:67
#: src/message.h:96
#, c-format
msgid "Saving the segment file %s"
msgstr "Сохранение сегмента файла %s"
#: src/message.h:68
#: src/message.h:97
msgid "The segment file was saved successfully."
msgstr "Сегмент файла успешно сохранен."
#: src/message.h:69
#: src/message.h:98
#, c-format
msgid "Loading the segment file %s."
msgstr "Загрузка сегмента файл %sа"
#: src/message.h:70
#: src/message.h:99
msgid "The segment file was loaded successfully."
msgstr "Сегмент файла успешно загружен."
#: src/message.h:71
#: src/message.h:100
#, fuzzy
msgid "No URI to download. Download aborted."
msgstr "CUID#%d - Скачивание отменено."
#: src/message.h:72
#: src/message.h:101
#, c-format
msgid ""
"File %s exists, but %s does not exist. The download was canceled in order to "
@ -189,247 +344,442 @@ msgid ""
"restart aria2."
msgstr ""
#: src/message.h:74
#: src/message.h:102
#, c-format
msgid "Allocating file %s, %s bytes"
msgstr ""
#: src/message.h:103
msgid "File not found"
msgstr ""
#: src/message.h:104
#, fuzzy
msgid "Not a directory"
msgstr "%s не является каталогом."
#: src/message.h:105
#, c-format
msgid "Insufficient checksums. checksumLength=%d, numChecksum=%d"
msgstr ""
#: src/message.h:106
#, c-format
msgid "Writing file %s"
msgstr ""
#: src/message.h:107
msgid "No peer list received."
msgstr ""
#: src/message.h:108
#, c-format
msgid "Adding peer %s:%d"
msgstr ""
#: src/message.h:109
#, c-format
msgid "Deleting used piece index=%d, fillRate(%%)=%d<=%d"
msgstr ""
#: src/message.h:110
#, fuzzy
msgid "Download of selected files was complete."
msgstr " Скачать только выбранные файлы:"
#: src/message.h:111
#, fuzzy
msgid "The download was complete."
msgstr ""
"\n"
"Скачивание завершено. <%s>\n"
#: src/message.h:112
#, c-format
msgid "Removed %d have entries."
msgstr ""
#: src/message.h:113
#, c-format
msgid "Validating file %s"
msgstr ""
#: src/message.h:114
#, c-format
msgid "%d seconds to allocate %lld byte(s)"
msgstr ""
#: src/message.h:115
#, c-format
msgid "Dispatching FileAllocationCommand for CUID#%d."
msgstr ""
#: src/message.h:116
#, c-format
msgid "Metalink: Queueing %s for download."
msgstr ""
#: src/message.h:117
#, fuzzy, c-format
msgid "Download complete: %s"
msgstr "CUID#%d - Скачивание отменено."
#: src/message.h:118
msgid "Seeding is over."
msgstr ""
#: src/message.h:119
#, c-format
msgid "CUID#%d cancels segment index=%d. CUID#%d handles it instead."
msgstr ""
#: src/message.h:120
msgid "No chunk to verify."
msgstr ""
#: src/message.h:121
msgid "Good chunk checksum."
msgstr ""
#: src/message.h:122
#, fuzzy, c-format
msgid "Failed to load cookies from %s"
msgstr "Ошибка открытия сокета: %s"
#: src/message.h:123
#, c-format
msgid ""
".netrc file %s does not have correct permissions. It should be 600. netrc "
"support disabled."
msgstr ""
#: src/message.h:124
msgid "Logging started."
msgstr ""
#: src/message.h:125
#, fuzzy
msgid "Specify at least one URL."
msgstr "укажите по крайней мере один URL"
#: src/message.h:126
#, fuzzy
msgid "daemon failed."
msgstr "ошибка демона"
#: src/message.h:128
msgid "Timeout."
msgstr "Таймаут."
#: src/message.h:75
#: src/message.h:129
msgid "Invalid chunk size."
msgstr "Неверный размер куска."
#: src/message.h:76
#: src/message.h:130
#, c-format
msgid "Too large chunk. size=%d"
msgstr "Слишком большой кусок. размер=%d"
#: src/message.h:77
#: src/message.h:131
msgid "Invalid header."
msgstr "Неверный заголовок."
#: src/message.h:78
#: src/message.h:132
msgid "Invalid response."
msgstr "Неверный ответ."
#: src/message.h:79
#: src/message.h:133
msgid "No header found."
msgstr "Не найден заголовок."
#: src/message.h:80
#: src/message.h:134
msgid "No status header."
msgstr "Нет статуса заголовка."
#: src/message.h:81
#: src/message.h:135
msgid "Proxy connection failed."
msgstr "Ошибка подключения к прокси."
#: src/message.h:82
#: src/message.h:136
msgid "Connection failed."
msgstr "Ошибка подключения."
#: src/message.h:83
#: src/message.h:137
#, fuzzy, c-format
msgid ""
"The requested filename and the previously registered one are not same. "
"Expected:%s Actual:%s"
msgstr "Запрашиваемый файл и ранее зарегистрированный не идентичны. %s != %s"
#: src/message.h:84
#: src/message.h:138
#, c-format
msgid "The response status is not successful. status=%d"
msgstr "Статус ответа - незавершенный. статус=%d"
#: src/message.h:85
#: src/message.h:139
#, c-format
msgid "Too large file size. size=%lld"
msgstr "Слишком большой размер файла. размер=%lld"
#: src/message.h:86
#: src/message.h:140
#, c-format
msgid "Transfer encoding %s is not supported."
msgstr "Кодировка передачи %s не поддерживается."
#: src/message.h:87
#: src/message.h:141
msgid "SSL initialization failed."
msgstr "Ошибка инициализации SSL."
#: src/message.h:88
#: src/message.h:142
#, fuzzy, c-format
msgid "Size mismatch Expected:%lld Actual:%lld"
msgstr "Несовпадение размера %lld != %lld"
#: src/message.h:89
#: src/message.h:143
msgid "Authorization failed."
msgstr "Ошибка авторизации."
#: src/message.h:90
#: src/message.h:144
msgid "Got EOF from the server."
msgstr "От сервера получен EOF."
#: src/message.h:91
#: src/message.h:145
msgid "Got EOF from peer."
msgstr "От точки получен EOF."
#: src/message.h:92
#: src/message.h:146
msgid "Malformed meta info."
msgstr "Неверные метаданные."
#: src/message.h:94
#: src/message.h:148
#, c-format
msgid "Failed to open the file %s, cause: %s"
msgstr "Ошибка открытия файл %s: %s"
#: src/message.h:95
#: src/message.h:149
#, c-format
msgid "Failed to write into the file %s, cause: %s"
msgstr "Ошибка записи в файл %s: %s"
#: src/message.h:96
#: src/message.h:150
#, c-format
msgid "Failed to read from the file %s, cause: %s"
msgstr "Ошибка чтения из файла %s: %s"
#: src/message.h:97
#: src/message.h:151
#, fuzzy
msgid "Failed to read data from disk."
msgstr "Ошибка отправки данных: %s"
#: src/message.h:152
#, c-format
msgid "Failed to calculate SHA1 digest of or a part of the file %s, cause: %s"
msgstr "Ошибка подсчета дайджеста SHA1 файла %s или его части: %s"
#: src/message.h:98
#: src/message.h:153
#, c-format
msgid "Failed to seek the file %s, cause: %s"
msgstr "Ошибка позиционирования в файле %s: %s"
#: src/message.h:99
#: src/message.h:154
#, c-format
msgid "The offset is out of range, offset=%lld"
msgstr "Вне допустимого диапазона, диапазон=%lld"
#: src/message.h:100
#: src/message.h:155
#, c-format
msgid "%s is not a directory."
msgstr "%s не является каталогом."
#: src/message.h:101
#: src/message.h:156
#, c-format
msgid "Failed to make the directory %s, cause: %s"
msgstr "Ошибка создания каталога %s: %s"
#: src/message.h:102
#: src/message.h:157
#, c-format
msgid "Failed to open the segment file %s, cause: %s"
msgstr "Ошибка открытия сегмента файла %s: %s"
#: src/message.h:103
#: src/message.h:158
#, c-format
msgid "Failed to write into the segment file %s, cause: %s"
msgstr "Ошибка записи сегмента файла %s: %s"
#: src/message.h:104
#: src/message.h:159
#, c-format
msgid "Failed to read from the segment file %s, cause: %s"
msgstr "Ошибка чтения из сегмента файла %s: %s"
#: src/message.h:106
#: src/message.h:161
#, c-format
msgid "Failed to open a socket, cause: %s"
msgstr "Ошибка открытия сокета: %s"
#: src/message.h:107
#: src/message.h:162
#, c-format
msgid "Failed to set a socket option, cause: %s"
msgstr "Ошибка установки настроек для сокета: %s"
#: src/message.h:108
#: src/message.h:163
#, c-format
msgid "Failed to bind a socket, cause: %s"
msgstr "Ошибка инициализации сокета: %s"
#: src/message.h:109
#: src/message.h:164
#, c-format
msgid "Failed to listen to a socket, cause: %s"
msgstr "Ошибка прослушивания сокета: %s"
#: src/message.h:110
#: src/message.h:165
#, c-format
msgid "Failed to accept a peer connection, cause: %s"
msgstr "Ошибка принятия подлючения от узла: %s"
#: src/message.h:111
#: src/message.h:166
#, c-format
msgid "Failed to get the name of socket, cause: %s"
msgstr "Ошибка получения имени сокета: %s"
#: src/message.h:112
#: src/message.h:167
#, c-format
msgid "Failed to get the name of connected peer, cause: %s"
msgstr "Ошибка получения имени подключенной точки: %s"
#: src/message.h:113
#: src/message.h:168
#, c-format
msgid "Failed to resolve the hostname %s, cause: %s"
msgstr "Ошибка преобразования имени узла %s: %s"
#: src/message.h:114
#: src/message.h:169
#, c-format
msgid "Failed to connect to the host %s, cause: %s"
msgstr "Ошибка подключения к узлу %s: %s"
#: src/message.h:115
#: src/message.h:170
#, c-format
msgid "Failed to check whether the socket is writable, cause: %s"
msgstr "Ошибка проверки сокета на запись: %s"
#: src/message.h:116
#: src/message.h:171
#, c-format
msgid "Failed to check whether the socket is readable, cause: %s"
msgstr "Ошибка проверки сокета на чтение: %s"
#: src/message.h:117
#: src/message.h:172
#, c-format
msgid "Failed to send data, cause: %s"
msgstr "Ошибка отправки данных: %s"
#: src/message.h:118
#: src/message.h:173
#, c-format
msgid "Failed to receive data, cause: %s"
msgstr "Ошибка получения данных: %s"
#: src/message.h:119
#: src/message.h:174
#, c-format
msgid "Failed to peek data, cause: %s"
msgstr "Ошибка запроса данных: %s"
#: src/message.h:120
#: src/message.h:175
#, fuzzy, c-format
msgid "File %s exists, but %s does not exist."
msgstr "Сегмент файла %s не существует."
#: src/message.h:121
#: src/message.h:176
#, c-format
msgid "Invalid payload size for %s, size=%d. It should be %d."
msgstr ""
#: src/message.h:122
#: src/message.h:177
#, c-format
msgid "Invalid ID=%d for %s. It should be %d."
msgstr ""
#: src/message.h:123
#: src/message.h:178
#, c-format
msgid ""
"Chunk checksum validation failed. checksumIndex=%d, offset=%lld, "
"expectedHash=%s, actualHash=%s"
msgstr ""
#: src/message.h:124
#: src/message.h:179
#, fuzzy
msgid "Download aborted."
msgstr "CUID#%d - Скачивание отменено."
#: src/message.h:125
#: src/message.h:180
#, c-format
msgid "File %s is being downloaded by other command."
msgstr ""
#: src/message.h:181
msgid "Insufficient checksums."
msgstr ""
#: src/message.h:182
#, fuzzy, c-format
msgid "Tracker returned failure reason: %s"
msgstr "Трекер вернул предупреждение: %s"
#: src/message.h:183
msgid "Flooding detected."
msgstr ""
#: src/message.h:184
#, c-format
msgid ""
"Drop connection because no request/piece messages were exchanged in a "
"certain period(%d seconds)."
msgstr ""
#: src/message.h:185
msgid "The infoHash in torrent file doesn't match to one in .aria2 file."
msgstr ""
#: src/message.h:186
#, c-format
msgid "No such file entry %s"
msgstr ""
#: src/message.h:187
#, c-format
msgid "Too slow Downloading speed: %d <= %d(B/s), host:%s"
msgstr ""
#: src/message.h:188
#, fuzzy
msgid "No HttpRequestEntry found."
msgstr "Не найден заголовок."
#: src/message.h:189
#, c-format
msgid "Got %d status, but no location header provided."
msgstr ""
#: src/message.h:190
#, c-format
msgid "Invalid range header. Request: %lld-%lld/%lld, Response: %lld-%lld/%lld"
msgstr ""
#: src/message.h:191
msgid "No file matched with your preference."
msgstr ""
#: src/message.h:192
msgid "Exception caught"
msgstr ""
#: src/message.h:193
#, c-format
msgid "Max payload length exceeded or invalid. length = %d"
msgstr ""
#: src/message.h:194
#, c-format
msgid "Invalid file length. Cannot continue download %s: local %s, remote %s"
msgstr ""
#: src/DownloadEngineFactory.cc:195
#, c-format
msgid "Errors occurred while binding port.\n"
@ -1061,26 +1411,6 @@ msgstr " Вывести список фалов из .torrent"
msgid "Report bugs to %s"
msgstr "Сообщения об ошибках направляйте на адрес %s"
#: src/main.cc:666
msgid "specify at least one URL"
msgstr "укажите по крайней мере один URL"
#: src/main.cc:672
msgid "daemon failed"
msgstr "ошибка демона"
#: src/DefaultPieceStorage.cc:242
#, fuzzy
msgid "Download of selected files was complete."
msgstr " Скачать только выбранные файлы:"
#: src/DefaultPieceStorage.cc:247
#, fuzzy
msgid "The download was complete."
msgstr ""
"\n"
"Скачивание завершено. <%s>\n"
#: src/ConsoleDownloadEngine.cc:211
#, c-format
msgid ""
@ -1098,9 +1428,6 @@ msgstr "завершено\n"
#~ msgid "Files:"
#~ msgstr "Файлы:"
#~ msgid "Unrecognized URL or unsupported protocol: %s\n"
#~ msgstr "Неправильный URL или неподдерживаемый протокол: %s\n"
#~ msgid "unrecognized proxy format"
#~ msgstr "неизвестный формат прокси"

View File

@ -66,13 +66,13 @@ AbstractCommand::~AbstractCommand() {
bool AbstractCommand::execute() {
try {
if(_requestGroup->getSegmentMan()->finished()) {
logger->debug("CUID#%d - finished.", cuid);
//logger->debug("CUID#%d - finished.", cuid);
return true;
}
PeerStatHandle peerStat = _requestGroup->getSegmentMan()->getPeerStat(cuid);
if(peerStat.get()) {
if(peerStat->getStatus() == PeerStat::REQUEST_IDLE) {
logger->info("CUID#%d - Request idle.", cuid);
logger->info(MSG_ABORT_REQUESTED, cuid);
onAbort(0);
req->resetUrl();
tryReserved();
@ -224,33 +224,33 @@ bool AbstractCommand::resolveHostname(const string& hostname,
#ifdef ENABLE_ASYNC_DNS
switch(resolver->getStatus()) {
case NameResolver::STATUS_READY:
logger->info("CUID#%d - Resolving hostname %s", cuid, hostname.c_str());
logger->info(MSG_RESOLVING_HOSTNAME, cuid, hostname.c_str());
resolver->resolve(hostname);
setNameResolverCheck(resolver);
return false;
case NameResolver::STATUS_SUCCESS:
logger->info("CUID#%d - Name resolution complete: %s -> %s", cuid,
logger->info(MSG_NAME_RESOLUTION_COMPLETE, cuid,
hostname.c_str(), resolver->getAddrString().c_str());
DNSCacheSingletonHolder::instance()->put(hostname, resolver->getAddrString());
return true;
break;
case NameResolver::STATUS_ERROR:
throw new DlAbortEx("CUID#%d - Name resolution for %s failed:%s", cuid,
throw new DlAbortEx(MSG_NAME_RESOLUTION_FAILED, cuid,
hostname.c_str(),
resolver->getError().c_str());
default:
return false;
}
#else
logger->info("CUID#%d - Resolving hostname %s", cuid, hostname.c_str());
logger->info(MSG_RESOLVING_HOSTNAME, cuid, hostname.c_str());
resolver->resolve(hostname);
logger->info("CUID#%d - Name resolution complete: %s -> %s", cuid,
logger->info(MSG_NAME_RESOLUTION_COMPLETE, cuid,
hostname.c_str(), resolver->getAddrString().c_str());
DNSCacheSingletonHolder::instance()->put(hostname, resolver->getAddrString());
return true;
#endif // ENABLE_ASYNC_DNS
} else {
logger->info("CUID#%d - DNS cache hit: %s -> %s", cuid,
logger->info(MSG_DNS_CACHE_HIT, cuid,
hostname.c_str(), ipaddr.c_str());
resolver->setAddr(ipaddr);
return true;

View File

@ -76,7 +76,7 @@ void AbstractDiskWriter::openExistingFile(const string& filename, int64_t totalL
this->filename = filename;
File f(filename);
if(!f.isFile()) {
throw new DlAbortEx(EX_FILE_OPEN, filename.c_str(), "file not found");
throw new DlAbortEx(EX_FILE_OPEN, filename.c_str(), MSG_FILE_NOT_FOUND);
}
if((fd = open(filename.c_str(), O_RDWR, OPEN_MODE)) < 0) {
@ -84,7 +84,7 @@ void AbstractDiskWriter::openExistingFile(const string& filename, int64_t totalL
}
if(f.size() < totalLength) {
if(!fileAllocator.isNull()) {
logger->notice("Allocating file %s, %s bytes",
logger->notice(MSG_ALLOCATING_FILE,
filename.c_str(),
Util::ullitos(totalLength).c_str());
glowFileAllocator->allocate(fd, totalLength);

View File

@ -35,6 +35,7 @@
#include "ActivePeerConnectionCommand.h"
#include "PeerInitiateConnectionCommand.h"
#include "CUIDCounter.h"
#include "message.h"
bool ActivePeerConnectionCommand::execute() {
if(btRuntime->isHalt()) {
@ -64,6 +65,6 @@ void ActivePeerConnectionCommand::connectToPeer(const PeerHandle& peer)
PeerInitiateConnectionCommand* command =
new PeerInitiateConnectionCommand(peer->cuid, peer, e, btContext);
e->commands.push_back(command);
logger->info("CUID#%d - Active Connect to the peer %s",
logger->info(MSG_CONNECTING_TO_PEER,
cuid, peer->ipaddr.c_str());
}

View File

@ -73,13 +73,13 @@ void BtPieceMessage::doReceivedAction() {
PieceHandle piece = pieceStorage->getPiece(index);
int64_t offset =
((int64_t)index)*btContext->getPieceLength()+begin;
logger->debug("CUID#%d - Piece received. index=%d, begin=%d, length=%d, offset=%llu, blockIndex=%d",
logger->debug(MSG_PIECE_RECEIVED,
cuid, index, begin, blockLength, offset, slot.getBlockIndex());
pieceStorage->getDiskAdaptor()->writeData(block,
blockLength,
offset);
piece->completeBlock(slot.getBlockIndex());
logger->debug("CUID#%d - Piece bitfield %s",
logger->debug(MSG_PIECE_BITFIELD,
cuid,
Util::toHex(piece->getBitfield(),
piece->getBitfieldLength()).c_str());
@ -162,7 +162,7 @@ int32_t BtPieceMessage::sendPieceData(int64_t offset, int32_t length) const {
int32_t writtenLength = 0;
for(int32_t i = 0; i < iteration; i++) {
if(pieceStorage->getDiskAdaptor()->readData(buf, BUF_SIZE, offset+i*BUF_SIZE) < BUF_SIZE) {
throw new DlAbortEx("Failed to read data from disk.");
throw new DlAbortEx(EX_DATA_READ);
}
int32_t ws = peerConnection->sendMessage(buf, BUF_SIZE);
writtenLength += ws;
@ -174,7 +174,7 @@ int32_t BtPieceMessage::sendPieceData(int64_t offset, int32_t length) const {
int32_t rem = length%BUF_SIZE;
if(rem > 0) {
if(pieceStorage->getDiskAdaptor()->readData(buf, rem, offset+iteration*BUF_SIZE) < rem) {
throw new DlAbortEx("Failed to read data from disk.");
throw new DlAbortEx(EX_DATA_READ);
}
int32_t ws = peerConnection->sendMessage(buf, rem);
writtenLength += ws;
@ -236,8 +236,7 @@ void BtPieceMessage::handleChokingEvent(const BtEventHandle& event) {
if(!invalidate &&
!sendingInProgress &&
!peer->isInAmAllowedIndexSet(index)) {
logger->debug("CUID#%d - Reject piece message in queue because"
" the peer has been choked. index=%d, begin=%d, length=%d",
logger->debug(MSG_REJECT_PIECE_CHOKED,
cuid,
index,
begin,
@ -269,8 +268,7 @@ void BtPieceMessage::handleCancelSendingPieceEvent(const BtEventHandle& event) {
index == intEvent->getIndex() &&
begin == intEvent->getBegin() &&
blockLength == intEvent->getLength()) {
logger->debug("CUID#%d - Reject piece message in queue because cancel"
" message received. index=%d, begin=%d, length=%d",
logger->debug(MSG_REJECT_PIECE_CANCEL,
cuid, index, begin, blockLength);
if(peer->isFastExtensionEnabled()) {
BtMessageHandle rej = messageFactory->createRejectMessage(index,

View File

@ -83,7 +83,7 @@ bool CheckIntegrityCommand::executeInternal()
bool CheckIntegrityCommand::handleException(Exception* e)
{
logger->error("CUID#%d - Exception caught while validating file integrity.", e, cuid);
logger->error(MSG_FILE_VALIDATION_FAILURE, e, cuid);
delete e;
logger->error(MSG_DOWNLOAD_NOT_COMPLETE, cuid, _requestGroup->getFilePath().c_str());
// TODO this is wrong. There may exist invalid chunk data before catching

View File

@ -44,7 +44,7 @@ void ChecksumCommand::initValidator()
_validator->setBitfield(_requestGroup->getSegmentMan()->getBitfield());
if(!_validator->canValidate()) {
// insufficient checksums.
throw new DlAbortEx("Insufficient checksums.");
throw new DlAbortEx(EX_INSUFFICIENT_CHECKSUM);
}
_validator->init();
}
@ -69,7 +69,7 @@ bool ChecksumCommand::executeInternal()
bool ChecksumCommand::handleException(Exception* e)
{
logger->error("CUID#%d - Exception caught while validating file integrity.", e, cuid);
logger->error(MSG_FILE_VALIDATION_FAILURE, e, cuid);
delete e;
logger->error(MSG_DOWNLOAD_NOT_COMPLETE, cuid, _requestGroup->getFilePath().c_str());
// TODO We need to set bitfield back to the state when validation begun.

View File

@ -85,8 +85,8 @@ void ChunkChecksumValidator::validate(BitfieldMan* bitfieldMan,
// We assume file is already opened using DiskWriter::open or openExistingFile.
if(((int64_t)checksumLength*checksums.size()) < bitfieldMan->getTotalLength()) {
// insufficient checksums.
logger->error("Insufficient checksums. checksumLength=%d, numChecksum=%d",
checksumLength, checksums.size());
logger->error(MSG_INSUFFICIENT_CHECKSUM,
checksumLength, checksums.size());
return;
}
assert(bitfieldMan->getTotalLength()/checksumLength <= INT32_MAX);

View File

@ -34,6 +34,7 @@
/* copyright --> */
#include "CopyDiskAdaptor.h"
#include "Util.h"
#include "message.h"
void CopyDiskAdaptor::onDownloadComplete() {
closeFile();
@ -49,7 +50,7 @@ void CopyDiskAdaptor::fixFilename() {
string topDirPath = storeDir+"/"+topDir;
(*itr)->setupDir(topDirPath);
string destFilePath = topDirPath+"/"+(*itr)->getPath();
logger->info("writing file %s", destFilePath.c_str());
logger->info(MSG_WRITING_FILE, destFilePath.c_str());
Util::rangedFileCopy(destFilePath, getFilePath(),
offset, (*itr)->getLength());
(*itr)->setExtracted(true);

View File

@ -178,7 +178,7 @@ DefaultBtAnnounce::processAnnounceResponse(const char* trackerResponse,
Dictionary* response = (Dictionary*)entry.get();
Data* failureReasonData = (Data*)response->get("failure reason");
if(failureReasonData) {
throw new DlAbortEx("Tracker returned failure reason: %s",
throw new DlAbortEx(EX_TRACKER_FAILURE,
failureReasonData->toString().c_str());
}
Data* warningMessageData = (Data*)response->get("warning message");
@ -224,7 +224,7 @@ DefaultBtAnnounce::processAnnounceResponse(const char* trackerResponse,
peerStorage->addPeer(peers);
}
if(!peersEntry) {
logger->info("No peer list received.");
logger->info(MSG_NO_PEER_LIST_RECEIVED);
}
}

View File

@ -42,13 +42,16 @@
#include "Util.h"
#include <libgen.h>
DefaultBtContext::DefaultBtContext() {}
DefaultBtContext::DefaultBtContext():_peerIdPrefix("-aria2-") {}
DefaultBtContext::~DefaultBtContext() {}
string DefaultBtContext::generatePeerId() const {
string peerId = "-aria2-";
peerId += Util::randomAlpha(20-peerId.size());
string peerId = _peerIdPrefix;
peerId += Util::randomAlpha(20-_peerIdPrefix.size());
if(peerId.size() > 20) {
peerId.erase(20);
}
return peerId;
}

View File

@ -56,6 +56,7 @@ private:
string name;
int32_t numPieces;
string peerId;
string _peerIdPrefix;
AnnounceTiers announceTiers;
void clear();
@ -107,6 +108,13 @@ private:
}
string generatePeerId() const;
void setPeerIdPrefix(const string& peerIdPrefix)
{
_peerIdPrefix = peerIdPrefix;
}
};
typedef SharedHandle<DefaultBtContext> DefaultBtContextHandle;
#endif // _D_DEFAULT_BT_CONTEXT_H_

View File

@ -186,13 +186,13 @@ void DefaultBtInteractive::receiveMessages() {
void DefaultBtInteractive::decideInterest() {
if(pieceStorage->hasMissingPiece(peer)) {
if(!peer->amInterested) {
logger->debug("CUID#%d - Interested in the peer", cuid);
logger->debug(MSG_PEER_INTERESTED, cuid);
dispatcher->
addMessageToQueue(messageFactory->createInterestedMessage());
}
} else {
if(peer->amInterested) {
logger->debug("CUID#%d - Not interested in the peer", cuid);
logger->debug(MSG_PEER_NOT_INTERESTED, cuid);
dispatcher->
addMessageToQueue(messageFactory->createNotInterestedMessage());
}
@ -269,7 +269,7 @@ void DefaultBtInteractive::detectMessageFlooding() {
if(floodingCheckPoint.elapsed(FLOODING_CHECK_INTERVAL)) {
if(floodingStat.getChokeUnchokeCount() >= 2 ||
floodingStat.getKeepAliveCount() >= 2) {
throw new DlAbortEx("Flooding detected.");
throw new DlAbortEx(EX_FLOODING_DETECTED);
} else {
floodingStat.reset();
}
@ -279,8 +279,9 @@ void DefaultBtInteractive::detectMessageFlooding() {
void DefaultBtInteractive::checkActiveInteraction()
{
if(inactiveCheckPoint.elapsed(10*60) && btRuntime->getConnections() >= MAX_PEERS) {
throw new DlAbortEx("Drop connection because of an inactive interaction.");
int32_t interval = 5*60;
if(inactiveCheckPoint.elapsed(interval) && btRuntime->getConnections() >= MAX_PEERS) {
throw new DlAbortEx(EX_DROP_INACTIVE_CONNECTION, interval);
}
}

View File

@ -41,6 +41,7 @@
#include "BtChokingEvent.h"
#include "BtRegistry.h"
#include "BtMessageFactory.h"
#include "message.h"
void DefaultBtMessageDispatcher::addMessageToQueue(const BtMessageHandle& btMessage)
{
@ -102,7 +103,7 @@ void DefaultBtMessageDispatcher::doAbortOutstandingRequestAction(const PieceHand
itr != requestSlots.end();) {
RequestSlot& slot = *itr;
if(slot.getIndex() == piece->getIndex()) {
logger->debug("CUID#%d - Deleting request slot index=%d, blockIndex=%d",
logger->debug(MSG_DELETING_REQUEST_SLOT,
cuid,
slot.getIndex(),
slot.getBlockIndex());
@ -131,8 +132,7 @@ void DefaultBtMessageDispatcher::doChokedAction()
if(peer->isInPeerAllowedIndexSet(slot.getIndex())) {
itr++;
} else {
logger->debug("CUID#%d - Deleting request slot index=%d, blockIndex=%d"
" because localhost got choked.",
logger->debug(MSG_DELETING_REQUEST_SLOT_CHOKED,
cuid,
slot.getIndex(),
slot.getBlockIndex());
@ -168,16 +168,14 @@ void DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing()
RequestSlot& slot = *itr;
PieceHandle piece = pieceStorage->getPiece(slot.getIndex());
if(slot.isTimeout(requestTimeout)) {
logger->debug("CUID#%d - Deleting request slot blockIndex=%d"
" because of time out",
logger->debug(MSG_DELETING_REQUEST_SLOT_TIMEOUT,
cuid,
slot.getBlockIndex());
piece->cancelBlock(slot.getBlockIndex());
peer->snubbing = true;
itr = requestSlots.erase(itr);
} else if(piece->hasBlock(slot.getBlockIndex())) {
logger->debug("CUID#%d - Deleting request slot blockIndex=%d because"
" the block has been acquired.",
logger->debug(MSG_DELETING_REQUEST_SLOT_ACQUIRED,
cuid,
slot.getBlockIndex());
addMessageToQueue(messageFactory->createCancelMessage(slot.getIndex(),

View File

@ -34,6 +34,7 @@
/* copyright --> */
#include "DefaultBtMessageReceiver.h"
#include "BtHandshakeMessage.h"
#include "message.h"
BtMessageHandle DefaultBtMessageReceiver::receiveHandshake(bool quickReply) {
unsigned char data[BtHandshakeMessage::MESSAGE_LENGTH];
@ -55,7 +56,7 @@ BtMessageHandle DefaultBtMessageReceiver::receiveHandshake(bool quickReply) {
if(msg->validate(errors)) {
if(msg->isFastExtensionSupported()) {
peer->setFastExtensionEnabled(true);
logger->info("CUID#%d - Fast extension enabled.", cuid);
logger->info(MSG_FAST_EXTENSION_ENABLED, cuid);
}
} else {
// TODO throw exception here based on errors

View File

@ -137,7 +137,7 @@ void DefaultBtProgressInfoFile::load() {
}
fclose(file);
if(ex == "infoHashMismatch") {
throw new DlAbortEx("The infoHash in torrent file doesn't match to one in .aria2 file.");
throw new DlAbortEx(EX_INFOHASH_MISMATCH_IN_SEGFILE);
} else {
throw new DlAbortEx(EX_SEGMENT_FILE_READ,
filename.c_str(), strerror(errno));

View File

@ -55,7 +55,7 @@ void DefaultDiskWriter::initAndOpenFile(const string& filename,
if(fileAllocator.isNull()) {
ftruncate(fd, totalLength);
} else {
logger->notice("Allocating file %s, %s bytes",
logger->notice(MSG_ALLOCATING_FILE,
filename.c_str(),
Util::ullitos(totalLength).c_str());
fileAllocator->allocate(fd, totalLength);

View File

@ -35,6 +35,7 @@
#include "DefaultPeerStorage.h"
#include "LogFactory.h"
#include "BtRegistry.h"
#include "message.h"
DefaultPeerStorage::DefaultPeerStorage(BtContextHandle btContext,
const Option* option):
@ -80,7 +81,7 @@ void DefaultPeerStorage::addPeer(const Peers& peers) {
itr != peers.end(); itr++) {
const PeerHandle& peer = *itr;
if(addPeer(peer)) {
logger->debug("Adding peer %s:%d",
logger->debug(MSG_ADDING_PEER,
peer->ipaddr.c_str(), peer->port);
}
}

View File

@ -44,6 +44,7 @@
#include "FileAllocationMonitor.h"
#include "DiskAdaptorWriter.h"
#include "ChunkChecksumValidator.h"
#include "message.h"
DefaultPieceStorage::DefaultPieceStorage(BtContextHandle btContext, const Option* option):
btContext(btContext),
@ -210,7 +211,7 @@ int DefaultPieceStorage::deleteUsedPiecesByFillRate(int fillRate,
PieceHandle& piece = *itr;
if(!bitfieldMan->isUseBitSet(piece->getIndex()) &&
piece->countCompleteBlock() <= piece->countBlock()*(fillRate/100.0)) {
logger->debug("Deleting used piece index=%d, fillRate(%%)=%d<=%d",
logger->debug(MSG_DELETING_USED_PIECE,
piece->getIndex(),
(piece->countCompleteBlock()*100)/piece->countBlock(),
fillRate);
@ -239,12 +240,12 @@ void DefaultPieceStorage::completePiece(const PieceHandle& piece) {
if(downloadFinished()) {
diskAdaptor->onDownloadComplete();
if(isSelectiveDownloadingMode()) {
logger->notice(_("Download of selected files was complete."));
logger->notice(MSG_SELECTIVE_DOWNLOAD_COMPLETED);
// following line was commented out in order to stop sending request
// message after user-specified files were downloaded.
//finishSelectiveDownloadingMode();
} else {
logger->info(_("The download was complete."));
logger->info(MSG_DOWNLOAD_COMPLETED);
}
}
}
@ -300,7 +301,7 @@ void DefaultPieceStorage::setFileFilter(const Strings& filePaths) {
for(Strings::const_iterator pitr = filePaths.begin();
pitr != filePaths.end(); pitr++) {
if(!diskAdaptor->addDownloadEntry(*pitr)) {
throw new DlAbortEx("No such file entry %s", (*pitr).c_str());
throw new DlAbortEx(EX_NO_SUCH_FILE_ENTRY, (*pitr).c_str());
}
FileEntryHandle fileEntry = diskAdaptor->getFileEntryFromPath(*pitr);
bitfieldMan->addFilter(fileEntry->getOffset(), fileEntry->getLength());
@ -433,7 +434,7 @@ void DefaultPieceStorage::removeAdvertisedPiece(int elapsed) {
Haves::iterator itr =
find_if(haves.begin(), haves.end(), FindElapsedHave(elapsed));
if(itr != haves.end()) {
logger->debug("Removed %d have entries.", haves.end()-itr);
logger->debug(MSG_REMOVED_HAVE_ENTRY, haves.end()-itr);
haves.erase(itr, haves.end());
}
}
@ -445,7 +446,7 @@ void DefaultPieceStorage::markAllPiecesDone()
void DefaultPieceStorage::checkIntegrity()
{
logger->notice("Validating file %s",
logger->notice(MSG_VALIDATING_FILE,
diskAdaptor->getFilePath().c_str());
ChunkChecksumValidator v;
v.setDigestAlgo(DIGEST_ALGO_SHA1);

View File

@ -35,6 +35,7 @@
#include "DiskAdaptor.h"
#include "DlAbortEx.h"
#include "LogFactory.h"
#include "message.h"
DiskAdaptor::DiskAdaptor():logger(LogFactory::getInstance()) {}
@ -47,7 +48,7 @@ FileEntryHandle DiskAdaptor::getFileEntryFromPath(const string& fileEntryPath) c
return *itr;
}
}
throw new DlAbortEx("No such file entry <%s>", fileEntryPath.c_str());
throw new DlAbortEx(EX_NO_SUCH_FILE_ENTRY, fileEntryPath.c_str());
}
bool DiskAdaptor::addDownloadEntry(const string& fileEntryPath) {

View File

@ -97,10 +97,10 @@ bool DownloadCommand::executeInternal() {
if(peerStat->getDownloadStartTime().elapsed(startupIdleTime)) {
int32_t nowSpeed = peerStat->calculateDownloadSpeed();
if(lowestDownloadSpeedLimit > 0 && nowSpeed <= lowestDownloadSpeedLimit) {
throw new DlAbortEx("CUID#%d - Too slow Downloading speed: %d <= %d(B/s)",
cuid,
throw new DlAbortEx(EX_TOO_SLOW_DOWNLOAD_SPEED,
nowSpeed,
lowestDownloadSpeedLimit);
lowestDownloadSpeedLimit,
req->getHost().c_str());
}
}
if(_requestGroup->getSegmentMan()->totalSize != 0 && bufSize == 0) {
@ -110,7 +110,7 @@ bool DownloadCommand::executeInternal() {
|| transferDecoder.isNull() && segment->complete()
|| bufSize == 0) {
if(!transferDecoder.isNull()) transferDecoder->end();
logger->info(MSG_DOWNLOAD_COMPLETED, cuid);
logger->info(MSG_SEGMENT_DOWNLOAD_COMPLETED, cuid);
_requestGroup->getSegmentMan()->completeSegment(cuid, segment);
#ifdef ENABLE_MESSAGE_DIGEST
if(e->option->get(PREF_REALTIME_CHUNK_CHECKSUM) == V_TRUE) {

View File

@ -43,7 +43,7 @@ bool FileAllocationCommand::executeInternal()
_fileAllocationEntry->allocateChunk();
if(_fileAllocationEntry->finished()) {
logger->debug("%d seconds to allocate %lld byte(s)",
logger->debug(MSG_ALLOCATION_COMPLETED,
_timer.difference(), _requestGroup->getTotalLength());
_e->_fileAllocationMan->markCurrentFileAllocationEntryDone();
@ -68,7 +68,7 @@ bool FileAllocationCommand::executeInternal()
bool FileAllocationCommand::handleException(Exception* e)
{
logger->error("CUID#%d - Exception caught while allocating file space.", e, cuid);
logger->error(MSG_FILE_ALLOCATION_FAILURE, e, cuid);
delete e;
logger->error(MSG_DOWNLOAD_NOT_COMPLETE, cuid, _requestGroup->getFilePath().c_str());
return true;

View File

@ -34,6 +34,7 @@
/* copyright --> */
#include "FileAllocationDispatcherCommand.h"
#include "FileAllocationCommand.h"
#include "message.h"
bool FileAllocationDispatcherCommand::execute()
{
@ -44,7 +45,7 @@ bool FileAllocationDispatcherCommand::execute()
if(!_e->_fileAllocationMan->isFileAllocationBeingExecuted() &&
_e->_fileAllocationMan->nextFileAllocationEntryExists()) {
FileAllocationEntryHandle entry = _e->_fileAllocationMan->popNextFileAllocationEntry();
logger->info("Dispatching FileAllocationCommand for CUID#%d.",
logger->info(MSG_FILE_ALLOCATION_DISPATCH,
entry->getCUID());
FileAllocationCommand* command =
new FileAllocationCommand(entry->getCUID(),

View File

@ -85,7 +85,7 @@ void HttpConnection::sendProxyRequest(const HttpRequestHandle& httpRequest)
HttpResponseHandle HttpConnection::receiveResponse() {
if(outstandingHttpRequests.size() == 0) {
throw new DlAbortEx("No HttpRequestEntry found.");
throw new DlAbortEx(EX_NO_HTTP_REQUEST_ENTRY_FOUND);
}
HttpRequestEntryHandle entry = outstandingHttpRequests.front();
HttpHeaderProcessorHandle proc = entry->getHttpHeaderProcessor();

View File

@ -49,7 +49,7 @@ void HttpResponse::validateResponse() const
}
if(status >= 300) {
if(!httpHeader->defined("Location")) {
throw new DlRetryEx("Got %d status, but no location header provided.",
throw new DlRetryEx(EX_LOCATION_HEADER_REQUIRED,
status);
}
} else {
@ -57,7 +57,7 @@ void HttpResponse::validateResponse() const
// compare the received range against the requested range
RangeHandle responseRange = httpHeader->getRange();
if(!httpRequest->isRangeSatisfied(responseRange)) {
throw new DlRetryEx("Invalid range header. Request: %lld-%lld/%lld, Response: %lld-%lld/%lld",
throw new DlRetryEx(EX_INVALID_RANGE_HEADER,
httpRequest->getStartByte(),
httpRequest->getEndByte(),
httpRequest->getEntityLength(),
@ -76,7 +76,7 @@ string HttpResponse::determinFilename() const
if(contentDisposition.empty()) {
return Util::urldecode(httpRequest->getRequest()->getFile());
} else {
logger->info("CUID#%d - Content-Disposition Detected. Use %s as filename",
logger->info(MSG_CONTENT_DISPOSITION_DETECTED,
cuid, contentDisposition.c_str());
return Util::urldecode(contentDisposition);
}

View File

@ -38,6 +38,7 @@
#include "DlAbortEx.h"
#include "MultiUrlRequestInfo.h"
#include "Util.h"
#include "message.h"
class AccumulateNonP2PUrl {
private:
@ -85,8 +86,8 @@ RequestInfos MetalinkRequestInfo::execute() {
op->get(PREF_METALINK_LANGUAGE),
op->get(PREF_METALINK_OS));
if(entries.size() == 0) {
printf("No file matched with your preference.\n");
throw new DlAbortEx("No file matched with your preference.");
cout << EX_NO_RESULT_WITH_YOUR_PREFS << endl;
throw new DlAbortEx(EX_NO_RESULT_WITH_YOUR_PREFS);
}
if(op->get(PREF_SHOW_FILES) == V_TRUE) {
Util::toStream(cout, MetalinkEntry::toFileEntry(entries));
@ -122,7 +123,7 @@ RequestInfos MetalinkRequestInfo::execute() {
if(entry->resources.size() == 0) {
continue;
}
logger->info("Metalink: Queueing %s for download.",
logger->info(MSG_METALINK_QUEUEING,
entry->getPath().c_str());
MetalinkResources::iterator itr =
find_if(entry->resources.begin(),
@ -160,7 +161,7 @@ RequestInfos MetalinkRequestInfo::execute() {
MultiUrlRequestInfoHandle reqInfo = new MultiUrlRequestInfo(groups, op);
nextReqInfos.push_back(reqInfo);
} catch(RecoverableException* ex) {
logger->error("Exception caught", ex);
logger->error(EX_EXCEPTION_CAUGHT, ex);
delete ex;
fail = true;
}

View File

@ -110,7 +110,7 @@ RequestInfos MultiUrlRequestInfo::execute() {
printDownloadAbortMessage();
}
} catch(RecoverableException *ex) {
logger->error("Exception caught", ex);
logger->error(EX_EXCEPTION_CAUGHT, ex);
delete ex;
fail = true;
}

View File

@ -93,6 +93,7 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
handlers.push_back(new DefaultOptionHandler(PREF_INPUT_FILE));
handlers.push_back(new NumberOptionHandler(PREF_MAX_CONCURRENT_DOWNLOADS, 1, 15));
handlers.push_back(new DefaultOptionHandler(PREF_LOAD_COOKIES));
handlers.push_back(new DefaultOptionHandler(PREF_PEER_ID_PREFIX));
return handlers;
}

View File

@ -79,7 +79,7 @@ bool PeerAbstractCommand::execute() {
return executeInternal();
} catch(RecoverableException* err) {
logger->debug(MSG_TORRENT_DOWNLOAD_ABORTED, err, cuid);
logger->debug("CUID#%d - Peer %s:%d banned.",
logger->debug(MSG_PEER_BANNED,
cuid, peer->ipaddr.c_str(), peer->port);
onAbort(err);
delete err;

View File

@ -52,12 +52,12 @@ PeerConnection::PeerConnection(int32_t cuid,
currentPayloadLength(0),
lenbufLength(0)
{
logger->debug("PeerConnection::instantiated");
//logger->debug("PeerConnection::instantiated");
}
PeerConnection::~PeerConnection()
{
logger->debug("PeerConnection::deleted");
//logger->debug("PeerConnection::deleted");
}
int32_t PeerConnection::sendMessage(const unsigned char* data, int32_t dataLength) {
@ -92,7 +92,7 @@ bool PeerConnection::receiveMessage(unsigned char* data, int32_t& dataLength) {
//payloadLen = ntohl(nPayloadLen);
int32_t payloadLength = ntohl(*((int32_t*)lenbuf));
if(payloadLength > MAX_PAYLOAD_LEN || payloadLength < 0) {
throw new DlAbortEx("max payload length exceeded or invalid. length = %d",
throw new DlAbortEx(EX_TOO_LONG_PAYLOAD,
payloadLength);
}
currentPayloadLength = payloadLength;

View File

@ -134,8 +134,8 @@ PeerInteractionCommand::~PeerInteractionCommand() {
peer->deactivate();
PEER_OBJECT_CLUSTER(btContext)->unregisterHandle(peer->getId());
logger->debug("CUID#%d - unregistered message factory using ID:%s",
cuid, peer->getId().c_str());
//logger->debug("CUID#%d - unregistered message factory using ID:%s",
//cuid, peer->getId().c_str());
}
bool PeerInteractionCommand::executeInternal() {

View File

@ -36,6 +36,7 @@
#include "PeerInteractionCommand.h"
#include "RecoverableException.h"
#include "CUIDCounter.h"
#include "message.h"
PeerListenCommand::PeerListenCommand(int cuid,
TorrentDownloadEngine* e,
@ -53,11 +54,11 @@ int PeerListenCommand::bindPort(int portRangeStart, int portRangeEnd) {
for(int port = portRangeStart; port <= portRangeEnd; port++) {
try {
socket->beginListen(port);
logger->info("CUID#%d - using port %d for accepting new connections",
logger->info(MSG_LISTENING_PORT,
cuid, port);
return port;
} catch(RecoverableException* ex) {
logger->error("CUID#%d - an error occurred while binding port=%d",
logger->error(MSG_BIND_FAILURE,
ex, cuid, port);
socket->closeConnection();
delete ex;
@ -94,11 +95,11 @@ bool PeerListenCommand::execute() {
peerSocket,
PeerInteractionCommand::RECEIVER_WAIT_HANDSHAKE);
e->commands.push_back(command);
logger->debug("CUID#%d - incoming connection, adding new command CUID#%d", cuid, peer->cuid);
logger->debug(MSG_INCOMING_PEER_CONNECTION, cuid, peer->cuid);
}
}
} catch(RecoverableException* ex) {
logger->debug("CUID#%d - error in accepting connection", ex, cuid);
logger->debug(MSG_ACCEPT_FAILURE, ex, cuid);
delete ex;
}
}

View File

@ -80,7 +80,7 @@ Commands RequestGroup::createNextCommand(DownloadEngine* e, int32_t numCommand,
if(req->setUrl(uri)) {
commands.push_back(InitiateConnectionCommandFactory::createInitiateConnectionCommand(CUIDCounterSingletonHolder::instance()->newID(), req, this, e));
} else {
logger->error(_("Unrecognized URL or unsupported protocol: %s\n"),
logger->error(MSG_UNRECOGNIZED_URI,
req->getUrl().c_str());
}
}
@ -129,7 +129,7 @@ void RequestGroup::initAndOpenFile()
File d(getDir());
if(d.isDir()) {
} else if(d.exists()) {
throw new FatalException(EX_MAKE_DIR, getDir().c_str(), "not a directory");
throw new FatalException(EX_MAKE_DIR, getDir().c_str(), MSG_NOT_DIRECTORY);
} else if(!d.mkdirs()) {
throw new FatalException(EX_MAKE_DIR, getDir().c_str(), strerror(errno));
}
@ -179,7 +179,7 @@ void RequestGroup::loadAndOpenFile()
} else if(fileExists() && _option->get(PREF_CONTINUE) == V_TRUE) {
File existingFile(getFilePath());
if(getTotalLength() < existingFile.size()) {
throw new DlAbortEx("Invalid file length. Cannot continue download %s: local %s, remote %s",
throw new DlAbortEx(EX_FILE_LENGTH_MISMATCH_BETWEEN_LOCAL_AND_REMOTE,
getFilePath().c_str(),
Util::llitos(existingFile.size()).c_str(),
Util::llitos(getTotalLength()).c_str());

View File

@ -34,6 +34,7 @@
/* copyright --> */
#include "RequestGroupMan.h"
#include "DownloadEngine.h"
#include "message.h"
#include <iomanip>
void RequestGroupMan::removeStoppedGroup()
@ -47,7 +48,8 @@ void RequestGroupMan::removeStoppedGroup()
} else {
(*itr)->closeFile();
if((*itr)->downloadFinished()) {
_logger->notice("Download complete: %s", (*itr)->getFilePath().c_str());
_logger->notice(MSG_FILE_DOWNLOAD_COMPLETED,
(*itr)->getFilePath().c_str());
(*itr)->remove();
} else {
(*itr)->save();

View File

@ -33,6 +33,7 @@
*/
/* copyright --> */
#include "SeedCheckCommand.h"
#include "message.h"
SeedCheckCommand::SeedCheckCommand(int cuid,
TorrentDownloadEngine* e,
@ -59,7 +60,7 @@ bool SeedCheckCommand::execute() {
}
if(checkStarted) {
if(seedCriteria->evaluate()) {
logger->notice("CUID#%d - Seeding is over.", cuid);
logger->notice(MSG_SEEDING_END);
btRuntime->setHalt(true);
}
}

View File

@ -316,7 +316,7 @@ SegmentHandle SegmentMan::getSegment(int32_t cuid) {
}
SegmentEntryHandle slowSegmentEntry = findSlowerSegmentEntry(myPeerStat);
if(slowSegmentEntry.get()) {
logger->info("CUID#%d cancels segment index=%d. CUID#%d handles it instead.",
logger->info(MSG_SEGMENT_FORWARDING,
slowSegmentEntry->cuid,
slowSegmentEntry->segment->index,
cuid);
@ -475,7 +475,7 @@ void SegmentMan::markPieceDone(int64_t length)
#ifdef ENABLE_MESSAGE_DIGEST
void SegmentMan::checkIntegrity()
{
logger->notice("Validating file %s",
logger->notice(MSG_VALIDATING_FILE,
getFilePath().c_str());
ChunkChecksumValidator v;
v.setDigestAlgo(digestAlgo);
@ -515,7 +515,7 @@ void SegmentMan::tryChunkChecksumValidation(const SegmentHandle& segment)
logger->debug("hashStartIndex=%d, hashEndIndex=%d",
hashStartIndex, hashEndIndex);
if(hashStartIndex > hashEndIndex) {
logger->debug("No chunk to verify.");
logger->debug(MSG_NO_CHUNK_CHECKSUM);
return;
}
int64_t hashOffset = ((int64_t)hashStartIndex)*chunkHashLength;
@ -534,7 +534,7 @@ void SegmentMan::tryChunkChecksumValidation(const SegmentHandle& segment)
string actualChecksum = diskWriter->messageDigest(offset, dataLength, digestAlgo);
string expectedChecksum = pieceHashes[index];
if(expectedChecksum == actualChecksum) {
logger->info("Good chunk checksum.");
logger->info(MSG_GOOD_CHUNK_CHECKSUM);
} else {
logger->info(EX_INVALID_CHUNK_CHECKSUM,
index, offset,

View File

@ -56,9 +56,12 @@ RequestInfos TorrentRequestInfo::execute() {
DNSCacheSingletonHolder::instance(dnsCache);
}
BtContextHandle btContext(new DefaultBtContext());
DefaultBtContextHandle btContext = new DefaultBtContext();
btContext->load(torrentFile);
if(op->defined(PREF_PEER_ID_PREFIX)) {
btContext->setPeerIdPrefix(op->get(PREF_PEER_ID_PREFIX));
}
if(op->get(PREF_SHOW_FILES) == V_TRUE) {
Util::toStream(cout, btContext->getFileEntries());
return RequestInfos();
@ -109,7 +112,7 @@ RequestInfos TorrentRequestInfo::execute() {
printDownloadCompeleteMessage();
}
} catch(RecoverableException* ex) {
logger->error("Exception caught", ex);
logger->error(EX_EXCEPTION_CAUGHT, ex);
fail = true;
delete ex;
}

View File

@ -106,7 +106,7 @@ bool TrackerUpdateCommand::execute() {
btAnnounce->resetAnnounce();
e->_requestGroupMan->removeStoppedGroup();
} catch(RecoverableException* err) {
logger->error("CUID#%d - Error occurred while processing tracker response.", cuid, err);
logger->error(MSG_TRACKER_RESPONSE_PROCESSING_FAILED, err, cuid);
e->_requestGroupMan->getRequestGroup(0)->getSegmentMan()->errors++;
delete err;
}

View File

@ -39,6 +39,7 @@
#include "prefs.h"
#include "RequestFactory.h"
#include "TrackerSegmentManFactory.h"
#include "message.h"
TrackerWatcherCommand::TrackerWatcherCommand(int cuid,
TorrentDownloadEngine* e,
@ -95,10 +96,10 @@ Command* TrackerWatcherCommand::createRequestCommand(const string& url)
Commands commands = e->_requestGroupMan->getInitialCommands(e);
if(commands.empty()) {
logger->error("CUID#%d - Cannot create tracker request.", cuid);
logger->error(MSG_TRACKER_REQUEST_CREATION_FAILED, cuid);
return 0;
}
logger->info("CUID#%d - Creating new tracker request command #%d", cuid,
logger->info(MSG_CREATING_TRACKER_REQUEST, cuid,
commands.front()->getCuid());
return commands.front();
}

View File

@ -439,6 +439,7 @@ int main(int argc, char* argv[]) {
{ "seed-time", required_argument, &lopt, 22 },
{ "seed-ratio", required_argument, &lopt, 23 },
{ "max-upload-limit", required_argument, &lopt, 24 },
{ "peer-id-prefix", required_argument, &lopt, 25 },
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
{ "metalink-file", required_argument, NULL, 'M' },
@ -526,6 +527,8 @@ int main(int argc, char* argv[]) {
case 24:
cmdstream << PREF_MAX_UPLOAD_LIMIT << "=" << optarg << "\n";
break;
case 25:
cmdstream << PREF_PEER_ID_PREFIX << "=" << optarg << "\n";
case 100:
cmdstream << PREF_METALINK_VERSION << "=" << optarg << "\n";
break;
@ -663,13 +666,13 @@ int main(int argc, char* argv[]) {
#endif // ENABLE_METALINK
!op->defined(PREF_INPUT_FILE)) {
if(optind == argc) {
cerr << _("specify at least one URL") << endl;
cerr << MSG_URI_REQUIRED << endl;
exit(EXIT_FAILURE);
}
}
if(op->getAsBool(PREF_DAEMON)) {
if(daemon(1, 1) < 0) {
perror(_("daemon failed"));
perror(MSG_DAEMON_FAILED);
exit(EXIT_FAILURE);
}
}
@ -700,7 +703,7 @@ int main(int argc, char* argv[]) {
try {
Logger* logger = LogFactory::getInstance();
logger->info("%s %s", PACKAGE, PACKAGE_VERSION);
logger->info("Logging started.");
logger->info(MSG_LOGGING_STARTED);
RequestFactoryHandle requestFactory = new RequestFactory();
requestFactory->setOption(op);
@ -708,7 +711,7 @@ int main(int argc, char* argv[]) {
if(!op->getAsBool(PREF_NO_NETRC) && netrccf.isFile()) {
mode_t mode = netrccf.mode();
if(mode&(S_IRWXG|S_IRWXO)) {
logger->notice(".netrc file %s does not have correct permissions. It should be 600. netrc support disabled.",
logger->notice(MSG_INCORRECT_NETRC_PERMISSION,
op->get(PREF_NETRC_PATH).c_str());
} else {
NetrcHandle netrc = new Netrc();
@ -725,7 +728,7 @@ int main(int argc, char* argv[]) {
ifstream in(op->get(PREF_LOAD_COOKIES).c_str());
CookieBoxFactorySingletonHolder::instance()->loadDefaultCookie(in);
} else {
logger->error("Failed to load cookies from %s", op->get(PREF_LOAD_COOKIES).c_str());
logger->error(MSG_LOADING_COOKIE_FAILED, op->get(PREF_LOAD_COOKIES).c_str());
exit(EXIT_FAILURE);
}
}
@ -819,7 +822,7 @@ int main(int argc, char* argv[]) {
*/
}
} catch(Exception* ex) {
cerr << "Exception caught:\n" << ex->getMsg() << endl;
cerr << EX_EXCEPTION_CAUGHT << "\n" << ex->getMsg() << endl;
delete ex;
exit(EXIT_FAILURE);
}

View File

@ -37,7 +37,7 @@
#include "common.h"
#define MSG_DOWNLOAD_COMPLETED _("CUID#%d - The download for one segment completed successfully.")
#define MSG_SEGMENT_DOWNLOAD_COMPLETED _("CUID#%d - The download for one segment completed successfully.")
#define MSG_NO_SEGMENT_AVAILABLE _("CUID#%d - No segment available.")
#define MSG_CONNECTING_TO_SERVER _("CUID#%d - Connecting to %s:%d")
#define MSG_SEGMENT_CHANGED _("CUID#%d - The segment changed. We send the request again with new Range header.")
@ -60,7 +60,36 @@
#define MSG_DOWNLOAD_ALREADY_COMPLETED _("CUID#%d - Download has already completed: %s")
#define MSG_GOOD_CHECKSUM _("CUID#%d - Good checksum: %s")
#define MSG_BAD_CHECKSUM _("CUID#%d - Bad checksum: %s")
#define MSG_RESOLVING_HOSTNAME _("CUID#%d - Resolving hostname %s")
#define MSG_NAME_RESOLUTION_COMPLETE _("CUID#%d - Name resolution complete: %s -> %s")
#define MSG_NAME_RESOLUTION_FAILED _("CUID#%d - Name resolution for %s failed:%s")
#define MSG_DNS_CACHE_HIT _("CUID#%d - DNS cache hit: %s -> %s")
#define MSG_ABORT_REQUESTED _("CUID#%d - Abort requested.")
#define MSG_CONNECTING_TO_PEER _("CUID#%d - Connecting to the peer %s")
#define MSG_PIECE_RECEIVED _("CUID#%d - Piece received. index=%d, begin=%d, length=%d, offset=%llu, blockIndex=%d")
#define MSG_PIECE_BITFIELD _("CUID#%d - Piece bitfield %s")
#define MSG_REJECT_PIECE_CHOKED _("CUID#%d - Reject piece message in queue because the peer has been choked. index=%d, begin=%d, length=%d")
#define MSG_REJECT_PIECE_CANCEL _("CUID#%d - Reject piece message in queue because cancel message received. index=%d, begin=%d, length=%d")
#define MSG_FILE_VALIDATION_FAILURE _("CUID#%d - Exception caught while validating file integrity.")
#define MSG_PEER_INTERESTED _("CUID#%d - Interested in the peer")
#define MSG_PEER_NOT_INTERESTED _("CUID#%d - Not interested in the peer")
#define MSG_DELETING_REQUEST_SLOT _("CUID#%d - Deleting request slot index=%d, blockIndex=%d")
#define MSG_DELETING_REQUEST_SLOT_CHOKED _("CUID#%d - Deleting request slot index=%d, blockIndex=%d because localhost got choked.")
#define MSG_DELETING_REQUEST_SLOT_TIMEOUT _("CUID#%d - Deleting request slot blockIndex=%d because of time out")
#define MSG_DELETING_REQUEST_SLOT_ACQUIRED _("CUID#%d - Deleting request slot blockIndex=%d because the block has been acquired.")
#define MSG_FAST_EXTENSION_ENABLED _("CUID#%d - Fast extension enabled.")
#define MSG_FILE_ALLOCATION_FAILURE _("CUID#%d - Exception caught while allocating file space.")
#define MSG_CONTENT_DISPOSITION_DETECTED _("CUID#%d - Content-Disposition detected. Use %s as filename")
#define MSG_PEER_BANNED _("CUID#%d - Peer %s:%d banned.")
#define MSG_LISTENING_PORT _("CUID#%d - Using port %d for accepting new connections")
#define MSG_BIND_FAILURE _("CUID#%d - An error occurred while binding port=%d")
#define MSG_INCOMING_PEER_CONNECTION _("CUID#%d - Incoming connection, adding new command CUID#%d")
#define MSG_ACCEPT_FAILURE _("CUID#%d - Error in accepting connection")
#define MSG_TRACKER_RESPONSE_PROCESSING_FAILED _("CUID#%d - Error occurred while processing tracker response.")
#define MSG_TRACKER_REQUEST_CREATION_FAILED _("CUID#%d - Cannot create tracker request.")
#define MSG_CREATING_TRACKER_REQUEST _("CUID#%d - Creating new tracker request command #%d")
#define MSG_UNRECOGNIZED_URI _("Unrecognized URI or unsupported protocol: %s")
#define MSG_TRACKER_WARNING_MESSAGE _("Tracker returned warning message: %s")
#define MSG_SEGMENT_FILE_EXISTS _("The segment file %s exists.")
#define MSG_SEGMENT_FILE_DOES_NOT_EXIST _("The segment file %s does not exist.")
@ -70,6 +99,31 @@
#define MSG_LOADED_SEGMENT_FILE _("The segment file was loaded successfully.")
#define MSG_NO_URL_TO_DOWNLOAD _("No URI to download. Download aborted.")
#define MSG_FILE_ALREADY_EXISTS _("File %s exists, but %s does not exist. The download was canceled in order to prevent your file from being truncated to 0. If you are sure to download file all over again, then delete it or add --allow-overwrite=true option and restart aria2.")
#define MSG_ALLOCATING_FILE _("Allocating file %s, %s bytes")
#define MSG_FILE_NOT_FOUND _("File not found")
#define MSG_NOT_DIRECTORY _("Not a directory")
#define MSG_INSUFFICIENT_CHECKSUM _("Insufficient checksums. checksumLength=%d, numChecksum=%d")
#define MSG_WRITING_FILE _("Writing file %s")
#define MSG_NO_PEER_LIST_RECEIVED _("No peer list received.")
#define MSG_ADDING_PEER _("Adding peer %s:%d")
#define MSG_DELETING_USED_PIECE _("Deleting used piece index=%d, fillRate(%%)=%d<=%d")
#define MSG_SELECTIVE_DOWNLOAD_COMPLETED _("Download of selected files was complete.")
#define MSG_DOWNLOAD_COMPLETED _("The download was complete.")
#define MSG_REMOVED_HAVE_ENTRY _("Removed %d have entries.")
#define MSG_VALIDATING_FILE _("Validating file %s")
#define MSG_ALLOCATION_COMPLETED _("%d seconds to allocate %lld byte(s)")
#define MSG_FILE_ALLOCATION_DISPATCH _("Dispatching FileAllocationCommand for CUID#%d.")
#define MSG_METALINK_QUEUEING _("Metalink: Queueing %s for download.")
#define MSG_FILE_DOWNLOAD_COMPLETED _("Download complete: %s")
#define MSG_SEEDING_END _("Seeding is over.")
#define MSG_SEGMENT_FORWARDING _("CUID#%d cancels segment index=%d. CUID#%d handles it instead.")
#define MSG_NO_CHUNK_CHECKSUM _("No chunk to verify.")
#define MSG_GOOD_CHUNK_CHECKSUM _("Good chunk checksum.")
#define MSG_LOADING_COOKIE_FAILED _("Failed to load cookies from %s")
#define MSG_INCORRECT_NETRC_PERMISSION _(".netrc file %s does not have correct permissions. It should be 600. netrc support disabled.")
#define MSG_LOGGING_STARTED _("Logging started.")
#define MSG_URI_REQUIRED _("Specify at least one URL.")
#define MSG_DAEMON_FAILED _("daemon failed.")
#define EX_TIME_OUT _("Timeout.")
#define EX_INVALID_CHUNK_SIZE _("Invalid chunk size.")
@ -94,6 +148,7 @@
#define EX_FILE_OPEN _("Failed to open the file %s, cause: %s")
#define EX_FILE_WRITE _("Failed to write into the file %s, cause: %s")
#define EX_FILE_READ _("Failed to read from the file %s, cause: %s")
#define EX_DATA_READ _("Failed to read data from disk.")
#define EX_FILE_SHA1SUM _("Failed to calculate SHA1 digest of or a part of the file %s, cause: %s")
#define EX_FILE_SEEK _("Failed to seek the file %s, cause: %s")
#define EX_FILE_OFFSET_OUT_OF_RANGE _("The offset is out of range, offset=%lld")
@ -123,4 +178,18 @@
#define EX_INVALID_CHUNK_CHECKSUM _("Chunk checksum validation failed. checksumIndex=%d, offset=%lld, expectedHash=%s, actualHash=%s")
#define EX_DOWNLOAD_ABORTED _("Download aborted.")
#define EX_DUPLICATE_FILE_DOWNLOAD _("File %s is being downloaded by other command.")
#define EX_INSUFFICIENT_CHECKSUM _("Insufficient checksums.")
#define EX_TRACKER_FAILURE _("Tracker returned failure reason: %s")
#define EX_FLOODING_DETECTED _("Flooding detected.")
#define EX_DROP_INACTIVE_CONNECTION _("Drop connection because no request/piece messages were exchanged in a certain period(%d seconds).")
#define EX_INFOHASH_MISMATCH_IN_SEGFILE _("The infoHash in torrent file doesn't match to one in .aria2 file.")
#define EX_NO_SUCH_FILE_ENTRY _("No such file entry %s")
#define EX_TOO_SLOW_DOWNLOAD_SPEED _("Too slow Downloading speed: %d <= %d(B/s), host:%s")
#define EX_NO_HTTP_REQUEST_ENTRY_FOUND _("No HttpRequestEntry found.")
#define EX_LOCATION_HEADER_REQUIRED _("Got %d status, but no location header provided.")
#define EX_INVALID_RANGE_HEADER _("Invalid range header. Request: %lld-%lld/%lld, Response: %lld-%lld/%lld")
#define EX_NO_RESULT_WITH_YOUR_PREFS _("No file matched with your preference.")
#define EX_EXCEPTION_CAUGHT _("Exception caught")
#define EX_TOO_LONG_PAYLOAD _("Max payload length exceeded or invalid. length = %d")
#define EX_FILE_LENGTH_MISMATCH_BETWEEN_LOCAL_AND_REMOTE _("Invalid file length. Cannot continue download %s: local %s, remote %s")
#endif // _D_MESSAGE_H_

View File

@ -186,6 +186,8 @@
#define PREF_TRACKER_MAX_TRIES "tracker-max-tries"
// values: 1*digit
#define PREF_BT_KEEP_ALIVE_INTERVAL "bt-keep-alive-interval"
// values: a string, less than or equals to 20 bytes length
#define PREF_PEER_ID_PREFIX "peer-id-prefix"
/**
* Metalink related preferences