replace error message from aria2 with the message converted from aria2 error code

This commit is contained in:
MaysWind 2016-10-30 20:24:54 +08:00
parent d566cee8d6
commit a419db0125
6 changed files with 220 additions and 36 deletions

View file

@ -296,6 +296,7 @@
<script src="scripts/config/languages.js"></script>
<script src="scripts/config/defaultLanguage.js"></script>
<script src="scripts/config/aria2Options.js"></script>
<script src="scripts/config/aria2Errors.js"></script>
<script src="scripts/config/aria2RpcConstants.js"></script>
<script src="scripts/controllers/command.js"></script>
<script src="scripts/controllers/main.js"></script>

View file

@ -157,6 +157,38 @@ Input number is above max value!=输入的数字大于最大值 {{value}} !
Input value is invalid!=输入的内容无效!
Tap to configure and get started with AriaNg.=您还没有进行过设置, 点击这里进行设置.
[error]
unknown=未知错误.
operation.timeout=操作超时.
resource.notfound=无法找到指定资源.
error.resource.notfound.max-file-not-found=无法找到指定资源. 参见 --max-file-not-found option 参数.
error.download.aborted.lowest-speed-limit=由于下载速度过慢, 下载已经终止. 参见 --lowest-speed-limit option 参数.
error.network.problem=网络问题.
resume.notsupported=服务器不支持断点续传.
space.notenough=可用磁盘空间不足.
piece.length.different=分片大小与 .aria2 控制文件中的不同. 参见 --allow-piece-length-change 参数.
download.sametime=aria2 已经下载了另一个相同文件.
download.torrent.sametime=aria2 已经下载了另一个相同哈希的种子文件.
file.exists=文件已经存在. 参见 --allow-overwrite 参数.
file.rename.failed=文件重命名失败. 参见 --auto-file-renaming 参数.
file.open.failed=文件打开失败.
file.create.failed=文件创建或删除已有文件失败.
io.error=文件系统出错.
directory.create.failed=无法创建指定目录.
name.resolution.failed=域名解析失败.
metalink.file.parse.failed=解析 Metalink 文件失败.
ftp.command.failed=FTP 命令执行失败.
http.response.header.bad=HTTP 返回头无效或无法识别.
redirects.toomany=指定地址重定向过多.
http.authorization.failed=HTTP 认证失败.
bencoded.file.parse.failed=解析种子文件失败.
torrent.file.corrupted=指定 ".torrent" 种子文件已经损坏或缺少 aria2 需要的信息.
magnet.uri.bad=指定磁链地址无效.
option.bad=设置错误.
server.overload=远程服务器繁忙, 无法处理当前请求.
rpc.request.parse.failed=处理 RPC 请求失败.
checksum.failed=文件校验失败.
[format]
longdate=YYYY年MM月DD日 HH:mm:ss
time.millisecond={{value}} 毫秒
@ -203,7 +235,7 @@ random=随机
dir.name=下载路径
dir.description=
log.name=日志文件
log.description=日志文件的路径. 如果设置为 \"-\", 日志则写入到 stdout. 如果设置为空字符串(\"\"), 日志将不会记录到磁盘上.
log.description=日志文件的路径. 如果设置为 "-", 日志则写入到 stdout. 如果设置为空字符串(""), 日志将不会记录到磁盘上.
max-concurrent-downloads.name=最大同时下载数
max-concurrent-downloads.description=
check-integrity.name=检查完整性
@ -211,7 +243,7 @@ check-integrity.description=通过对文件的每个分块或整个文件进行
continue.name=断点续传
continue.description=继续下载部分完成的文件. 启用此选项可以继续下载从浏览器或其他程序按顺序下载的文件. 此选项目前只支持 HTTP(S)/FTP 下载的文件.
all-proxy.name=代理服务器
all-proxy.description=设置所有协议的代理服务器地址. 如果覆盖之前设置的代理服务器, 使用 \"\" 即可. 您还可以针对特定的协议覆盖此选项, 即使用 --http-proxy, --https-proxy 和 --ftp-proxy 选项. 此设置将会影响所有下载. 代理服务器地址的格式为 [http://][USER:PASSWORD@]HOST[:PORT].
all-proxy.description=设置所有协议的代理服务器地址. 如果覆盖之前设置的代理服务器, 使用 "" 即可. 您还可以针对特定的协议覆盖此选项, 即使用 --http-proxy, --https-proxy 和 --ftp-proxy 选项. 此设置将会影响所有下载. 代理服务器地址的格式为 [http://][USER:PASSWORD@]HOST[:PORT].
all-proxy-user.name=代理服务器用户名
all-proxy-user.description=
all-proxy-passwd.name=代理服务器密码
@ -219,13 +251,13 @@ all-proxy-passwd.description=
connect-timeout.name=连接超时时间
connect-timeout.description=设置建立 HTTP/FTP/代理服务器 连接的超时时间(秒). 当连接建立后, 此选项不再生效, 请使用 --timeout 选项.
dry-run.name=模拟运行
dry-run.description=如果设置为\"是\", aria2 将仅检查远程文件是否存在而不会下载文件内容. 此选项仅对 HTTP/FTP 下载生效. 如果设置为 true, BT 下载将会直接取消.
dry-run.description=如果设置为"是", aria2 将仅检查远程文件是否存在而不会下载文件内容. 此选项仅对 HTTP/FTP 下载生效. 如果设置为 true, BT 下载将会直接取消.
lowest-speed-limit.name=最小速度限制
lowest-speed-limit.description=当下载速度低于此选项设置的值(B/s) 时将会关闭连接. 0 表示不设置最小速度限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 此选项不会影响 BT 下载.
max-connection-per-server.name=单服务器最大连接数
max-connection-per-server.description=
max-file-not-found.name=文件未找到重试次数
max-file-not-found.description=如果 aria2 从远程 HTTP/FTP 服务器收到 \"文件未找到\" 的状态超过此选项设置的次数后下载将会失败. 设置为 0 将会禁用此选项. 此选项仅影响 HTTP/FTP 服务器. 重试时同时会记录重试次数, 所以也需要设置 --max-tries 这个选项.
max-file-not-found.description=如果 aria2 从远程 HTTP/FTP 服务器收到 "文件未找到" 的状态超过此选项设置的次数后下载将会失败. 设置为 0 将会禁用此选项. 此选项仅影响 HTTP/FTP 服务器. 重试时同时会记录重试次数, 所以也需要设置 --max-tries 这个选项.
max-tries.name=最大尝试次数
max-tries.description=设置最大尝试次数. 0 表示不限制.
min-split-size.name=最小文件分片大小
@ -251,19 +283,19 @@ server-stat-timeout.description=指定服务器状态的过期时间 (单位为
split.name=单任务连接数
split.description=下载时使用 N 个连接. 如果提供超过 N 个 URI 地址, 则使用前 N 个地址, 剩余的地址将作为备用. 如果提供的 URI 地址不足 N 个, 这些地址多次使用以保证同时建立 N 个连接. 同一服务器的连接数会被 --max-connection-per-server 选项限制.
stream-piece-selector.name=分片选择算法
stream-piece-selector.description=指定 HTTP/FTP 下载使用的分片选择算法. 分片表示的是并行下载时固定长度的分隔段. 如果设置为\"默认\", aria2 将会按减少建立连接数选择分片. 由于建立连接操作的成本较高, 因此这是合理的默认行为. 如果设置为\"顺序\", aria2 将选择索引最小的分片. 索引为 0 时表示为文件的第一个分片. 这将有助于视频的边下边播. --enable-http-pipelining 选项有助于减少重连接的开销. 请注意, aria2 依赖于 --min-split-size 选项, 所以有必要对 --min-split-size 选项设置一个合理的值. 如果设置为\"随机\", aria2 将随机选择一个分片. 就像\"顺序\"一样, 依赖于 --min-split-size 选项. 如果设置为\"几何\", aria2 会先选择索引最小的分片, 然后会为之前选择的分片保留指数增长的空间. 这将减少建立连接的次数, 同时文件开始部分将会先行下载. 这也有助于视频的边下边播.
stream-piece-selector.description=指定 HTTP/FTP 下载使用的分片选择算法. 分片表示的是并行下载时固定长度的分隔段. 如果设置为"默认", aria2 将会按减少建立连接数选择分片. 由于建立连接操作的成本较高, 因此这是合理的默认行为. 如果设置为"顺序", aria2 将选择索引最小的分片. 索引为 0 时表示为文件的第一个分片. 这将有助于视频的边下边播. --enable-http-pipelining 选项有助于减少重连接的开销. 请注意, aria2 依赖于 --min-split-size 选项, 所以有必要对 --min-split-size 选项设置一个合理的值. 如果设置为"随机", aria2 将随机选择一个分片. 就像"顺序"一样, 依赖于 --min-split-size 选项. 如果设置为"几何", aria2 会先选择索引最小的分片, 然后会为之前选择的分片保留指数增长的空间. 这将减少建立连接的次数, 同时文件开始部分将会先行下载. 这也有助于视频的边下边播.
timeout.name=超时时间
timeout.description=
uri-selector.name=URI 选择算法
uri-selector.description=指定 URI 选择的算法. 可选的值包括 \"按顺序\", \"反馈\" 和 \"自适应\". 如果设置为\"按顺序\", URI 将按列表中出现的顺序使用. 如果设置为\"反馈\", aria2 将根据之前的下载速度选择 URI 列表中下载速度最快的服务器. 同时也将有效跳过无效镜像. 之前统计的下载速度将作为服务器状态文件的一部分, 参见 --server-stat-of 和 --server-stat-if 选项. 如果设置为\"自适应\", 将从最好的镜像和保留的连接里选择一项. 补充说明, 其返回的镜像没有被测试过, 同时如果每个镜像都已经被测试过时, 返回的镜像还会被重新测试. 否则, 其将不会选择其他镜像. 例如\"反馈\", 其使用服务器状态文件.
uri-selector.description=指定 URI 选择的算法. 可选的值包括 "按顺序", "反馈" 和 "自适应". 如果设置为"按顺序", URI 将按列表中出现的顺序使用. 如果设置为"反馈", aria2 将根据之前的下载速度选择 URI 列表中下载速度最快的服务器. 同时也将有效跳过无效镜像. 之前统计的下载速度将作为服务器状态文件的一部分, 参见 --server-stat-of 和 --server-stat-if 选项. 如果设置为"自适应", 将从最好的镜像和保留的连接里选择一项. 补充说明, 其返回的镜像没有被测试过, 同时如果每个镜像都已经被测试过时, 返回的镜像还会被重新测试. 否则, 其将不会选择其他镜像. 例如"反馈", 其使用服务器状态文件.
check-certificate.name=检查证书
check-certificate.description=
http-accept-gzip.name=支持 GZip
http-accept-gzip.description=如果远程服务器的响应头中包含 Content-Encoding: gzip 或 Content-Encoding: deflate , 将发送包含 Accept: deflate, gzip 的请求头并解压缩响应.
http-auth-challenge.name=认证质询
http-auth-challenge.description=仅当服务器需要时才发送 HTTP 认证请求头. 如果设置为\"否\", 每次都会发送认证请求头. 例外: 如果用户名和密码包含在 URI 中, 将忽略此选项并且每次都会发送认证请求头.
http-auth-challenge.description=仅当服务器需要时才发送 HTTP 认证请求头. 如果设置为"否", 每次都会发送认证请求头. 例外: 如果用户名和密码包含在 URI 中, 将忽略此选项并且每次都会发送认证请求头.
http-no-cache.name=禁用缓存
http-no-cache.description=发送的请求头中将包含 Cache-Control: no-cache 和 Pragma: no-cache header 以避免内容被缓存. 如果设置为\"否\", 上述请求头将不会发送, 同时您也可以使用 --header 选项将 Cache-Control 请求头添加进去.
http-no-cache.description=发送的请求头中将包含 Cache-Control: no-cache 和 Pragma: no-cache header 以避免内容被缓存. 如果设置为"否", 上述请求头将不会发送, 同时您也可以使用 --header 选项将 Cache-Control 请求头添加进去.
http-user.name=HTTP 默认用户名
http-user.description=
http-passwd.name=HTTP 默认密码
@ -299,7 +331,7 @@ ftp-user.description=
ftp-passwd.name=FTP 默认密码
ftp-passwd.description=如果 URI 中包含用户名单不包含密码, aria2 首先会从 .netrc 文件中获取密码. 如果在 .netrc 文件中找到密码, 则使用该密码. 否则, 使用此选项设置的密码.
ftp-pasv.name=被动模式
ftp-pasv.description=在 FTP 中使用被动模式. 如果设置为\"否\", 则使用主动模式. 此选项不适用于 SFTP 传输.
ftp-pasv.description=在 FTP 中使用被动模式. 如果设置为"否", 则使用主动模式. 此选项不适用于 SFTP 传输.
ftp-proxy.name=FTP 代理服务器
ftp-proxy.description=
ftp-proxy-user.name=FTP 代理服务器用户名
@ -315,7 +347,7 @@ ssh-host-key-md.description=设置 SSH 主机公钥的校验和. TYPE 为哈希
bt-detach-seed-only.name=分离仅做种任务
bt-detach-seed-only.description=统计当前活动下载任务(参见 -j 选项) 时排除仅做种的任务. 这意味着, 如果参数设置为 -j3, 此选项打开并且当前有 3 个正在活动的任务, 并且其中有 1 个进入做种模式, 那么其会从正在下载的数量中排除(即数量会变为 2), 在队列中等待的下一个任务将会开始执行. 但要知道, 在 RPC 方法中, 做种的任务仍然被认为是活动的下载任务.
bt-enable-hook-after-hash-check.name=启用哈希检查完成事件
bt-enable-hook-after-hash-check.description=允许 BT 下载哈希检查(参见 -V 选项) 完成后调用命令. 默认情况下, 当哈希检查成功后, 通过 --on-bt-download-complete 设置的命令将会被执行. 如果要禁用此行为, 请设置为\"否\".
bt-enable-hook-after-hash-check.description=允许 BT 下载哈希检查(参见 -V 选项) 完成后调用命令. 默认情况下, 当哈希检查成功后, 通过 --on-bt-download-complete 设置的命令将会被执行. 如果要禁用此行为, 请设置为"否".
bt-enable-lpd.name=启用本地节点发现 (LPD)
bt-enable-lpd.description=
bt-exclude-tracker.name=BT 排除服务器地址
@ -323,9 +355,9 @@ bt-exclude-tracker.description=逗号分隔的 BT 排除服务器地址. 您可
bt-external-ip.name=外部 IP 地址
bt-external-ip.description=指定用来报告给 BT 服务器的外部 IP 地址. 虽然这个方法叫外部, 但其可以接受各种类型的 IP 地址. IP 地址需要使用数字类型的地址.
bt-force-encryption.name=强制加密
bt-force-encryption.description=BT 消息中的内容需要使用 arc4 加密. 此选项是设置 --bt-require-crypto --bt-min-crypto-level=arc4 这两个选项的快捷方式. 此选项不会修改上述两个选项的内容. 如果设置为\"是\", 将拒绝以前的 BT 握手, 并仅使用模糊握手及加密消息.
bt-force-encryption.description=BT 消息中的内容需要使用 arc4 加密. 此选项是设置 --bt-require-crypto --bt-min-crypto-level=arc4 这两个选项的快捷方式. 此选项不会修改上述两个选项的内容. 如果设置为"是", 将拒绝以前的 BT 握手, 并仅使用模糊握手及加密消息.
bt-hash-check-seed.name=做种前检查文件哈希
bt-hash-check-seed.description=如果设置为\"是\", 当使用 --check-integrity 选项完成哈希检查及文件完成后才继续做种. 如果您希望仅当文件损坏或未完成时检查文件, 请设置为\"否\". 此选项仅对 BT 下载有效
bt-hash-check-seed.description=如果设置为"是", 当使用 --check-integrity 选项完成哈希检查及文件完成后才继续做种. 如果您希望仅当文件损坏或未完成时检查文件, 请设置为"否". 此选项仅对 BT 下载有效
bt-max-open-files.name=最多打开文件数
bt-max-open-files.description=设置 BT/Metalink 下载全局打开的最大文件数.
bt-max-peers.name=最大连接节点数
@ -339,11 +371,11 @@ bt-prioritize-piece.description=尝试先下载每个文件开头或结尾的分
bt-remove-unselected-file.name=删除未选择的文件
bt-remove-unselected-file.description=当 BT 任务完成后删除未选择的文件. 要选择需要下载的文件, 请使用 --select-file 选项. 如果没有选择, 则所有文件都默认为需要下载. 此选项会从磁盘上直接删除文件, 请谨慎使用此选项.
bt-require-crypto.name=需要加密
bt-require-crypto.description=如果设置为\"是\", aria 将不会接受以前的 BitTorrent 握手协议(\\19BitTorrent 协议)并建立连接. 因此 aria2 总是模糊握手.
bt-require-crypto.description=如果设置为"是", aria 将不会接受以前的 BitTorrent 握手协议(\\19BitTorrent 协议)并建立连接. 因此 aria2 总是模糊握手.
bt-request-peer-speed-limit.name=期望下载速度
bt-request-peer-speed-limit.description=如果一个 BT 下载的整体下载速度低于此选项设置的值, aria2 会临时提高连接数以提高下载速度. 在某些情况下, 设置期望下载速度可以提高您的下载速度. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
bt-save-metadata.name=保存种子文件
bt-save-metadata.description=保存种子文件为 \".torrent\" 文件. 此选项仅对磁链生效. 文件名为十六进制编码后的哈希值及 \".torrent\"后缀. 保存的目录与下载文件的目录相同. 如果相同的文件已存在, 种子文件将不会保存.
bt-save-metadata.description=保存种子文件为 ".torrent" 文件. 此选项仅对磁链生效. 文件名为十六进制编码后的哈希值及 ".torrent"后缀. 保存的目录与下载文件的目录相同. 如果相同的文件已存在, 种子文件将不会保存.
bt-seed-unverified.name=不检查已经下载的文件
bt-seed-unverified.description=不检查之前下载文件中每个分片的哈希值.
bt-stop-timeout.name=无速度时自动停止时间
@ -361,19 +393,19 @@ dht-file-path.description=修改 IPv4 DHT 路由表文件路径.
dht-file-path6.name=DHT (IPv6) 文件
dht-file-path6.description=修改 IPv6 DHT 路由表文件路径.
dht-listen-port.name=DHT 监听端口
dht-listen-port.description=设置 DHT (IPv4, IPv6) 和 UDP 服务器使用的 UCP 端口. 多个端口可以使用逗号 \",\" 分隔, 例如: 6881,6885. 您还可以使用短横线 \"-\" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999.
dht-listen-port.description=设置 DHT (IPv4, IPv6) 和 UDP 服务器使用的 UCP 端口. 多个端口可以使用逗号 "," 分隔, 例如: 6881,6885. 您还可以使用短横线 "-" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999.
dht-message-timeout.name=DHT 消息超时时间
dht-message-timeout.description=
enable-dht.name=启用 DHT (IPv4)
enable-dht.description=启用 IPv4 DHT 功能. 此选项同时会启用 UDP 服务器支持. 如果种子设置为私有, 即使此选项设置为\"是\", aria2 也不会启用 DHT.
enable-dht.description=启用 IPv4 DHT 功能. 此选项同时会启用 UDP 服务器支持. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用 DHT.
enable-dht6.name=启用 DHT (IPv6)
enable-dht6.description=启用 IPv6 DHT 功能. 如果种子设置为私有, 即使此选项设置为\"是\", aria2 也不会启用 DHT. 使用 --dht-listen-port 选项设置监听的端口.
enable-dht6.description=启用 IPv6 DHT 功能. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用 DHT. 使用 --dht-listen-port 选项设置监听的端口.
enable-peer-exchange.name=启用节点交换
enable-peer-exchange.description=启用节点交换扩展. 如果种子设置为私有, 即使此选项设置为\"是\", aria2 也不会启用此功能.
enable-peer-exchange.description=启用节点交换扩展. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用此功能.
follow-torrent.name=下载种子中的文件
follow-torrent.description=如果设置为\"是\"或\"仅内存\", 当后缀为 .torrent 或内容类型为 application/x-bittorrent 的文件下载完成时, aria2 将按种子文件读取并下载该文件中提到的文件. 如果设置为\"仅内存\", 该种子文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为\"否\", 则 .torrent 文件会下载到磁盘中, 但不会按种子文件读取并且其中的文件不会进行下载.
follow-torrent.description=如果设置为"是"或"仅内存", 当后缀为 .torrent 或内容类型为 application/x-bittorrent 的文件下载完成时, aria2 将按种子文件读取并下载该文件中提到的文件. 如果设置为"仅内存", 该种子文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为"否", 则 .torrent 文件会下载到磁盘中, 但不会按种子文件读取并且其中的文件不会进行下载.
listen-port.name=监听端口
listen-port.description=设置 BT 下载的 TCP 端口. 多个端口可以使用逗号 \",\" 分隔, 例如: 6881,6885. 您还可以使用短横线 \"-\" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999.
listen-port.description=设置 BT 下载的 TCP 端口. 多个端口可以使用逗号 "," 分隔, 例如: 6881,6885. 您还可以使用短横线 "-" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999.
max-overall-upload-limit.name=全局最大上传速度
max-overall-upload-limit.description=设置全局最大上传速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
max-upload-limit.name=最大上传速度
@ -385,7 +417,7 @@ seed-ratio.description=指定分享率. 当分享率达到此选项设置的值
seed-time.name=最小做种时间
seed-time.description=此选项设置为 0 时, 将在 BT 任务下载完成后不进行做种.
follow-metalink.name=下载 Metalink 中的文件
follow-metalink.description=如果设置为\"是\"或\"仅内存\", 当后缀为 .meta4 或 .metalink 或内容类型为 application/metalink4+xml 或 application/metalink+xml 的文件下载完成时, aria2 将按 Metalink 文件读取并下载该文件中提到的文件. 如果设置为\"仅内存\", 该 Metalink 文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为\"否\", 则 .metalink 文件会下载到磁盘中, 但不会按 Metalink 文件读取并且其中的文件不会进行下载.
follow-metalink.description=如果设置为"是"或"仅内存", 当后缀为 .meta4 或 .metalink 或内容类型为 application/metalink4+xml 或 application/metalink+xml 的文件下载完成时, aria2 将按 Metalink 文件读取并下载该文件中提到的文件. 如果设置为"仅内存", 该 Metalink 文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为"否", 则 .metalink 文件会下载到磁盘中, 但不会按 Metalink 文件读取并且其中的文件不会进行下载.
metalink-base-uri.name=基础 URI
metalink-base-uri.description=指定基础 URI 以便解析本地磁盘中存储的 Metalink 文件里 metalink:url 和 metalink:metaurl 中的相对 URI 地址. 如果 URI 表示的为目录, 最后需要以 / 结尾.
metalink-language.name=语言
@ -397,9 +429,9 @@ metalink-os.description=下载文件的操作系统.
metalink-version.name=版本号
metalink-version.description=下载文件的版本号.
metalink-preferred-protocol.name=首选使用协议
metalink-preferred-protocol.description=指定首选使用的协议. 可以设置为 http, https, ftp 或\"无\". 设置为\"无\"时禁用此选项.
metalink-preferred-protocol.description=指定首选使用的协议. 可以设置为 http, https, ftp 或"无". 设置为"无"时禁用此选项.
metalink-enable-unique-protocol.name=仅使用唯一协议
metalink-enable-unique-protocol.description=如果一个 Metalink 文件可用多种协议, 并且此选项设置为\"是\", aria2 将只会使用其中一种. 使用 --metalink-preferred-protocol 参数指定首选的协议.
metalink-enable-unique-protocol.description=如果一个 Metalink 文件可用多种协议, 并且此选项设置为"是", aria2 将只会使用其中一种. 使用 --metalink-preferred-protocol 参数指定首选的协议.
enable-rpc.name=启用 JSON-RPC/XML-RPC 服务器
enable-rpc.description=
pause-metadata.name=种子文件下载完后暂停
@ -407,21 +439,21 @@ pause-metadata.description=当种子文件下载完成后暂停后续的下载.
rpc-allow-origin-all.name=接受所有远程请求
rpc-allow-origin-all.description=在 RPC 响应头增加 Access-Control-Allow-Origin 字段, 值为 * .
rpc-listen-all.name=在所有网卡上监听
rpc-listen-all.description=在所有网络适配器上监听 JSON-RPC/XML-RPC 的请求, 如果设置为\"否\", 仅监听本地网络的请求.
rpc-listen-all.description=在所有网络适配器上监听 JSON-RPC/XML-RPC 的请求, 如果设置为"否", 仅监听本地网络的请求.
rpc-listen-port.name=监听端口
rpc-listen-port.description=
rpc-max-request-size.name=最大请求大小
rpc-max-request-size.description=设置 JSON-RPC/XML-RPC 最大的请求大小. 如果 aria2 检测到请求超过设定的字节数, 会直接取消连接.
rpc-save-upload-metadata.name=保存上传的种子文件
rpc-save-upload-metadata.description=在 dir 选项设置的目录中保存上传的种子文件或 Metalink 文件. 文件名包括 SHA-1 哈希后的元数据和扩展名两部分. 对于种子文件, 扩展名为 '.torrent'. 对于 Metalink 为 '.meta4'. 如果此选项设置为\"否\", 通过 aria2.addTorrent() 或 aria2.addMetalink() 方法添加的下载将无法通过 --save-session 选项保存.
rpc-save-upload-metadata.description=在 dir 选项设置的目录中保存上传的种子文件或 Metalink 文件. 文件名包括 SHA-1 哈希后的元数据和扩展名两部分. 对于种子文件, 扩展名为 '.torrent'. 对于 Metalink 为 '.meta4'. 如果此选项设置为"否", 通过 aria2.addTorrent() 或 aria2.addMetalink() 方法添加的下载将无法通过 --save-session 选项保存.
rpc-secure.name=启用 SSL/TLS
rpc-secure.description=RPC 将通过 SSL/TLS 加密传输. RPC 客户端需要使用 https 协议连接服务器. 对于 WebSocket 客户端, 使用 wss 协议. 使用 --rpc-certificate 和 --rpc-private-key 选项设置服务器的证书和私钥.
allow-overwrite.name=允许覆盖
allow-overwrite.description=如果相应的控制文件不存在时从头重新下载文件. 参见 --auto-file-renaming 选项.
allow-piece-length-change.name=允许分片大小变化
allow-piece-length-change.description=如果设置为\"否\", 当分片长度与控制文件中的不同时, aria2 将会中止下载. 如果设置为\"是\", 您可以继续, 但部分下载进度将会丢失.
allow-piece-length-change.description=如果设置为"否", 当分片长度与控制文件中的不同时, aria2 将会中止下载. 如果设置为"是", 您可以继续, 但部分下载进度将会丢失.
always-resume.name=始终断点续传
always-resume.description=始终断点续传. 如果设置为\"是\", aria2 始终尝试断点续传, 如果无法恢复, 则中止下载. 如果设置为\"否\", 对于不支持断点续传的 URI 或 aria2 遇到 N 个不支持断点续传的 URI (N 为 --max-resume-failure-tries 选项设置的值), aria2 会从头下载文件. 参见 --max-resume-failure-tries 参数.
always-resume.description=始终断点续传. 如果设置为"是", aria2 始终尝试断点续传, 如果无法恢复, 则中止下载. 如果设置为"否", 对于不支持断点续传的 URI 或 aria2 遇到 N 个不支持断点续传的 URI (N 为 --max-resume-failure-tries 选项设置的值), aria2 会从头下载文件. 参见 --max-resume-failure-tries 参数.
async-dns.name=异步 DNS
async-dns.description=
auto-file-renaming.name=文件自动重命名
@ -437,13 +469,13 @@ console-log-level.description=
daemon.name=启用后台进程
daemon.description=
deferred-input.name=延迟加载
deferred-input.description=如果设置为\"是\", aria2 在启动时不会读取 --input-file 选项设置的文件中的所有 URI 地址, 而是会在之后需要时按需读取. 如果输入文件中包含大量要下载的 URI, 此选项可以减少内存的使用. 如果设置为\"否\", aria2 会在启动时读取所有的 URI. 当 -save-session 使用时将会禁用 --deferred-input 选项.
deferred-input.description=如果设置为"是", aria2 在启动时不会读取 --input-file 选项设置的文件中的所有 URI 地址, 而是会在之后需要时按需读取. 如果输入文件中包含大量要下载的 URI, 此选项可以减少内存的使用. 如果设置为"否", aria2 会在启动时读取所有的 URI. 当 -save-session 使用时将会禁用 --deferred-input 选项.
disable-ipv6.name=禁用 IPv6
disable-ipv6.description=
disk-cache.name=磁盘缓存
disk-cache.description=启用磁盘缓存. 如果设置为 0, 将禁用磁盘缓存. 此功能将下载的数据缓存在内存中, 最多占用此选项设置的字节数. 缓存存储由 aria2 实例创建并对所有下载共享. 由于数据以较大的单位写入并按文件的偏移重新排序, 所以磁盘缓存的一个优点是减少磁盘的 I/O. 如果调用哈希检查时并且数据缓存在内存中时, 将不需要从磁盘中读取. 大小可以包含 K 或 M (1K = 1024, 1M = 1024K).
download-result.name=下载结果
download-result.description=此选项将修改下载结果的格式. 如果设置为\"默认\", 将打印 GID, 状态, 平均下载速度和路径/URI. 如果涉及多个文件, 仅打印第一个请求文件的路径/URI, 其余的将被忽略. 如果设置为\"完整\", 将打印 GID, 状态, 平均下载速度, 下载进度和路径/URI. 其中, 下载进度和路径/URI 将会每个文件打印一行. 如果设置为\"隐藏\", 下载结果将会隐藏.
download-result.description=此选项将修改下载结果的格式. 如果设置为"默认", 将打印 GID, 状态, 平均下载速度和路径/URI. 如果涉及多个文件, 仅打印第一个请求文件的路径/URI, 其余的将被忽略. 如果设置为"完整", 将打印 GID, 状态, 平均下载速度, 下载进度和路径/URI. 其中, 下载进度和路径/URI 将会每个文件打印一行. 如果设置为"隐藏", 下载结果将会隐藏.
dscp.name=DSCP
dscp.description=为 QoS 设置 BT 上行 IP 包的 DSCP 值. 此参数仅设置 IP 包中 TOS 字段的 DSCP 位, 而不是整个字段. 如果您从 /usr/include/netinet/ip.h 得到的值, 需要除以 4 (否则值将不正确, 例如您的 CS1 类将会转为 CS4). 如果您从 RFC, 网络供应商的文档, 维基百科或其他来源采取常用的值, 可以直接使用.
rlimit-nofile.name=最多打开的文件描述符
@ -455,11 +487,11 @@ enable-mmap.description=内存中存放映射文件. 当文件空间没有预先
event-poll.name=事件轮询方法
event-poll.description=设置事件轮训的方法. 可选的值包括 epoll, kqueue, port, poll 和 select. 对于 epoll, kqueue, port 和 poll, 只有系统支持时才可用. 最新的 Linux 支持 epoll. 各种 *BSD 系统包括 Mac OS X 支持 kqueue. Open Solaris 支持 port. 默认值根据您使用的操作系统不同而不同.
file-allocation.name=文件分配方法
file-allocation.description=指定文件分配方法. \"无\" 不会预先分配文件空间. \"prealloc\"会在下载开始前预先分配空间. 这将会根据文件的大小需要一定的时间. 如果您使用的是较新的文件系统, 例如 ext4 (带扩展支持), btrfs, xfs 或 NTFS (仅 MinGW 构建), \"falloc\" 是最好的选择. 其几乎可以瞬间分配大(数 GiB)文件. 不要在旧的文件系统, 例如 ext3 和 FAT32 上使用 falloc, 因为与 prealloc 花费的时间相同, 并且其会阻塞 aria2 知道分配完成. 当您的系统不支持 posix_fallocate(3) 函数时, falloc 可能无法使用. \"trunc\" 使用 ftruncate(2) 系统调用或平台特定的实现将文件截取到特定的长度.
file-allocation.description=指定文件分配方法. "无" 不会预先分配文件空间. "prealloc"会在下载开始前预先分配空间. 这将会根据文件的大小需要一定的时间. 如果您使用的是较新的文件系统, 例如 ext4 (带扩展支持), btrfs, xfs 或 NTFS (仅 MinGW 构建), "falloc" 是最好的选择. 其几乎可以瞬间分配大(数 GiB)文件. 不要在旧的文件系统, 例如 ext3 和 FAT32 上使用 falloc, 因为与 prealloc 花费的时间相同, 并且其会阻塞 aria2 知道分配完成. 当您的系统不支持 posix_fallocate(3) 函数时, falloc 可能无法使用. "trunc" 使用 ftruncate(2) 系统调用或平台特定的实现将文件截取到特定的长度.
force-save.name=强制保存
force-save.description=即使任务完成或删除时使用 --save-session 选项时也保存该任务. 此选项在这种情况下还会保存控制文件. 此选项可以保存被认为已经完成但正在做种的 BT 任务.
hash-check-only.name=仅哈希检查
hash-check-only.description=如果设置为\"是\", 哈希检查完使用 --check-integrity 选项, 根据是否下载完成决定是否终止下载.
hash-check-only.description=如果设置为"是", 哈希检查完使用 --check-integrity 选项, 根据是否下载完成决定是否终止下载.
human-readable.name=控制台可读输出
human-readable.description=在控制台输出可读格式的大小和速度 (例如, 1.2Ki, 3.4Mi).
max-download-result.name=最多下载结果
@ -467,7 +499,7 @@ max-download-result.description=设置内存中存储的最大下载结果. 下
max-mmap-limit.name=MMap 最大限制
max-mmap-limit.description=设置启用 MMap (参见 --enable-mmap 选项) 最大的文件大小. 文件大小由一个下载任务中所有文件大小的和决定. 例如, 如果一个下载包含 5 个文件, 那么文件大小就是这些文件的总大小. 如果文件大小超过此选项设置的大小时, MMap 将会禁用.
max-resume-failure-tries.name=最大断点续传尝试次数
max-resume-failure-tries.description=当 --always-resume 选项设置为\"否\"时, 如果 aria2 检测到有 N 个 URI 不支持断点续传时, 将从头开始下载文件. 如果 N 设置为 0, 当所有 URI 都不支持断点续传时才会从头下载文件. 参见 --always-resume 选项.
max-resume-failure-tries.description=当 --always-resume 选项设置为"否"时, 如果 aria2 检测到有 N 个 URI 不支持断点续传时, 将从头开始下载文件. 如果 N 设置为 0, 当所有 URI 都不支持断点续传时才会从头下载文件. 参见 --always-resume 选项.
min-tls-version.name=最低 TLS 版本
min-tls-version.description=指定启用的最低 SSL/TLS 版本.
log-level.name=日志级别

View file

@ -0,0 +1,99 @@
(function () {
'use strict';
angular.module('ariaNg').constant('aria2Errors', {
//'0': { }, //All downloads were successful.
'1': {
descriptionKey: 'error.unknown'
},
'2': {
descriptionKey: 'error.operation.timeout'
},
'3': {
descriptionKey: 'error.resource.notfound'
},
'4': {
descriptionKey: 'error.resource.notfound.max-file-not-found'
},
'5': {
descriptionKey: 'error.download.aborted.lowest-speed-limit'
},
'6': {
descriptionKey: 'error.network.problem'
},
//'7': { },//If there were unfinished downloads. This error is only reported if all finished downloads were successful and there were unfinished downloads in a queue when aria2 exited by pressing Ctrl-C by an user or sending TERM or INT signal.
'8': {
descriptionKey: 'error.resume.notsupported'
},
'9': {
descriptionKey: 'error.space.notenough'
},
'10': {
descriptionKey: 'error.piece.length.different'
},
'11': {
descriptionKey: 'error.download.sametime'
},
'12': {
descriptionKey: 'error.download.torrent.sametime'
},
'13': {
descriptionKey: 'error.file.exists'
},
'14': {
descriptionKey: 'error.file.rename.failed'
},
'15': {
descriptionKey: 'error.file.open.failed'
},
'16': {
descriptionKey: 'error.file.create.failed'
},
'17': {
descriptionKey: 'error.io.error'
},
'18': {
descriptionKey: 'error.directory.create.failed'
},
'19': {
descriptionKey: 'error.name.resolution.failed'
},
'20': {
descriptionKey: 'error.metalink.file.parse.failed'
},
'21': {
descriptionKey: 'error.ftp.command.failed'
},
'22': {
descriptionKey: 'error.http.response.header.bad'
},
'23': {
descriptionKey: 'error.redirects.toomany'
},
'24': {
descriptionKey: 'error.http.authorization.failed'
},
'25': {
descriptionKey: 'error.bencoded.file.parse.failed'
},
'26': {
descriptionKey: 'error.torrent.file.corrupted'
},
'27': {
descriptionKey: 'error.magnet.uri.bad'
},
'28': {
descriptionKey: 'error.option.bad'
},
'29': {
descriptionKey: 'error.server.overload'
},
'30': {
descriptionKey: 'error.rpc.request.parse.failed'
},
//'31': { }, //Reserved. Not used.
'32': {
descriptionKey: 'error.checksum.failed'
}
});
}());

View file

@ -160,6 +160,38 @@
'Input number is above max value!': 'Input number is above max value {{value}}!',
'Input value is invalid!': 'Input value is invalid!',
'Tap to configure and get started with AriaNg.': 'Tap to configure and get started with AriaNg.',
'error': {
'unknown': 'Unknown error occurred.',
'operation.timeout': 'Operation timed out.',
'resource.notfound': 'Resource was not found.',
'error.resource.notfound.max-file-not-found': 'Resource was not found. See --max-file-not-found option.',
'error.download.aborted.lowest-speed-limit': 'Download is aborted because download speed was too slow. See --lowest-speed-limit option.',
'network.problem': 'Network problem occurred.',
'resume.notsupported': 'Remote server does not support resume.',
'space.notenough': 'There was not enough disk space available.',
'piece.length.different': 'Piece length was different from one in .aria2 control file. See --allow-piece-length-change option.',
'download.sametime': 'aria2 was downloading same file at that moment.',
'download.torrent.sametime': 'aria2 was downloading same file at that moment.',
'file.exists': 'File already existed. See --allow-overwrite option.',
'file.rename.failed': 'Failed to rename file. See --auto-file-renaming option.',
'file.open.failed': 'Failed to open existing file.',
'file.create.failed': 'Failed to create new file or truncate existing file.',
'io.error': 'Filesystem error occurred.',
'directory.create.failed': 'Failed to create directory.',
'name.resolution.failed': 'Failed to resolve domain name.',
'metalink.file.parse.failed': 'Failed to parse Metalink document.',
'ftp.command.failed': 'FTP command failed.',
'http.response.header.bad': 'HTTP response header was bad or unexpected.',
'redirects.toomany': 'Too many redirects occurred.',
'http.authorization.failed': 'HTTP authorization failed.',
'bencoded.file.parse.failed': 'Failed to parse bencoded file (usually ".torrent" file).',
'torrent.file.corrupted': 'The ".torrent" file was corrupted or missing information that aria2 needed.',
'magnet.uri.bad': 'Magnet URI was bad.',
'option.bad': 'Bad/unrecognized option was given or unexpected option argument was given.',
'server.overload': 'The remote server was unable to handle the request due to a temporary overloading or maintenance.',
'rpc.request.parse.failed': 'Failed to parse JSON-RPC request.',
'checksum.failed': 'Checksum validation failed.'
},
'format': {
'longdate': 'MM/DD/YYYY HH:mm:ss',
'time.millisecond': '{{value}} Millisecond',

View file

@ -1,7 +1,7 @@
(function () {
'use strict';
angular.module('ariaNg').factory('aria2TaskService', ['$q', '$translate', 'bittorrentPeeridService', 'aria2RpcService', 'ariaNgCommonService', function ($q, $translate, bittorrentPeeridService, aria2RpcService, ariaNgCommonService) {
angular.module('ariaNg').factory('aria2TaskService', ['$q', '$translate', 'bittorrentPeeridService', 'aria2Errors', 'aria2RpcService', 'ariaNgCommonService', function ($q, $translate, bittorrentPeeridService, aria2Errors, aria2RpcService, ariaNgCommonService) {
var getFileName = function (file) {
if (!file) {
return '';
@ -31,7 +31,7 @@
};
var getTaskName = function (task) {
var taskName = "";
var taskName = '';
var success = true;
if (task.bittorrent && task.bittorrent.info) {
@ -53,6 +53,22 @@
};
};
var getTaskErrorDescription = function (task) {
if (!task.errorCode) {
return '';
}
if (!aria2Errors[task.errorCode] || !aria2Errors[task.errorCode].descriptionKey) {
return '';
}
if (aria2Errors[task.errorCode].hide) {
return '';
}
return aria2Errors[task.errorCode].descriptionKey;
};
var getPieceStatus = function (bitField, pieceCount) {
var pieces = [];
@ -134,6 +150,8 @@
task.taskName = taskNameResult.name;
task.hasTaskName = taskNameResult.success;
task.errorDescription = getTaskErrorDescription(task);
if (task.files) {
var selectedFileCount = 0;

View file

@ -46,14 +46,16 @@
</div>
<div class="setting-value col-sm-8">
<span ng-bind="task | taskStatus | translate: {errorcode: task.errorCode}"></span>
<i class="icon-primary fa fa-question-circle" ng-if="task.errorCode && task.errorCode != '0'"
ng-tooltip="{{task.errorMessage}}" ng-tooltip-container="body" ng-tooltip-placement="top"></i>
</div>
</div>
<div class="row" ng-if="task && task.status == 'error' && task.errorMessage">
<div class="row" ng-if="task && task.status == 'error' && task.errorDescription">
<div class="setting-key col-sm-4">
<span translate>Error Description</span>
</div>
<div class="setting-value col-sm-8">
<span ng-bind="task.errorMessage"></span>
<span ng-bind="task.errorDescription | translate"></span>
</div>
</div>
<div class="row" ng-if="task">