From cd6b6e359135f88afffbaa31c126489aa9813571 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 20 Jul 2007 17:06:21 +0000 Subject: [PATCH] 2007-07-20 Tatsuhiro Tsujikawa 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. --- ChangeLog | 13 + po/aria2c.pot | 475 +++++++++++++++++++---- po/de.gmo | Bin 15104 -> 14970 bytes po/de.po | 491 ++++++++++++++++++++---- po/ja.gmo | Bin 33671 -> 41422 bytes po/ja.po | 500 +++++++++++++++++++++---- po/ru.gmo | Bin 19530 -> 19352 bytes po/ru.po | 491 ++++++++++++++++++++---- src/AbstractCommand.cc | 16 +- src/AbstractDiskWriter.cc | 4 +- src/ActivePeerConnectionCommand.cc | 3 +- src/BtPieceMessage.cc | 14 +- src/CheckIntegrityCommand.cc | 2 +- src/ChecksumCommand.cc | 4 +- src/ChunkChecksumValidator.cc | 4 +- src/CopyDiskAdaptor.cc | 3 +- src/DefaultBtAnnounce.cc | 4 +- src/DefaultBtContext.cc | 9 +- src/DefaultBtContext.h | 8 + src/DefaultBtInteractive.cc | 11 +- src/DefaultBtMessageDispatcher.cc | 12 +- src/DefaultBtMessageReceiver.cc | 3 +- src/DefaultBtProgressInfoFile.cc | 2 +- src/DefaultDiskWriter.cc | 2 +- src/DefaultPeerStorage.cc | 3 +- src/DefaultPieceStorage.cc | 13 +- src/DiskAdaptor.cc | 3 +- src/DownloadCommand.cc | 8 +- src/FileAllocationCommand.cc | 4 +- src/FileAllocationDispatcherCommand.cc | 3 +- src/HttpConnection.cc | 2 +- src/HttpResponse.cc | 6 +- src/MetalinkRequestInfo.cc | 9 +- src/MultiUrlRequestInfo.cc | 2 +- src/OptionHandlerFactory.cc | 1 + src/PeerAbstractCommand.cc | 2 +- src/PeerConnection.cc | 6 +- src/PeerInteractionCommand.cc | 4 +- src/PeerListenCommand.cc | 9 +- src/RequestGroup.cc | 6 +- src/RequestGroupMan.cc | 4 +- src/SeedCheckCommand.cc | 3 +- src/SegmentMan.cc | 8 +- src/TorrentRequestInfo.cc | 9 +- src/TrackerUpdateCommand.cc | 2 +- src/TrackerWatcherCommand.cc | 5 +- src/main.cc | 15 +- src/message.h | 71 +++- src/prefs.h | 2 + 49 files changed, 1850 insertions(+), 421 deletions(-) diff --git a/ChangeLog b/ChangeLog index fc496b8f..e20413c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 Fixed the bug that prevents filename in content-disposition from diff --git a/po/aria2c.pot b/po/aria2c.pot index 16815323..94bd775e 100644 --- a/po/aria2c.pot +++ b/po/aria2c.pot @@ -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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/po/de.gmo b/po/de.gmo index 18fd40904e3a32f57255403f237f526cba97e901..b50709ba81a325cce6c63413bed9298759227d7d 100644 GIT binary patch delta 1830 zcmXZcTWl0n9LMqBLZxMk&|IbWE z>%*PFP)^!s;@8N3692a0k{f;-!HHjdq%;*1I3CyIEZmOgup382q%~1#H}wsf(lNY_ zt@z=nRQ*2oQ$O&mREaA`OBbX-hbXM2p>mA03cJyh`2%0a4O!AMx8rws6JNpJY^egT z;d0E%kxKDR?8F1ugyV9ha{LtM72;^+7R7CtY%gH=dSbQ(EyffKjrDlWlWn2*!)q=}5Latc#$qZ_ad$Ke-Y`#CJ5 zegms8i;D@YLl1lqU&MZ7(HcU6qJP5c!^xW`Gy|QwBJ=|5FmQ-Jp|B9Igr-f9UZ!4# zb8%Z(@4=UR9~R=j=#KK4wIfoF9$*VPQiss@C9w#H(0eJHjph{2okafqU>yy9pc7}{ zar6YPp(pSVy|UTFjYX*fNuSpr%6gc#RlS5X#AeD-0980|c z9kO=J!7tGf=nLDgpuYomkxz&+$){6OfH9ndxwsbn7HvjHd~XR~Xy^C@4QvAqqGulA zYvlIA&>AHD>cC9wL%)U>(XZK0=*T=kvZ)wxc6&8?B0DgGja`xSuOjN|O}`jXvNq#n mURrZgeY7hP+nP}nkHr(E@p;K3vAhY<`j*D}%?(?3M)g0^^wX;V delta 1965 zcmXZce@xVM9LMn&mViJia7A7QU(zx$^f-#(3R9v$aw<@5<#Jr|<-B&>)p6ZQv!g#^ z%T-(95B|9IV_6Mb8-zv1RypUeHK(ps|249?jGWb4{9%pte0$&9-90{^_kF*gAMf|) zdsk9}>C8`M*B%hBIG^QwUcE-Lz<>FC@!GaXs>V)Sh67lOui-dOVSb*}UnK3JpDLCP zY-7EFIWJxcq4x9#n0h- z`hVe84De$e4x&x`3EqZ3BAeDck`$FvFZ+E3+Jf5AO4o(9!9mPeir=HrgtMM2{n8rx zJFp)2dHpYOm0gE5SjK8?pk}m;^q@^JgqEqJXxDv*L7Yd+bR7rHO4z-e{M(I#1nhHP{Cv=ljPvk}{n1Fu13(;7kM(idnuyMT#3JzvKcLNkK#R;!mDS)^E6i5^FK?&E-b0bS%Z{E?P!N@7w*6;^47n6 z*~GORY39`9XlG|1mg4(pXJQhIa0c(f-;rdinn62o6NZ>y`)O>zGsrbsdS~t*?S8Zg zUO|$hV`#tsiZ+m+QK^br(5{Q2EiCK#4Kk$W&=yof{cHo>Xz`aZV<|u81!m9&^4*=Q zbt_uR_Mnww1bsM$ma&sqhQFX?V9tw|Qa{e6)**i>>Ow0`3>{2kIUZ^x|MpmYM8Hyh z2Cc?_pzYYtzml!I9WDNhXBH{Hrm-03&>qVLq1@l7n^7<9IaRrcKZ`?r!O3hxxMO5#N8qdJnim`_C4=}Q%=kc z52PHT&Ldr$hi9uIg@Gm~7!1|dO+4mQ_&2p)y}he diff --git a/po/de.po b/po/de.po index 991ef1ef..a75f685a 100644 --- a/po/de.po +++ b/po/de.po @@ -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 \n" "Language-Team: deutsch \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 verfgbar." + +#: 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 untersttztes 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 ausgewhlte Dateien abrufen:" + +#: src/message.h:111 +#, fuzzy +msgid "The download was complete." +msgstr "" +"\n" +"Abruf ist vollstndig. <%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 "Ungltige Teilgre." -#: src/message.h:76 +#: src/message.h:130 #, c-format msgid "Too large chunk. size=%d" msgstr "Teilstck zu gro. Gre=%d" -#: src/message.h:77 +#: src/message.h:131 msgid "Invalid header." msgstr "Ungltige Header-Information." -#: src/message.h:78 +#: src/message.h:132 msgid "Invalid response." msgstr "Ungltige 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 "Dateigre zu gro. Gre=%lld" -#: src/message.h:86 +#: src/message.h:140 #, c-format msgid "Transfer encoding %s is not supported." msgstr "bertragungskodierung %s wird nicht untersttzt." -#: 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 "Grendifferenz %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 auerhalb 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 auflsen, 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 ausgewhlte Dateien abrufen:" - -#: src/DefaultPieceStorage.cc:247 -#, fuzzy -msgid "The download was complete." -msgstr "" -"\n" -"Abruf ist vollstndig. <%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 untersttztes Protokoll: %s\n" - #~ msgid "unrecognized proxy format" #~ msgstr "nicht erkanntes Proxy-Format" diff --git a/po/ja.gmo b/po/ja.gmo index 8ce3b6926b4f84fa002da11fe6f4c91fd318cf17..9d5d4db4886aa96b81f8235587d04437f94039ad 100644 GIT binary patch delta 11226 zcmb`Ld3aRS*}xCrUKACSun3nW5Fi-?2E!JRRas>btL3XQ%-kd+$xJc}gmtJ^sTJGW zt5UaO^iHc1AP^!6YalFP3!+q9L8O9$%V&71eQb;0@4ffVWP;T8k8hsm&F`FZ&ppe# zopZBvY4iHp=FwxV*EzOjgaE-JomC{V-Z^8`t zcQ}yudbCmMn&wK)yg{k8v2#-cTmctVTf}`ufBx1iE2C8o}fRZN!<%k zntBq-&iBCK@H03S_8Ed!;Nl_Je>#QNY3Kl3=Gdx9gQA)7P*z?7MFY=6#!x$<3?Pmo z^#M>O3PTy^X~-tkI;g?Vp^SGmyAsU~f}Norr64MM7>Wj7gEGJ#I1Qe3>e;s`l}mjZ z%!3W&ZXTV<67eMAzF?c8ZD-;c8jj(+u7s|ZR=P8ISw?j6iK85$g9=PcB z@DV5`dIrh>E1~$xhfaG-LPJc}35rRwpd0=ic8A-b_`qM`weU+wK&bCwSBd`&Tz?D= zlcA_=xx>S-5A~n$5QkUUQ0lXxm|{8X1h+v^=`qNF>dM<~r%Z=3(Nrk?mN;AirToeocKQv?d%!4xqjSiUxlR zC8}P6M7rAGw4a74%&)$q&=$5HZ)>0r>_J_Jt>H3=GSrK(6+8tAUG)uQ?J8q}ZK4Pi zA6g1U)h3jQE1@iSAM6It!}hT2MD#B^&7mL@d7#wiLK)x%DDk=)iVy69V(X(&7V-tW z0{#n%GhQ~yW@jk<2SAx$I4y4xP_5h$8m346iAP@?A_a18x3eo6$u zaP%If{=|du&y@Orh7L1O9sE1n7G8B9`JCq+iOD~}<8T`+nW@w}aDdxB6|b9xpHSZe z>)~ALy;hF<~Lp=<8!xq0llk`z83N7JUC=+jm8axZps%nY8C9dbg z0dP5N4c~zHllm*{0tchM;qd2BoO%V6h3|y&{2SN_rl6jCU^a}BL)7mm$jU!}W8kF^ z+gGj$a0vC~P$oJ8yTLw>*gLorcBMWa%EDiOS#Teev*det3(Q$+C$?fJ{Z>Mm@13RS zUl!2pSN1VF5sGRag`&Fkun+tk%1%-qwFevrQ>ib8GoT4&A>!Kjo9YJhp#jBI|Aal^ z4UgGjo&#l}-pA0tOz;d1qLN+CgHFrr6;Fd=U)Sgs3KfjOz{=`32cFZ z2g6oSd}TZoUswp+z^9=sd?maK9*$DzO`*qcc^OWDSHS5o9o`4i;A3zKTo1>=%YJ8H zR;NID|5+&gcR6fu+B-jCC!ldKljmV5{bEi%`X+@zG_?4=t(u{*Gj$#IgAYUTfhyP? z{>^D`Z`cD(gwj4AO8*s5CVCTE<34F$K!(DvY5xtp87_Is(o9s9Q@DkOeXuP&4@bcp zpSHbq2DF?EiYi}#!{7!e6MhTjz23{YfWi^5HT*5S1HSC=bC^NB{~v6Pcwh&K|Hmmv zc)SX;;eOZyws^*#xHl9HOoTVVUqkVkS71AM1h$1=LJeN_tZn0-Q0fz*_=X=!|M^hH ze-gH5eznPY@HP}L{a@GtraWgmVHOk(_@V6V33xku)vJojl#2mjzEhWM=# zna`ovGYcU~)icO1kwM5Si2V8>?^`9MegTP2>o?5dUmOb3#QvQqbVodh51EA||5i|0 zgp5ZFWB?++oybh23nIT)Z6y8{J0)@ODnuMK{+mjnr&U4!A5y4Ba*$0{qa9w73pzXX zt#B8z1(8^f|0Ynl)~P%Oha(-4HpqiW1u_L$i^P9JoWc=5Ne`v?fK&en z2As0s4P-j<1hO9aHPQk(gp5Tl{5?!VbL2(jN#s^!0rD;~5{X)eHHDjzATk(PgWQeC zF9Z1%@(5Cbj6>!iFCpzJDzCn~N7So@bWgzV4Qb(k<}N4*c-&!KOD!nyYP05r^|Vkg zl^W7~A-G8bcwG-N_@Gp; z8g8#mTAeA=Wm;Ke$k4Lf-Gxt!Ns#uHh+jOVkiiH7s__$rbH92xM3b$>WxlrK~i z2>HV7PxIxq`nE@$bwUvqnkBREGByaG>yqMUSIB!9I zAQaZ}#IpH;*(}Fcll5G5v{+yB$tpd1k)!#-#o!(XoEKOIFdi^K{K^$C>zI-1nSUlO`F< z%t0%tM1}E)Na`>N7bkQ=fr5w?3Jg_*KkCV@+A|T27xvD@G`MuG8)bV38TaHr+e^GUpUvNlW>{@i~WrJr2FPbye9dTp6B!Dq^5b(wF2Fr z7tSYc(g~Q{kRHw5 zCWnZv8e_L|4F>;gg4CY&WrbdG^x# zG^c3nZh?Pcn~Y#++V4F(F0ih)O35&3SbCWqo|SH;{x zwavY3e4=lAG)E_{4DWVL~o7)_>9VM3)JTA>)q}j&$b7M24O- zD#tpt?Wn>DoYR+c)aNHoyn(rXOA#FQ*2)S9*>rSY7?A5o$apbl%23g?vs#xn)jk9WC!Gg&Zocq|aXKe6Iw6opgy)Gag4QKrqPqa^D8zz=IvV%+a|13l(Osey zx#w96vR5pY)^#u4taHT5%`PWLXgO$CP2}|gpMUlsZHh#`Od?5*?(x03)TESvc1Ji| z=bMT*B^8BQLeb*@z_h#<7zHq)aFAx!9>A5%{NyV5v z^v3I~ds2aqv%twL#>}BNr1E+w;>owiz?Mu#9+cdgbdfW{LsM@k43G%LN36@6bj2Bs zr-qJi#inH|Tmb13bQ#Bn_G&k+NcXTl%^gMqasUPVx;B041ebByFm14?@D6t$E07zazh_vpb|cqKd5umkchKkVCw(e94;ygF^Z?5)2+Y++IX+?8iyeBgs8<^z z+D;pBbEsFkm8u4@rMnWhw{RrLL13LF5#p1(Rw&??W5}33a#9~Z+6mxued<`T zWdxtLE}t|J0pWlrP+;{h9oZ@S?hB4!rur!-uq?>(X6jxyF6wsl&!Ba5%- zm#Jm;9hBMM@Q%`)O5e@8i|>)|zGZB|G*;%#78U4HfnKJ~XS%vu3@ye{b2r zqvjrSgSpLRXvJNl&P_Y^mslyC&x&7}^|8aHn`6ggwXqGc)3I}A+1?{HmAq8#(k^@= zS8c6)Uq!iDW7cW$!75`PGC-Yq=s;!FcV?Zr&pcxu<8>7~5_^d$xN~b}!_K|yYDcn? z-KOb0ZMq1jR$pKKsg}mN?Ctd8O>0Am7meGBORhW@#+?vUIcgj#+>3XypmBe&d%ltIhqJH|{yYQjXb*Ib5949J8J% zzA1XK+j#692B~3?vZ|HlPIINTJJG16y@t3h4{T-Yta4M`!Nb!OM|tR z4e9ao1WQC?6|rNnbFsbV{@6>gN=$SvvCO2wdkHD2}y+3XN`RiHXAm6wdJ4Aa3zhT^?h-{)hKBp>rRzcn`N=>vD0|m8ne>;oK5|wZ8e_x_9uwp4!1VC1ygX6 zmd5wRDaPR7tm|t&*im6NZ2p_McK3NkJ-hKkpq$;f=Rdz`-`qPS zuI^^p!Bqs}ekTxdRbypwdt+s=Lv-5)1~w%w@ng1N@4BLX&!3araL=|4m1PM}v;y~H z3pOiA9Wv4(+bZVAX05g8eKG^~sWuxDZB{-Qd4J;OeqihN@^uXxJ~hkMm)CEK4}Wnd zeqRFpz*ak1C0=YA#M;4s9jq8+R0jt}tF~-9zpI7>b||sJ{pO+9w;XucEHhuSqIZ*d zE;%^M_f>tu65c=~xc2(DwI+${K;@>h)&iRbw7tXn*jo~P81H3vd^Was(0!!xq_}q! zA&y0Uki=-EjwGM7KNOPh&_DW}a60JXBhdN=h@D{WP0U+mmhC=-yEw5xZuq2hGmca5 z+^Nd>H?qPdH^z-%9!l(!6l*LCwHw}GWzTc5 zO)=ZDmPvMeVt$2z_G^h3%gimLf`(WP`SV=t3lzQA(VVd|{9;rxeeJ2Zt2>D_e!L~- zOqT=x2VWXvF8Xz0HZ)GYr*2Jk;~}M*ETWeowk)r-ywz%_=#vjYlJWuaG1r zDXgM8@@2EMH8|iZj>ZNnI7umvmiCydc!MyDUp``U&l!);yS(l0z2@=i^XBmj&ftot zOEOwSovhj9ptVAk@RE~!PwZvvP_Cu1zOT$v=Gp4E2-ywQN6O!odqP#|mNzW>h&dH^ z7)f>8V}It&H5{fNS$7&mGTDtKx5cV$FKUd;Uc9i)EaQV+{&gweGZ#JjS&>n*VAQ=$ zhA!K&sxh-PeX{om&l-LCzxc*!v2fyeM;AM>OyhmbzOE&^W5b5SoLdQXU;K+_(!%?0 z4_co*i4E1)9!wrsE=Rb|1>Zk%z+KR4ytZ&gyDws^#STP9b!;2DlzWer*NoDZ@0lpG4&F+X4#h48V^RJ^Wq_f_n~e-OOAK@>~yL4r%`+pR^m^5JIO`e z{wzvuso79BHwZv^S;W)juD4-=^8_AlWs(${n;Q{N3IMWd%tte-OkQ%HvCFESigVkDO1L~O-bej?Yge>W-y zigdt$!6MhFzlJ@rcBt)vK#>{|uQUaToZ-fP!$h{=k5J3e!6KLO1}?-pzWN$|h>Nj4 zL?j(=VKGLG5SfonxLfP70dwfpSw8$1d_=inw8%rO2^C4;`%+|yBvWx7)9?X4hjC#d zeR;4FQz^d~F7i{nj%C!>j}h5U`O65AczRsHaGaq0gRzVvW9b7?1Qp_Mlf=dX^0DkdKh*5x*%S<1h#rElEN;CF?N=_hS^EL|p^du^AsA zgCX9jBDr`5pFx>sKNo;ZyM$o^&X~sdGksD`#VBk>rcExPw(ysz4Sa-*wv43PdOZ=D zK3VOQcOc6|TAlh1WKiWp)T#V0F2Z<*i9X5!)P{CVXa2P(cd1y1y=RCF#zGu~HI9dn z>64SF5B?0bXAhBCkuOji968foglRa7a--wVk=c~)R5Bd^LJLFfm@qfSK*>U~?0(U$L^&h76|N9s$|=OSm@_ot&ad=u&i4Qd0fqITT-8JWjq zLgv^X>O0pSfp`q2J`?rE0vv*eZ~&e{22DCpN9sPZ!{k3W6o)bH+K>szQ6NiE@5{s9 zScSabE4!QvM=^v8=N;cg9ho~$xfd%&%i*{h7a|K=zKgmxZs7=gf;#uXiFVJE@q9Ot z&8Qy^WKU|xM&oGR|1-$woMxl;v<9^&r?DSi#UA(p>Vv<=eQdJ_xP@~0Jp1{-qV~A| ze7gbDFqZOKoX`D-@hiN!K;#_tH@_kB2i^a>INk7vtZD`_H1juw#wLPcU|^ND1|i@DSxS>-i`{|2M3r zyf2T@#{Xe5#^v*PEt#$P_DS^w6DZGhvru@^PGm6TZh?JrP1?xEsIOM3k1n#0;M=&D za`qvMdv~f z#z%V?k2*(1xJ$3&5FB5{%P;}8$LXl6-i_L@2JDWnqc-eK)P~)|B{*=4{pWlGrs?u| zg^WJ& zKj^Dx{yWI%2mXwlo)Wm-{$sHiA5(6}N!VOtAE|F+IOV&jAN1eBX@@gVM`#h!Gs(k= zcoC!V_o!3pzte7D6b{$zlSjtFov1^5LNDM248eDu@*UI@@ZUHK!-lD zRyg^u+2>^DpstG(PFY7z7oMi+#J7n!Es&1zec>$drEl`9!>Vbi&C}m{at(x@YFR`h zp^I`fF^V`yOe0vUPt#FyK~8Blu6ObSP}hwn{l4$d>2sPPjkNLo*73W7I85v&^d!@C zoM3lJ4xu|o(<*|U=}WqZHH{&L69ctC%D3_T7TbBRZ_6E`u!dMiY#@?}7l|SwjL=pN zBK(QdL^IKiNF-W_zC=GllkONz{fXy^orG@3y~IjF(^?{iXw^3_B4ZKH67z^$Lbr+T zfN(++Ti2IL_;ow^Jy=dGcFG=HNGu_GIdv(H&p6J+04F~J59q_X7dc&hrtoE5%t#ZTwZJrIjSXI2=(h4b)uqKASH4y4s<84rC1u6#%Fc<4X8N11Wf^G| zu8r<^E3(4M^^{c>c}gqRSSyxhSTQj%0g~@>mv~C80#{M7J74lWrS1T!D0Al(6>PIy zl~%FaRZ(eCt52By%U|d{d6qS0O8nGV^A!_dx$ZOi;kdwZeDJ{3Ofy;EIhKRNr^Yd^ex>C7*> T-hA&j^6I4\n" "Language-Team: Japanese \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 " diff --git a/po/ru.gmo b/po/ru.gmo index 1eb3f5b7d8a03f6280ba52135132e9efb13e423b..eb99897ddca996badf53ef8ef8ebbe989cd1e53c 100644 GIT binary patch delta 2614 zcmYk;drVhl9LMqRPcGsQFa;4&uKu`}3X)Qkf;S*FFcB2RwBn{BNCZaBeojlwE~}gc zf9PMdwUtw3M3<#bU7O7|m~Pr-MsAcf+j3oHM@Y z_H@7F@n4S$K4O%1BA&PqWOfvrCUT&ROfpNs?=cR8yk=>bfOBve_F*fAddz&`j@c1r z&vQOE(ySMcV+XFC?6fc9pqbyA?=f4+h4d+A1K5gdFk`CODts23@B$WNZj@P}&SNQl zgp1J=ZMGbX@GQQB_hIog9unJd2@c{4{2L1x-wI>Q4shZ*Y(~#?I>BAI5c}NrP1meg zCnMXjgzK;3Y`lUR@K2nJsWZ$N!zwTl8!-dBkgn_mrZK*KPUS7Ug{kN#&zrCp$-3E0 z=LcTo87&2sfqYEB-8c)6U=sGZ?O~)#`^7yU%1z2tI+kM{`g5raP|?6YVmd~!5y-0L zAz8O#)b$Oh2ik*L`!3YX2T)6M4IjiLo=R5Zy?7Y&@QmC34V8(cMDm|arG)&bqo+}u z>j-LqPmw?SiG%J7V|w#3549=lQ7J!&`rQEP{%^Ebd z*a=Rs5A8f^#+Q-F*eGfZComfO(qd89GcgPcP#rCE&(|Q?wr1CtQ8Vqu9K3`+yo)5; zQv6Iii^?L@6E~nbegoBU4{AoIP)jh3TB1Kt512r2Ay|MnJZxN?N83j_l$i?DzN;fHvJyx+hM@)*K>)%4m*dkgEM-wopnw8z-; zhp>~;doY+$_uw%s!}wgYt+)f%;w5a*`=7*uCeTqA>cYG1l;!xB>!SP3w$a{)m3Rw} z8thn8)loY zf%E07LB_HU{0Be4)%YGaU&cE)881HUr2ZOe$wC&H?Zj-bmEw6ToxM_s z{M0&8_nkv-vAd`Vm8^0ej!qcYX_zP+TnT~Gl_CSZ_-YJ&x<7!Dh)b#*EQB9*S73#ZffaI^_Is4w=~yz49!#!F2hD)wHS8<+A$2HnsKs{GP|o`2Jq!oZs`D=RD_p&yOAN zMV#3Y5&R`C@?E2>BOWC#bTRuBw|3`)5+7}rf(e*_lQ0cS@iA<{{kR9aMVM8@crNY9 zcl6iwGW!g#;ac3%+iOSkF*{-wwB1x@@kM2`nKEmYt)-w#<3X5 zTc+YTWYMiWNM!_-HK-YXh#L5N)WDsnH@bz|f++6R7L7(tuoO92whFuA2Go6<@M;9( z;TYN*Ssty_0n|i(#fcbTO2FJU~6%41cq80oTCFaeJv&$Nqp4`aA!4t9US>_=RPy)olSZ|NtXwy*|Q;Om&q z^X)Db?MZUJ8I!bmsP<+Yj7L#PbOCGeK5oP60`HgeFXYdjEHrxx*P|YE7E|yJvd9)U z*-P>wETX*-gS@=$q_PChV{w6~#hWfwApUGl$AnaxR~y$JO}yMt7eOuwOK^Z>ObeaWNQ!2x`9Bebk*31uvkwdaXuLX#Ot z=xtPL@y$q&{jMw91?qu&~|A{3J4W)G+eapQ9A!4{EqIvBT-qZ zOfT{Kgz}=6;1Gm=@gQ8f@HyA7FYxV;%LyeNr#rmGD{&#Ql!zfJ2t7ZXV5;lvK0*v5 z970D)$4;575=kiO))7MpWwuHK(KTH2{yC|dKXzyR@2lNh_=-$1J!l4FFRGuPD7w-b+bdSQ#yan z+Xbo1dW_9=va|DYvJQTk`crysN9Sg@-QDjVbK4yEkQ;JOxE=0Ex6RxmZkv0+4Rvnd yiV$5L(boB@u5%B&?VTIlkmH_mI~?~|=LY(Yaz)5J>To}|=*td\n" "Language-Team: \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 "неизвестный формат прокси" diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc index ef03bc31..af49291f 100644 --- a/src/AbstractCommand.cc +++ b/src/AbstractCommand.cc @@ -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; diff --git a/src/AbstractDiskWriter.cc b/src/AbstractDiskWriter.cc index b6deb2b5..12ba4480 100644 --- a/src/AbstractDiskWriter.cc +++ b/src/AbstractDiskWriter.cc @@ -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); diff --git a/src/ActivePeerConnectionCommand.cc b/src/ActivePeerConnectionCommand.cc index ff8b5d11..d85b1225 100644 --- a/src/ActivePeerConnectionCommand.cc +++ b/src/ActivePeerConnectionCommand.cc @@ -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()); } diff --git a/src/BtPieceMessage.cc b/src/BtPieceMessage.cc index 88ee4e4d..dc6c8b8d 100644 --- a/src/BtPieceMessage.cc +++ b/src/BtPieceMessage.cc @@ -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, diff --git a/src/CheckIntegrityCommand.cc b/src/CheckIntegrityCommand.cc index bd8354a8..5b1231cd 100644 --- a/src/CheckIntegrityCommand.cc +++ b/src/CheckIntegrityCommand.cc @@ -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 diff --git a/src/ChecksumCommand.cc b/src/ChecksumCommand.cc index dcfdc0bb..0d2166c4 100644 --- a/src/ChecksumCommand.cc +++ b/src/ChecksumCommand.cc @@ -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. diff --git a/src/ChunkChecksumValidator.cc b/src/ChunkChecksumValidator.cc index ee0d537f..0d69bc59 100644 --- a/src/ChunkChecksumValidator.cc +++ b/src/ChunkChecksumValidator.cc @@ -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); diff --git a/src/CopyDiskAdaptor.cc b/src/CopyDiskAdaptor.cc index 24322531..1cc92bfb 100644 --- a/src/CopyDiskAdaptor.cc +++ b/src/CopyDiskAdaptor.cc @@ -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); diff --git a/src/DefaultBtAnnounce.cc b/src/DefaultBtAnnounce.cc index d7b4af86..fd286af4 100644 --- a/src/DefaultBtAnnounce.cc +++ b/src/DefaultBtAnnounce.cc @@ -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); } } diff --git a/src/DefaultBtContext.cc b/src/DefaultBtContext.cc index 85ab7db1..b5f3ad28 100644 --- a/src/DefaultBtContext.cc +++ b/src/DefaultBtContext.cc @@ -42,13 +42,16 @@ #include "Util.h" #include -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; } diff --git a/src/DefaultBtContext.h b/src/DefaultBtContext.h index 49ce7d9d..7a2c6811 100644 --- a/src/DefaultBtContext.h +++ b/src/DefaultBtContext.h @@ -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 DefaultBtContextHandle; + #endif // _D_DEFAULT_BT_CONTEXT_H_ diff --git a/src/DefaultBtInteractive.cc b/src/DefaultBtInteractive.cc index 714f9630..4b0246ee 100644 --- a/src/DefaultBtInteractive.cc +++ b/src/DefaultBtInteractive.cc @@ -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); } } diff --git a/src/DefaultBtMessageDispatcher.cc b/src/DefaultBtMessageDispatcher.cc index b7e8f3f8..98744ecc 100644 --- a/src/DefaultBtMessageDispatcher.cc +++ b/src/DefaultBtMessageDispatcher.cc @@ -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(), diff --git a/src/DefaultBtMessageReceiver.cc b/src/DefaultBtMessageReceiver.cc index 64f0d428..6899e155 100644 --- a/src/DefaultBtMessageReceiver.cc +++ b/src/DefaultBtMessageReceiver.cc @@ -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 diff --git a/src/DefaultBtProgressInfoFile.cc b/src/DefaultBtProgressInfoFile.cc index 74c3cabb..f0286c52 100644 --- a/src/DefaultBtProgressInfoFile.cc +++ b/src/DefaultBtProgressInfoFile.cc @@ -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)); diff --git a/src/DefaultDiskWriter.cc b/src/DefaultDiskWriter.cc index 0fbd83f6..c07095ce 100644 --- a/src/DefaultDiskWriter.cc +++ b/src/DefaultDiskWriter.cc @@ -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); diff --git a/src/DefaultPeerStorage.cc b/src/DefaultPeerStorage.cc index 9339ff84..5a18bf82 100644 --- a/src/DefaultPeerStorage.cc +++ b/src/DefaultPeerStorage.cc @@ -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); } } diff --git a/src/DefaultPieceStorage.cc b/src/DefaultPieceStorage.cc index a282af99..143b671d 100644 --- a/src/DefaultPieceStorage.cc +++ b/src/DefaultPieceStorage.cc @@ -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); diff --git a/src/DiskAdaptor.cc b/src/DiskAdaptor.cc index 7e166ad4..4aa59c54 100644 --- a/src/DiskAdaptor.cc +++ b/src/DiskAdaptor.cc @@ -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) { diff --git a/src/DownloadCommand.cc b/src/DownloadCommand.cc index 9c8c2a83..59b6cff1 100644 --- a/src/DownloadCommand.cc +++ b/src/DownloadCommand.cc @@ -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) { diff --git a/src/FileAllocationCommand.cc b/src/FileAllocationCommand.cc index 6634165f..fed1c2a8 100644 --- a/src/FileAllocationCommand.cc +++ b/src/FileAllocationCommand.cc @@ -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; diff --git a/src/FileAllocationDispatcherCommand.cc b/src/FileAllocationDispatcherCommand.cc index 796df489..8f328bbf 100644 --- a/src/FileAllocationDispatcherCommand.cc +++ b/src/FileAllocationDispatcherCommand.cc @@ -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(), diff --git a/src/HttpConnection.cc b/src/HttpConnection.cc index 7f93bb26..bc989cde 100644 --- a/src/HttpConnection.cc +++ b/src/HttpConnection.cc @@ -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(); diff --git a/src/HttpResponse.cc b/src/HttpResponse.cc index e11c108c..7e16039e 100644 --- a/src/HttpResponse.cc +++ b/src/HttpResponse.cc @@ -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); } diff --git a/src/MetalinkRequestInfo.cc b/src/MetalinkRequestInfo.cc index 740d4e03..af991a0a 100644 --- a/src/MetalinkRequestInfo.cc +++ b/src/MetalinkRequestInfo.cc @@ -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; } diff --git a/src/MultiUrlRequestInfo.cc b/src/MultiUrlRequestInfo.cc index ced6c0d8..99a08f17 100644 --- a/src/MultiUrlRequestInfo.cc +++ b/src/MultiUrlRequestInfo.cc @@ -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; } diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc index e6726ae3..bdb06c34 100644 --- a/src/OptionHandlerFactory.cc +++ b/src/OptionHandlerFactory.cc @@ -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; } diff --git a/src/PeerAbstractCommand.cc b/src/PeerAbstractCommand.cc index 8acd1985..0fdf317e 100644 --- a/src/PeerAbstractCommand.cc +++ b/src/PeerAbstractCommand.cc @@ -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; diff --git a/src/PeerConnection.cc b/src/PeerConnection.cc index ca68cd04..137bf383 100644 --- a/src/PeerConnection.cc +++ b/src/PeerConnection.cc @@ -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; diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc index d1476cd4..9ed21cf7 100644 --- a/src/PeerInteractionCommand.cc +++ b/src/PeerInteractionCommand.cc @@ -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() { diff --git a/src/PeerListenCommand.cc b/src/PeerListenCommand.cc index 92dd04bc..1eab4818 100644 --- a/src/PeerListenCommand.cc +++ b/src/PeerListenCommand.cc @@ -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; } } diff --git a/src/RequestGroup.cc b/src/RequestGroup.cc index 89141a46..0e886d73 100644 --- a/src/RequestGroup.cc +++ b/src/RequestGroup.cc @@ -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()); diff --git a/src/RequestGroupMan.cc b/src/RequestGroupMan.cc index 5184f865..b1b87713 100644 --- a/src/RequestGroupMan.cc +++ b/src/RequestGroupMan.cc @@ -34,6 +34,7 @@ /* copyright --> */ #include "RequestGroupMan.h" #include "DownloadEngine.h" +#include "message.h" #include 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(); diff --git a/src/SeedCheckCommand.cc b/src/SeedCheckCommand.cc index ae869724..b419738c 100644 --- a/src/SeedCheckCommand.cc +++ b/src/SeedCheckCommand.cc @@ -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); } } diff --git a/src/SegmentMan.cc b/src/SegmentMan.cc index 15db29ee..0664fe81 100644 --- a/src/SegmentMan.cc +++ b/src/SegmentMan.cc @@ -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, diff --git a/src/TorrentRequestInfo.cc b/src/TorrentRequestInfo.cc index d37d45e8..0d71d625 100644 --- a/src/TorrentRequestInfo.cc +++ b/src/TorrentRequestInfo.cc @@ -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; } diff --git a/src/TrackerUpdateCommand.cc b/src/TrackerUpdateCommand.cc index bd124488..a0382ebe 100644 --- a/src/TrackerUpdateCommand.cc +++ b/src/TrackerUpdateCommand.cc @@ -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; } diff --git a/src/TrackerWatcherCommand.cc b/src/TrackerWatcherCommand.cc index 35df1ff8..49ebc899 100644 --- a/src/TrackerWatcherCommand.cc +++ b/src/TrackerWatcherCommand.cc @@ -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(); } diff --git a/src/main.cc b/src/main.cc index 56ddb359..3f6a59b2 100644 --- a/src/main.cc +++ b/src/main.cc @@ -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); } diff --git a/src/message.h b/src/message.h index 19d79e0f..23aeacc2 100644 --- a/src/message.h +++ b/src/message.h @@ -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_ diff --git a/src/prefs.h b/src/prefs.h index b1f7d1a8..870cad13 100644 --- a/src/prefs.h +++ b/src/prefs.h @@ -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