up luci-app-aria2

This commit is contained in:
Pdboy Sir 2024-01-14 11:25:04 +08:00 committed by GitHub
parent ed8a5c761d
commit af6bd49351
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 3374 additions and 0 deletions

18
luci-app-aria2/Makefile Normal file
View File

@ -0,0 +1,18 @@
#
# Copyright (C) 2017-2019 Xingwang Liao <kuoruan@gmail.com>
#
# This is free software, licensed under the MIT License.
#
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI Support for Aria2
LUCI_DEPENDS:=+luci-compat +aria2 +luci-lib-ipkg
LUCI_PKGARCH:=all
PKG_MAINTAINER:=Xingwang Liao <kuoruan@gmail.com>
PKG_LICENSE:=MIT
include $(TOPDIR)/feeds/luci/luci.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@ -0,0 +1,57 @@
-- Copyright 2016-2019 Xingwang Liao <kuoruan@gmail.com>
-- Licensed to the public under the MIT License.
local fs = require "nixio.fs"
local sys = require "luci.sys"
local http = require "luci.http"
local util = require "luci.util"
local uci = require "luci.model.uci".cursor()
module("luci.controller.aria2", package.seeall)
function index()
if not nixio.fs.access("/etc/config/aria2") then
return
end
local e = entry({"admin", "nas", "aria2"}, firstchild(), _("Aria2"))
e.dependent = false
e.acl_depends = { "luci-app-aria2" }
entry({"admin", "nas", "aria2", "config"},
cbi("aria2/config"), _("Configuration"), 1)
entry({"admin", "nas", "aria2", "file"},
form("aria2/files"), _("Files"), 2)
entry({"admin", "nas", "aria2", "log"},
cbi("aria2/log"), _("Log"), 3)
entry({"admin", "nas", "aria2", "status"},
call("action_status"))
entry({"admin", "nas", "aria2", "get_log"},
call("get_log")).leaf = true
entry({"admin", "nas", "aria2", "clear_log"},
call("clear_log")).leaf = true
end
function action_status()
local status = {
running = (sys.call("pidof aria2c >/dev/null") == 0)
}
http.prepare_content("application/json")
http.write_json(status)
end
function get_log()
local log_file = uci:get("aria2", "main", "log") or "/var/log/aria2.log"
luci.http.write(luci.sys.exec('cat ' .. log_file))
end
function clear_log()
local log_file = uci:get("aria2", "main", "log") or "/var/log/aria2.log"
luci.sys.call('cat /dev/null > ' .. log_file)
end

View File

@ -0,0 +1,491 @@
-- Copyright 2017-2019 Xingwang Liao <kuoruan@gmail.com>
-- Licensed to the public under the MIT License.
local sys = require "luci.sys"
local util = require "luci.util"
local m, s, o
local function aria2_info()
if sys.call("command -v aria2c >/dev/null") ~= 0 then
return nil
end
local info = {}
local line
for line in util.execi("aria2c -v 2>/dev/null | grep -E '^(aria2 version|Enabled Features)'") do
if line:match("^aria2 version") then
local _, _, v = line:find("([%d%.]+)$")
info.version = v
elseif line:match("^Enabled Features") then
info.gzip = line:find("GZip") ~= nil
info.https = line:find("HTTPS") ~= nil
info.bt = line:find("BitTorrent") ~= nil
info.sftp = line:find("SFTP") ~= nil
info.adns = line:find("Async DNS") ~= nil
info.cookie = line:find("Firefox3 Cookie") ~= nil
end
end
return info
end
local aria2 = aria2_info()
m = Map("aria2", "%s - %s" % { translate("Aria2"), translate("Settings") },
"<p>%s</p><p>%s</p>" % {
translate("Aria2 is a lightweight multi-protocol &amp; multi-source, cross platform download utility."),
translatef("For more information, please visit: %s",
"<a href=\"https://aria2.github.io\" target=\"_blank\">https://aria2.github.io</a>")
})
if not aria2 then
m:section(SimpleSection, nil, "<span style=\"color: red;\">%s</span>" %
translate("Error: Can't find aria2c in PATH, please reinstall aria2."))
m.reset = false
m.submit = false
return m
end
m:append(Template("aria2/settings_header"))
s = m:section(NamedSection, "main", "aria2")
s.addremove = false
s.anonymous = true
s:tab("basic", translate("Basic Options"))
o = s:taboption("basic", Flag, "enabled", translate("Enabled"))
o.rmempty = false
o = s:taboption("basic", ListValue, "user", translate("Run daemon as user"),
translate("Leave blank to use default user."))
o:value("")
local user
for user in util.execi("cat /etc/passwd | cut -d':' -f1") do
o:value(user)
end
o = s:taboption("basic", Value, "dir", translate("Download directory"),
translate("The directory to store the downloaded file. For example <code>/mnt/sda1</code>."))
o.rmempty = false
o = s:taboption("basic", Value, "config_dir", translate("Config file directory"),
translate("The directory to store the config file, session file and DHT file."))
o.placeholder = "/var/etc/aria2"
o = s:taboption("basic", Flag, "enable_logging", translate("Enable logging"))
o.rmempty = false
o = s:taboption("basic", Value, "log", translate("Log file"),
translate("The file name of the log file."))
o:depends("enable_logging", "1")
o.placeholder = "/var/log/aria2.log"
o = s:taboption("basic", ListValue, "log_level", translate("Log level"))
o:depends("enable_logging", "1")
o:value("debug", translate("Debug"))
o:value("info", translate("Info"))
o:value("notice", translate("Notice"))
o:value("warn", translate("Warn"))
o:value("error", translate("Error"))
o.default = "warn"
o = s:taboption("basic", Value, "max_concurrent_downloads", translate("Max concurrent downloads"))
o.placeholder = "5"
s:tab("rpc", translate("RPC Options"))
o = s:taboption("rpc", Flag, "pause", translate("Pause"), translate("Pause download after added."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("rpc", Flag, "pause_metadata", translate("Pause metadata"),
translate("Pause downloads created as a result of metadata download."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("rpc", Value, "rpc_listen_port", translate("RPC port"))
o.datatype = "range(1024,65535)"
o.placeholder = "6800"
o = s:taboption("rpc", ListValue, "rpc_auth_method", translate("RPC authentication method"))
o:value("none", translate("No Authentication"))
o:value("user_pass", translate("Username & Password"))
o:value("token", translate("Token"))
o = s:taboption("rpc", Value, "rpc_user", translate("RPC username"))
o:depends("rpc_auth_method", "user_pass")
o = s:taboption("rpc", Value, "rpc_passwd", translate("RPC password"))
o:depends("rpc_auth_method", "user_pass")
o.password = true
o = s:taboption("rpc", Value, "rpc_secret", translate("RPC token"))
o:depends("rpc_auth_method", "token")
o.template = "aria2/value_with_btn"
o.btntext = translate("Generate Randomly")
o.btnclick = "randomToken();"
if aria2.https then
o = s:taboption("rpc", Flag, "rpc_secure", translate("RPC secure"),
translate("RPC transport will be encrypted by SSL/TLS. The RPC clients must use https"
.. " scheme to access the server. For WebSocket client, use wss scheme."))
o.enabled = "true"
o.disabled = "false"
o.rmempty = false
o = s:taboption("rpc", Value, "rpc_certificate", translate("RPC certificate"),
translate("Use the certificate in FILE for RPC server. The certificate must be either"
.. " in PKCS12 (.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the"
.. " certificate, a key and optionally a chain of additional certificates. Only PKCS12"
.. " files with a blank import password can be opened!<br/>When using PEM, you have to"
.. " specify the \"RPC private key\" as well."))
o:depends("rpc_secure", "true")
o.datatype = "file"
o = s:taboption("rpc", Value, "rpc_private_key", translate("RPC private key"),
translate("Use the private key in FILE for RPC server. The private key must be"
.. " decrypted and in PEM format."))
o:depends("rpc_secure", "true")
o.datatype = "file"
end
o = s:taboption("rpc", Flag, "_use_ws", translate("Use WebSocket"))
o = s:taboption("rpc", Value, "_rpc_url", translate("Json-RPC URL"))
o.template = "aria2/value_with_btn"
o.onmouseover = "this.focus();this.select();"
o.btntext = translate("Show URL")
o.btnclick = "showRPCURL();"
s:tab("http", translate("HTTP/FTP/SFTP Options"))
o = s:taboption("http", Flag, "enable_proxy", translate("Enable proxy"))
o.rmempty = false
o = s:taboption("http", Value, "all_proxy", translate("All proxy"),
translate("Use a proxy server for all protocols."))
o:depends("enable_proxy", "1")
o.placeholder = "[http://][USER:PASSWORD@]HOST[:PORT]"
o = s:taboption("http", Value, "all_proxy_user", translate("Proxy user"))
o:depends("enable_proxy", "1")
o = s:taboption("http", Value, "all_proxy_passwd", translate("Proxy password"))
o:depends("enable_proxy", "1")
o.password = true
if aria2.https then
o = s:taboption("http", Flag, "check_certificate", translate("Check certificate"),
translate("Verify the peer using certificates specified in \"CA certificate\" option."))
o.enabled = "true"
o.disabled = "false"
o.default = "true"
o.rmempty = false
o = s:taboption("http", Value, "ca_certificate", translate("CA certificate"),
translate("Use the certificate authorities in FILE to verify the peers. The certificate"
.. " file must be in PEM format and can contain multiple CA certificates."))
o:depends("check_certificate", "true")
o.datatype = "file"
o = s:taboption("http", Value, "certificate", translate("Certificate"),
translate("Use the client certificate in FILE. The certificate must be either in PKCS12"
.. " (.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the certificate, a"
.. " key and optionally a chain of additional certificates. Only PKCS12 files with a"
.. " blank import password can be opened!<br/>When using PEM, you have to specify the"
.. " \"Private key\" as well."))
o.datatype = "file"
o = s:taboption("http", Value, "private_key", translate("Private key"),
translate("Use the private key in FILE. The private key must be decrypted and in PEM"
.. " format. The behavior when encrypted one is given is undefined."))
o.datatype = "file"
end
if aria2.gzip then
o = s:taboption("http", Flag, "http_accept_gzip", translate("HTTP accept gzip"),
translate("Send <code>Accept: deflate, gzip</code> request header and inflate response"
.. " if remote server responds with <code>Content-Encoding: gzip</code> or"
.. " <code>Content-Encoding: deflate</code>."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
end
o = s:taboption("http", Flag, "http_no_cache", translate("HTTP no cache"),
translate("Send <code>Cache-Control: no-cache</code> and <code>Pragma: no-cache</code>"
.. " header to avoid cached content. If disabled, these headers are not sent and you"
.. " can add Cache-Control header with a directive you like using \"Header\" option."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("http", DynamicList, "header", translate("Header"),
translate("Append HEADERs to HTTP request header."))
o = s:taboption("http", Value, "connect_timeout", translate("Connect timeout"),
translate("Set the connect timeout in seconds to establish connection to HTTP/FTP/proxy server." ..
" After the connection is established, this option makes no effect and \"Timeout\" option is used instead."))
o.datatype = "uinteger"
o.placeholder = "60"
o = s:taboption("http", Value, "timeout", translate("Timeout"))
o.datatype = "uinteger"
o.placeholder = "60"
o = s:taboption("http", Value, "lowest_speed_limit", translate("Lowest speed limit"),
"%s %s" % {
translate("Close connection if download speed is lower than or equal to this value (bytes per sec). " ..
"0 means has no lowest speed limit."),
translate("You can append K or M.")
})
o.placeholder = "0"
o = s:taboption("http", Value, "max_connection_per_server", translate("Max connection per server"),
translate("The maximum number of connections to one server for each download."))
o.datatype = "uinteger"
o.placeholder = "1"
o = s:taboption("http", Value, "split", translate("Max number of split"),
translate("Download a file using N connections."))
o.datatype = "uinteger"
o.placeholder = "5"
o = s:taboption("http", Value, "min_split_size", translate("Min split size"),
translate("Don't split less than 2*SIZE byte range. Possible values: 1M-1024M."))
o.placeholder = "20M"
o = s:taboption("http", Value, "max_tries", translate("Max tries"))
o.datatype = "uinteger"
o.placeholder = "5"
o = s:taboption("http", Value, "retry_wait", translate("Retry wait"),
translate("Set the seconds to wait between retries."))
o.datatype = "uinteger"
o.placeholder = "0"
o = s:taboption("http", Value, "user_agent", translate("User agent"),
translate("Set user agent for HTTP(S) downloads."))
o.placeholder = "aria2/%s" % { aria2.version and aria2.version or "$VERSION" }
if aria2.bt then
s:tab("bt", translate("BitTorrent Options"))
o = s:taboption("bt", Flag, "enable_dht", translate("IPv4 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"),
"%s %s" % {
translate("Enable IPv4 DHT functionality. It also enables UDP tracker support."),
translate("This option will be ignored if a private flag is set in a torrent.")
})
o.enabled = "true"
o.disabled = "false"
o.default = "true"
o.rmempty = false
o = s:taboption("bt", Flag, "enable_dht6", translate("IPv6 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"),
"%s %s" % {
translate("Enable IPv6 DHT functionality."),
translate("This option will be ignored if a private flag is set in a torrent.")
})
o.enabled = "true"
o.disabled = "false"
o = s:taboption("bt", Flag, "bt_enable_lpd", translate("<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"),
"%s %s" % {
translate("Enable Local Peer Discovery."),
translate("This option will be ignored if a private flag is set in a torrent.")
})
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("bt", Flag, "enable_peer_exchange", translate("Enable peer exchange"),
"%s %s" % {
translate("Enable Peer Exchange extension."),
translate("This option will be ignored if a private flag is set in a torrent.")
})
o.enabled = "true"
o.disabled = "false"
o.default = "true"
o.rmempty = false
o = s:taboption("bt", Flag, "bt_save_metadata", translate("Save metadata"),
translate("Save meta data as \".torrent\" file. This option has effect only when BitTorrent"
.. " Magnet URI is used. The file name is hex encoded info hash with suffix \".torrent\"."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("bt", Flag, "bt_remove_unselected_file", translate("Remove unselected file"),
translate("Removes the unselected files when download is completed in BitTorrent. Please"
.. " use this option with care because it will actually remove files from your disk."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("bt", Flag, "bt_seed_unverified", translate("Seed unverified"),
translate("Seed previously downloaded files without verifying piece hashes."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("bt", Value, "listen_port", translate("BitTorrent listen port"),
translate("Set TCP port number for BitTorrent downloads. Accept format: \"6881,6885\","
.. " \"6881-6999\" and \"6881-6889,6999\". Make sure that the specified ports are open"
.. " for incoming TCP traffic."))
o.placeholder = "6881-6999"
o = s:taboption("bt", Value, "dht_listen_port", translate("DHT Listen port"),
translate("Set UDP listening port used by DHT (IPv4, IPv6) and UDP tracker. Make sure that the "
.. "specified ports are open for incoming UDP traffic."))
o:depends("enable_dht", "true")
o:depends("enable_dht6", "true")
o.placeholder = "6881-6999"
o = s:taboption("bt", ListValue, "follow_torrent", translate("Follow torrent"))
o:value("true", translate("True"))
o:value("false", translate("False"))
o:value("mem", translate("Keep in memory"))
o = s:taboption("bt", Value, "max_overall_upload_limit", translate("Max overall upload limit"),
"%s %s" % {
translate("Set max overall upload speed in bytes/sec. 0 means unrestricted."),
translate("You can append K or M.")
})
o.placeholder = "0"
o = s:taboption("bt", Value, "max_upload_limit", translate("Max upload limit"),
"%s %s" % {
translate("Set max upload speed per each torrent in bytes/sec. 0 means unrestricted."),
translate("You can append K or M.")
})
o.placeholder = "0"
o = s:taboption("bt", Value, "bt_max_open_files", translate("Max open files"),
translate("Specify maximum number of files to open in multi-file BitTorrent download globally."))
o.datatype = "uinteger"
o.placeholder = "100"
o = s:taboption("bt", Value, "bt_max_peers", translate("Max peers"),
translate("Specify the maximum number of peers per torrent, 0 means unlimited."))
o.datatype = "uinteger"
o.placeholder = "55"
o = s:taboption("bt", Value, "bt_request_peer_speed_limit", translate("Request peer speed limit"),
"%s %s" % {
translate("If the whole download speed of every torrent is lower than SPEED, aria2"
.. " temporarily increases the number of peers to try for more download speed."
.. " Configuring this option with your preferred download speed can increase your"
.. " download speed in some cases."),
translate("You can append K or M.")
})
o.placeholder = "50K"
o = s:taboption("bt", Value, "bt_stop_timeout", translate("Stop timeout"),
translate("Stop BitTorrent download if download speed is 0 in consecutive N seconds. If 0 is"
.. " given, this feature is disabled."))
o.datatype = "uinteger"
o.placeholder = "0"
o = s:taboption("bt", Value, "peer_id_prefix", translate("Prefix of peer ID"),
translate("Specify the prefix of peer ID. The peer ID in BitTorrent is 20 byte length."
.. " If more than 20 bytes are specified, only first 20 bytes are used. If less than 20"
.. " bytes are specified, random byte data are added to make its length 20 bytes."))
o.placeholder = "A2-%s-" % {
aria2.version and string.gsub(aria2.version, "%.", "-") or "$MAJOR-$MINOR-$PATCH"
}
o = s:taboption("bt", Value, "seed_ratio", translate("Seed ratio"),
translate("Specify share ratio. Seed completed torrents until share ratio reaches RATIO."
.. " You are strongly encouraged to specify equals or more than 1.0 here. Specify 0.0 if"
.. " you intend to do seeding regardless of share ratio."))
o.datatype = "ufloat"
o.placeholder = "1.0"
o = s:taboption("bt", Value, "seed_time", translate("Seed time"),
translate("Specify seeding time in minutes. If \"Seed ratio\" option is"
.. " specified along with this option, seeding ends when at least one of the conditions"
.. " is satisfied. Specifying 0 disables seeding after download completed."))
o.datatype = "ufloat"
o = s:taboption("bt", DynamicList, "bt_tracker", translate("Additional BT tracker"),
translate("List of additional BitTorrent tracker's announce URI."))
o.placeholder = "http://tracker.example.com/announce"
end
s:tab("advance", translate("Advanced Options"))
o = s:taboption("advance", Flag, "disable_ipv6", translate("IPv6 disabled"),
translate("Disable IPv6. This is useful if you have to use broken DNS and want to avoid terribly"
.. " slow AAAA record lookup."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("advance", Value, "auto_save_interval", translate("Auto save interval"),
translate("Save a control file (*.aria2) every N seconds. If 0 is given, a control file is not"
.. " saved during download."))
o.datatype = "range(0, 600)"
o.placeholder = "60"
o = s:taboption("advance", Value, "save_session_interval", translate("Save session interval"),
translate("Save error/unfinished downloads to session file every N seconds. If 0 is given, file"
.. " will be saved only when aria2 exits."))
o.datatype = "uinteger"
o.placeholder = "0"
o = s:taboption("advance", Value, "disk_cache", translate("Disk cache"),
"%s %s" % {
translate("Enable disk cache (in bytes), set 0 to disabled."),
translate("You can append K or M.")
})
o.placeholder = "16M"
o = s:taboption("advance", ListValue, "file_allocation", translate("File allocation"),
translate("Specify file allocation method. If you are using newer file systems such as ext4"
.. " (with extents support), btrfs, xfs or NTFS (MinGW build only), \"falloc\" is your best choice."
.. " It allocates large(few GiB) files almost instantly, but it may not be available if your system"
.. " doesn't have posix_fallocate(3) function. Don't use \"falloc\" with legacy file systems such as"
.. " ext3 and FAT32 because it takes almost same time as \"prealloc\" and it blocks aria2 entirely"
.. " until allocation finishes."))
o:value("none", translate("None"))
o:value("prealloc", translate("prealloc"))
o:value("trunc", translate("trunc"))
o:value("falloc", translate("falloc"))
o.default = "prealloc"
o = s:taboption("advance", Flag, "force_save", translate("Force save"),
translate("Save download to session file even if the download is completed or removed."
.. " This option also saves control file in that situations. This may be useful to save"
.. " BitTorrent seeding which is recognized as completed state."))
o.enabled = "true"
o.disabled = "false"
o.default = "false"
o = s:taboption("advance", Value, "max_overall_download_limit", translate("Max overall download limit"),
"%s %s" % {
translate("Set max overall download speed in bytes/sec. 0 means unrestricted."),
translate("You can append K or M.")
})
o.placeholder = "0"
o = s:taboption("advance", Value, "max_download_limit", translate("Max download limit"),
"%s %s" % {
translate("Set max download speed per each download in bytes/sec. 0 means unrestricted."),
translate("You can append K or M.")
})
o.placeholder = "0"
s = m:section(NamedSection, "main", "aria2", translate("Extra Settings"),
translate("Settings in this section will be added to config file."))
s.addremove = false
s.anonymous = true
o = s:option(DynamicList, "extra_settings", translate("Settings list"),
translate("List of extra settings. Format: option=value, eg. <code>netrc-path=/tmp/.netrc</code>."))
o.placeholder = "option=value"
return m

View File

@ -0,0 +1,39 @@
-- Copyright 2017-2019 Xingwang Liao <kuoruan@gmail.com>
-- Licensed to the public under the MIT License.
local m, s, o
local fs = require "nixio.fs"
local util = require "luci.util"
local uci = require "luci.model.uci".cursor()
local config_dir = uci:get("aria2", "main", "config_dir") or "/var/etc/aria2"
local config_file = "%s/aria2.conf.main" % config_dir
local session_file = "%s/aria2.session.main" % config_dir
m = SimpleForm("aria2", "%s - %s" % { translate("Aria2"), translate("Files") },
translate("Here shows the files used by aria2."))
m.reset = false
m.submit = false
s = m:section(SimpleSection, nil, translatef("Content of config file: <code>%s</code>", config_file))
o = s:option(TextValue, "_config")
o.rows = 20
o.readonly = true
o.cfgvalue = function()
local v = fs.readfile(config_file) or translate("File does not exist.")
return util.trim(v) ~= "" and v or translate("Empty file.")
end
s = m:section(SimpleSection, nil, translatef("Content of session file: <code>%s</code>", session_file))
o = s:option(TextValue, "_session")
o.rows = 20
o.readonly = true
o.cfgvalue = function()
local v = fs.readfile(session_file) or translate("File does not exist.")
return util.trim(v) ~= "" and v or translate("Empty file.")
end
return m

View File

@ -0,0 +1,5 @@
m = Map("Log")
m:append(Template("aria2/aria2_log"))
return m

View File

@ -0,0 +1,29 @@
<script type="text/javascript">
//<![CDATA[
function clear_log(btn) {
XHR.get('<%=url([[admin]], [[nas]], [[aria2]], [[clear_log]])%>', null,
function(x, data) {
if(x && x.status == 200) {
var log_textarea = document.getElementById('log_textarea');
log_textarea.innerHTML = "";
log_textarea.scrollTop = log_textarea.scrollHeight;
}
location.reload();
}
);
}
XHR.poll(2, '<%=url([[admin]], [[nas]], [[aria2]], [[get_log]])%>', null,
function(x, data) {
if(x && x.status == 200) {
var log_textarea = document.getElementById('log_textarea');
log_textarea.innerHTML = x.responseText;
log_textarea.scrollTop = log_textarea.scrollHeight;
}
}
);
//]]>
</script>
<fieldset class="cbi-section" id="_log_fieldset">
<input class="cbi-button cbi-input-remove" type="button" onclick="clear_log()" value="<%:Clear logs%>" style="margin-left: 10px; margin-top: 10px;">
<textarea id="log_textarea" class="cbi-input-textarea" style="width: calc(100% - 20px); height: 500px; margin: 10px;" data-update="change" rows="5" wrap="off" readonly="readonly"></textarea>
</fieldset>

View File

@ -0,0 +1,117 @@
<%#
Copyright 2017-2019 Xingwang Liao <kuoruan@gmail.com>
Licensed to the public under the MIT License.
-%>
<%
local ipkg = require "luci.model.ipkg"
local has_ui = false
local uilist = {
supported = {
["ariang"] = "AriaNg",
["ariang-nginx"] = "AriaNg",
["webui-aria2"] = "WebUI-Aria2",
["yaaw"] = "YAAW"
},
installed = {}
}
for k in pairs(uilist.supported) do
if ipkg.installed(k) then
uilist.installed[#uilist.installed + 1] = k
has_ui = true
end
end
%>
<fieldset class="cbi-section">
<p id="aria2_status">
<em><%:Collecting data...%></em>
</p>
<% if has_ui then %>
<p>
<%:Installed web interface: %>
<%- for _, v in pairs(uilist.installed) do %>
<input type="button" class="cbi-button cbi-button-reload" style="margin: 0 5px;" value="<%=uilist.supported[v]%>" onclick="openWebInterface('<%=v%>');" />
<%- end %>
</p>
<% end %>
</fieldset>
<script type="text/javascript">//<![CDATA[
XHR.poll(5, '<%=url("admin/nas/aria2/status")%>', null,
function(x, data) {
var tb = document.getElementById('aria2_status');
if (data && tb) {
tb.innerHTML = data.running
? '<em style=\"color:green\"><b><%:The Aria2 service is running.%></b></em>'
: '<em style=\"color:red\"><b><%:The Aria2 service is not running.%></b></em>';
}
}
);
function randomString(len) {
var randomStr = '';
var restLen = len;
while ((restLen = len - randomStr.length) > 0) {
randomStr += Math.random().toString(36).substring(2, 2 + restLen);
}
return randomStr;
}
function randomToken() {
var len = 32;
var inputLength = prompt('<%:Please input token length:%>', len);
if (inputLength === null || inputLength === '') {
return;
} else if (/^\d+$/.test(inputLength)) {
len = parseInt(inputLength);
}
var secretInput = document.getElementById('cbid.aria2.main.rpc_secret');
if (secretInput) {
secretInput.value = randomString(len);
}
};
function showRPCURL() {
var portElm = document.getElementById('cbid.aria2.main.rpc_listen_port');
var authMethodElm = document.getElementById('cbid.aria2.main.rpc_auth_method');
var useWSElm = document.getElementById('cbid.aria2.main._use_ws');
var secureElm = document.getElementById('cbid.aria2.main.rpc_secure');
var port = (portElm && /^\d+$/.test(portElm.value)) ? parseInt(portElm.value) : 6800;
var authMethod = (authMethodElm && authMethodElm.value) ? authMethodElm.value : "none";
var useWS = (useWSElm && useWSElm.checked) ? true : false;
var secure = (secureElm && secureElm.checked) ? true : false;
var protocol = useWS
? (secure ? 'wss' : 'ws')
: (secure ? 'https' : 'http');
var url = protocol + "://";
if (authMethod == 'token') {
var authToken = document.getElementById('cbid.aria2.main.rpc_secret').value;
url += 'token:' + authToken + '@';
} else if (authMethod == 'user_pass') {
var authUser = document.getElementById('cbid.aria2.main.rpc_user').value;
var authPasswd = document.getElementById('cbid.aria2.main.rpc_passwd').value;
url += authUser + ':' + authPasswd + '@';
}
url += window.location.hostname + ':' + port + '/jsonrpc';
var rpcUrlElm = document.getElementById('cbid.aria2.main._rpc_url');
if (rpcUrlElm) {
rpcUrlElm.value = url;
} else {
alert(url)
}
};
function openWebInterface(path) {
var host = window.location.host;
var protocol = window.location.protocol;
window.open(protocol + '//' + host + '/' + path);
};
//]]></script>

View File

@ -0,0 +1,22 @@
<%#
Copyright 2017-2019 Xingwang Liao <kuoruan@gmail.com>
Licensed to the public under the MIT License.
-%>
<%+cbi/valueheader%>
<input data-update="change" type="text" class="cbi-input-text"<%=
attr("id", cbid) ..
attr("name", cbid) ..
attr("value", self:cfgvalue(section) or self.default) ..
ifattr(self.size, "size") ..
ifattr(self.placeholder, "placeholder") ..
ifattr(self.maxlength, "maxlength") ..
ifattr(self.datatype, "data-type", self.datatype) ..
ifattr(self.onmouseover, "onmouseover")
%> />
<%- if self.btntext then -%>
<div class="cbi-button cbi-button-neutral" title="<%=self.btntext%>" aria-label="<%=self.btntext%>"<%=
ifattr(self.btnclick, "onclick", self.btnclick)
%>><span style="font-weight: normal;"><%=self.btntext%></span></div>
<% end %>
<%+cbi/valuefooter%>

View File

@ -0,0 +1,854 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-11-17 12:16+0000\n"
"Last-Translator: Eric <spice2wolf@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsaria2/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.9.1-dev\n"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:296
msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
msgstr "启用 <abbr title=\"本地对等发现\">LPD</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:414
msgid "Additional BT tracker"
msgstr "附加的 BT Tracker"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:419
msgid "Advanced Options"
msgstr "高级选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:169
msgid "All proxy"
msgstr "全局代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:228
msgid "Append HEADERs to HTTP request header."
msgstr "附加的 HTTP 请求头。"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:17
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
msgid "Aria2"
msgstr "Aria2"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:37
msgid ""
"Aria2 is a lightweight multi-protocol &amp; multi-source, cross platform "
"download utility."
msgstr "Aria2 是一个轻量、多线程,跨平台的下载工具。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:428
msgid "Auto save interval"
msgstr "自动保存间隔"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:56
msgid "Basic Options"
msgstr "基本选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:276
msgid "BitTorrent Options"
msgstr "BT 选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:335
msgid "BitTorrent listen port"
msgstr "BT监听端口"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:189
msgid "CA certificate"
msgstr "CA 证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:195
msgid "Certificate"
msgstr "证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:182
msgid "Check certificate"
msgstr "检查证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:242
msgid ""
"Close connection if download speed is lower than or equal to this value "
"(bytes per sec). 0 means has no lowest speed limit."
msgstr ""
"如果速度小于或等于这个速度(字节/秒关闭下载下载连接。0 表示不限制下载速"
"度。"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:49
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:29
msgid "Collecting data..."
msgstr "正在收集数据…"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:73
msgid "Config file directory"
msgstr "配置文件目录"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:22
msgid "Configuration"
msgstr "配置"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:230
msgid "Connect timeout"
msgstr "连接超时时间"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:19
msgid "Content of config file: <code>%s</code>"
msgstr "配置文件的内容:<code>%s</code>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:29
msgid "Content of session file: <code>%s</code>"
msgstr "会话文件的内容:<code>%s</code>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:341
msgid "DHT Listen port"
msgstr "DHT 监听端口"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:87
msgid "Debug"
msgstr "调试"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:422
msgid ""
"Disable IPv6. This is useful if you have to use broken DNS and want to avoid "
"terribly slow AAAA record lookup."
msgstr ""
"禁用 IPv6。如果你的 DNS 有问题并希望避免 AAAA 查询过慢,可以启用此选项。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:440
msgid "Disk cache"
msgstr "磁盘缓存"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:259
msgid "Don't split less than 2*SIZE byte range. Possible values: 1M-1024M."
msgstr "当数据小于 2*SIZE 时不分割。可能的值1M-1024M。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:254
msgid "Download a file using N connections."
msgstr "使用 N 个线程下载文件。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:69
msgid "Download directory"
msgstr "下载目录"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:26
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:36
msgid "Empty file."
msgstr "文件为空。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:280
msgid "Enable IPv4 DHT functionality. It also enables UDP tracker support."
msgstr "启用 IPv4 DHT 功能。会同时启用 UDP Tracker 支持。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:290
msgid "Enable IPv6 DHT functionality."
msgstr "启用 IPv6 DHT 功能。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:298
msgid "Enable Local Peer Discovery."
msgstr "启用本地 Peer 查找。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:307
msgid "Enable Peer Exchange extension."
msgstr "启用 Peer 交换扩展。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:442
msgid "Enable disk cache (in bytes), set 0 to disabled."
msgstr "启用硬盘缓存以字节为单位0 表示禁用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:77
msgid "Enable logging"
msgstr "启用日志"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:305
msgid "Enable peer exchange"
msgstr "启用对等交换"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:166
msgid "Enable proxy"
msgstr "启用代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:58
msgid "Enabled"
msgstr "已启用"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:91
msgid "Error"
msgstr "错误"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:44
msgid "Error: Can't find aria2c in PATH, please reinstall aria2."
msgstr "错误:未在 PATH 中找到 aria2c请重新安装 Aria2。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:482
msgid "Extra Settings"
msgstr "附加选项"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:39
msgid "Failed to load log data."
msgstr "获取日志数据失败。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:350
msgid "False"
msgstr "否"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:447
msgid "File allocation"
msgstr "文件分配"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:25
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:35
msgid "File does not exist."
msgstr "文件不存在。"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:25
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
msgid "Files"
msgstr "文件"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:348
msgid "Follow torrent"
msgstr "自动添加下载的种子"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:38
msgid "For more information, please visit: %s"
msgstr "获取更多信息,请访问:%s"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:460
msgid "Force save"
msgstr "强制保存"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:129
msgid "Generate Randomly"
msgstr "随机生成"
#: applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json:3
msgid "Grant UCI access for luci-app-aria2"
msgstr "允许 luci-app-aria2 访问 UCI"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:210
msgid "HTTP accept gzip"
msgstr "HTTP 接受 Gzip"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:219
msgid "HTTP no cache"
msgstr "HTTP 无缓存"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:164
msgid "HTTP/FTP/SFTP Options"
msgstr "HTTP/FTP/SFTP 选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:227
msgid "Header"
msgstr "请求头"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:15
msgid "Here shows the files used by aria2."
msgstr "这里展示了 Aria2 使用的文件。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:278
msgid "IPv4 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr "启用 IPv4 <abbr title=\"分布式哈希表\">DHT</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:288
msgid "IPv6 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr "启用 IPv6 <abbr title=\"分布式哈希表\">DHT</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:421
msgid "IPv6 disabled"
msgstr "禁用 IPv6"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:379
msgid ""
"If the whole download speed of every torrent is lower than SPEED, aria2 "
"temporarily increases the number of peers to try for more download speed. "
"Configuring this option with your preferred download speed can increase your "
"download speed in some cases."
msgstr ""
"如果某个 BT 任务的下载速度小于配置的速度Aria2 会临时提高对端的数量来尝试获"
"得更大的下载速度。在某些情况下,配置此选项能提高你的下载速度。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:88
msgid "Info"
msgstr "信息"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:33
msgid "Installed web interface:"
msgstr "已安装的 WEB 界面:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:158
msgid "Json-RPC URL"
msgstr "Json-RPC 统一资源定位地址"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:351
msgid "Keep in memory"
msgstr "保存在内存中"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:34
msgid "Last 50 lines of log file:"
msgstr "日志文件的最新 50 行:"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:36
msgid "Last 50 lines of syslog:"
msgstr "系统日志的最新 50 行:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:62
msgid "Leave blank to use default user."
msgstr "留空以使用默认用户。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:415
msgid "List of additional BitTorrent tracker's announce URI."
msgstr "额外的 BT Tracker 通告链接。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:488
msgid ""
"List of extra settings. Format: option=value, eg. <code>netrc-path=/tmp/."
"netrc</code>."
msgstr ""
"额外设置的列表。格式:选项=值,例如:<code>netrc-path=/tmp/.netrc</code>。"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:48
msgid "Loading"
msgstr "加载中"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:28
msgid "Log"
msgstr "日志"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
msgid "Log Data"
msgstr "日志数据"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:80
msgid "Log file"
msgstr "日志文件"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:85
msgid "Log level"
msgstr "日志记录等级"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:240
msgid "Lowest speed limit"
msgstr "最低限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:94
msgid "Max concurrent downloads"
msgstr "最大同时下载任务数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:248
msgid "Max connection per server"
msgstr "单服务器最大连接数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:475
msgid "Max download limit"
msgstr "最大下载限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:253
msgid "Max number of split"
msgstr "单文件最大线程数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:367
msgid "Max open files"
msgstr "最大打开文件数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:468
msgid "Max overall download limit"
msgstr "最大全局下载限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:353
msgid "Max overall upload limit"
msgstr "最大全局上传限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:372
msgid "Max peers"
msgstr "最大 Peer 数量"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:262
msgid "Max tries"
msgstr "最大重试次数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:360
msgid "Max upload limit"
msgstr "最大上传限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:258
msgid "Min split size"
msgstr "最小文件分片大小"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:115
msgid "No Authentication"
msgstr "无认证"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:35
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:37
msgid "No log data."
msgstr "无日志数据。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:454
msgid "None"
msgstr "无"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:89
msgid "Notice"
msgstr "注意"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
msgid "Pause"
msgstr "暂停"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
msgid "Pause download after added."
msgstr "在下载任务添加后暂停。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:105
msgid "Pause downloads created as a result of metadata download."
msgstr "暂停下载内容为元数据的下载(磁力链接和 Matalink。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:104
msgid "Pause metadata"
msgstr "暂停元数据"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:64
msgid "Please input token length:"
msgstr "请输入密钥长度:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:393
msgid "Prefix of peer ID"
msgstr "对端 ID 前缀"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:203
msgid "Private key"
msgstr "私钥"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:177
msgid "Proxy password"
msgstr "代理密码"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:174
msgid "Proxy user"
msgstr "代理用户名"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:97
msgid "RPC Options"
msgstr "RPC 选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:114
msgid "RPC authentication method"
msgstr "RPC 认证方式"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:140
msgid "RPC certificate"
msgstr "RPC 证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:122
msgid "RPC password"
msgstr "RPC 密码"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:110
msgid "RPC port"
msgstr "RPC 端口"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:149
msgid "RPC private key"
msgstr "RPC 私钥"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:133
msgid "RPC secure"
msgstr "RPC 加密"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:126
msgid "RPC token"
msgstr "RPC 令牌"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:134
msgid ""
"RPC transport will be encrypted by SSL/TLS. The RPC clients must use https "
"scheme to access the server. For WebSocket client, use wss scheme."
msgstr ""
"用 SSL/TLS 加密 RPC 连接。RPC 客户端必须使用 HTTPS 协议来连接服务端,对于 "
"WebSocket 客户端,则使用 WSS 协议。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:119
msgid "RPC username"
msgstr "RPC 用户名"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:51
msgid "Refresh every 10 seconds."
msgstr "每 10 秒刷新。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:322
msgid "Remove unselected file"
msgstr "删除未选择的文件"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:323
msgid ""
"Removes the unselected files when download is completed in BitTorrent. "
"Please use this option with care because it will actually remove files from "
"your disk."
msgstr "BT 下载完成时删除未选择的文件。文件将从磁盘中被完全删除,请谨慎使用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:377
msgid "Request peer speed limit"
msgstr "单个 Peer 限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:266
msgid "Retry wait"
msgstr "重试等待"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:61
msgid "Run daemon as user"
msgstr "以此用户权限运行"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:429
msgid ""
"Save a control file (*.aria2) every N seconds. If 0 is given, a control file "
"is not saved during download."
msgstr ""
"每 N 秒保存下载“控制文件”(*.aria2。设置 0 表示在下载过程中不保存控制文件。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:461
msgid ""
"Save download to session file even if the download is completed or removed. "
"This option also saves control file in that situations. This may be useful "
"to save BitTorrent seeding which is recognized as completed state."
msgstr ""
"即使下载已完成或已删除,也将其保存到会话文件。开启此选项也会同时保存“控制文"
"件”。此选项可能有助于保持被识别为已完成状态的 BT 做种。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:435
msgid ""
"Save error/unfinished downloads to session file every N seconds. If 0 is "
"given, file will be saved only when aria2 exits."
msgstr ""
"每 N 秒将失败的/未完成的下载保存到 Session 文件。设置 0 则仅在 Aria2 退出时保"
"存。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:316
msgid ""
"Save meta data as \".torrent\" file. This option has effect only when "
"BitTorrent Magnet URI is used. The file name is hex encoded info hash with "
"suffix \".torrent\"."
msgstr ""
"将元数据保存到 \".torrent\" 文件。此选项仅在下载连接为 BT 磁力链接时生效。文"
"件名为 Hash 值,后缀为 \".torrent\"。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:315
msgid "Save metadata"
msgstr "保存元数据"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:434
msgid "Save session interval"
msgstr "会话保存间隔"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:330
msgid "Seed previously downloaded files without verifying piece hashes."
msgstr "继续之前的BT任务时, 无需再次校验分片 Hash。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:401
msgid "Seed ratio"
msgstr "做种比率"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:408
msgid "Seed time"
msgstr "做种时间"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:329
msgid "Seed unverified"
msgstr "不校验种子"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:211
msgid ""
"Send <code>Accept: deflate, gzip</code> request header and inflate response "
"if remote server responds with <code>Content-Encoding: gzip</code> or "
"<code>Content-Encoding: deflate</code>."
msgstr ""
"发送 <code>Accept: deflate, gzip</code> 请求头,当服务器响应头包含 "
"<code>Content-Encoding: gzip</code> 或者 <code>Content-Encoding: deflate</"
"code> 时解压响应数据。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:220
msgid ""
"Send <code>Cache-Control: no-cache</code> and <code>Pragma: no-cache</code> "
"header to avoid cached content. If disabled, these headers are not sent and "
"you can add Cache-Control header with a directive you like using \"Header\" "
"option."
msgstr ""
"发送 <code>Cache-Control: no-cache</code> 和 <code>Pragma: no-cache</code> 请"
"求头来防止缓存内容,禁用则不发送。你也可用使用“请求头”选项来设置 Cache-"
"Control 请求头。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:336
msgid ""
"Set TCP port number for BitTorrent downloads. Accept format: \"6881,6885\", "
"\"6881-6999\" and \"6881-6889,6999\". Make sure that the specified ports are "
"open for incoming TCP traffic."
msgstr ""
"为 BT 下载设置 TCP 端口。支持的格式:\"6881,6885\"\"6881-6999\" 和 "
"\"6881-6889,6999\"。请确保正确放行了这些端口的 TCP 入站通信。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:342
msgid ""
"Set UDP listening port used by DHT (IPv4, IPv6) and UDP tracker. Make sure "
"that the specified ports are open for incoming UDP traffic."
msgstr ""
"为 DHTIPv4IPv6和 UDP tracker 设置 UDP 监听端口。请确保正确放行了这些端"
"口的 UDP 入站通信。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:477
msgid ""
"Set max download speed per each download in bytes/sec. 0 means unrestricted."
msgstr "设置每个任务的最大下载速度(字节/秒0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:470
msgid "Set max overall download speed in bytes/sec. 0 means unrestricted."
msgstr "设置全局最大下载速度(字节/秒0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:355
msgid "Set max overall upload speed in bytes/sec. 0 means unrestricted."
msgstr "设置全局最大上传速度0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:362
msgid ""
"Set max upload speed per each torrent in bytes/sec. 0 means unrestricted."
msgstr "设置每个任务的最大上传速度(字节/秒0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:231
msgid ""
"Set the connect timeout in seconds to establish connection to HTTP/FTP/proxy "
"server. After the connection is established, this option makes no effect and "
"\"Timeout\" option is used instead."
msgstr ""
"设置 HTTP、FTP 和代理服务器的连接超时时间。当连接建立后,该选项失去作用,"
"而“超时时间”选项会被使用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:267
msgid "Set the seconds to wait between retries."
msgstr "设置重试的时间间隔。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:272
msgid "Set user agent for HTTP(S) downloads."
msgstr "为 HTTP(S) 下载设置用户代理。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
msgid "Settings"
msgstr "设置"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:483
msgid "Settings in this section will be added to config file."
msgstr "这个区域中的配置信息将被添加到配置文件中。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:487
msgid "Settings list"
msgstr "设置列表"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:161
msgid "Show URL"
msgstr "显示 URL"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:448
msgid ""
"Specify file allocation method. If you are using newer file systems such as "
"ext4 (with extents support), btrfs, xfs or NTFS (MinGW build only), "
"\"falloc\" is your best choice. It allocates large(few GiB) files almost "
"instantly, but it may not be available if your system doesn't have "
"posix_fallocate(3) function. Don't use \"falloc\" with legacy file systems "
"such as ext3 and FAT32 because it takes almost same time as \"prealloc\" and "
"it blocks aria2 entirely until allocation finishes."
msgstr ""
"指定文件分配方式。如果你使用的文件系统较新例如ext4支持扩展分区"
"btrfsxfs 或者 NTFS仅限 MinGW 版本),强烈推荐 \"falloc\",这种方式几乎能"
"立即分配比较大的文件GB但是它要求你的系统支持 posix_fallocate(3) 函数。"
"不要在 ext3 或者 FAT32 这些旧文件系统中使用 \"falloc\",因为它花费的时间和 "
"\"prealloc\" 几乎一样多,而且在文件分配过程中会阻塞整个 Aria2 进程。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:368
msgid ""
"Specify maximum number of files to open in multi-file BitTorrent download "
"globally."
msgstr "设置 BT 全局最大同时下载的文件数量。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:409
msgid ""
"Specify seeding time in minutes. If \"Seed ratio\" option is specified along "
"with this option, seeding ends when at least one of the conditions is "
"satisfied. Specifying 0 disables seeding after download completed."
msgstr ""
"指定做种时间(分钟)。如果同时指定了“做种比率”选项,那么将在任一条件满足时停"
"止做种。设置 0 表示下载完成后停止做种。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:402
msgid ""
"Specify share ratio. Seed completed torrents until share ratio reaches "
"RATIO. You are strongly encouraged to specify equals or more than 1.0 here. "
"Specify 0.0 if you intend to do seeding regardless of share ratio."
msgstr ""
"指定做种比率。BT 下载完成之后持续做种,直到比率达到指定值。强烈建议将此选项设"
"置为大于或等于 1.0。设置为 0.0 来无限做种。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:373
msgid "Specify the maximum number of peers per torrent, 0 means unlimited."
msgstr "设置每个 BT 任务的最大 Peer 数量0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:394
msgid ""
"Specify the prefix of peer ID. The peer ID in BitTorrent is 20 byte length. "
"If more than 20 bytes are specified, only first 20 bytes are used. If less "
"than 20 bytes are specified, random byte data are added to make its length "
"20 bytes."
msgstr ""
"配置对端 ID 前缀。对端 ID 的长度为 20 字节。如果配置超过了 20 字节,将仅使用"
"前面的 20 字节。如果配置少于 20 字节,将添加额外的随机字符来让长度达到 20 字"
"节。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:388
msgid ""
"Stop BitTorrent download if download speed is 0 in consecutive N seconds. If "
"0 is given, this feature is disabled."
msgstr ""
"当 BT 任务在 N 秒的持续时间内的下载速度一直为 0则停止下载。0 表示禁用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:387
msgid "Stop timeout"
msgstr "停止超时时间"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:48
msgid "The Aria2 service is not running."
msgstr "Aria2 服务未运行。"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:47
msgid "The Aria2 service is running."
msgstr "Aria2 服务正在运行。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:74
msgid "The directory to store the config file, session file and DHT file."
msgstr "用于放置配置文件,会话文件和 DHT 文件的目录。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:70
msgid ""
"The directory to store the downloaded file. For example <code>/mnt/sda1</"
"code>."
msgstr "用于放置下载文件的目录。例如:<code>/mnt/sda1</code>。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:81
msgid "The file name of the log file."
msgstr "日志文件名。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:249
msgid "The maximum number of connections to one server for each download."
msgstr "单一服务器最大连接数量。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:281
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:291
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:299
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:308
msgid "This option will be ignored if a private flag is set in a torrent."
msgstr "如果种子文件具有“私有”属性,该选项将会被忽略。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:236
msgid "Timeout"
msgstr "超时"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:117
msgid "Token"
msgstr "令牌"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:349
msgid "True"
msgstr "是"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:156
msgid "Use WebSocket"
msgstr "使用 WebSocket"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:170
msgid "Use a proxy server for all protocols."
msgstr "为所有协议设置代理服务器。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:190
msgid ""
"Use the certificate authorities in FILE to verify the peers. The certificate "
"file must be in PEM format and can contain multiple CA certificates."
msgstr ""
"使用文件中的证书来验证对端。证书文件必须为 PEM 格式并且可以包含多个证书。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:141
msgid ""
"Use the certificate in FILE for RPC server. The certificate must be either "
"in PKCS12 (.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
"certificate, a key and optionally a chain of additional certificates. Only "
"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
"you have to specify the \"RPC private key\" as well."
msgstr ""
"使用文件中的证书作为 RPC 服务器。证书必须为 PKCS12 (.p12, .pfx) 或者 PEM 格"
"式。<br/>PKCS12 文件必须包含证书,一个密钥和可选的附加证书链。只有导入密码为"
"空白的 PKCS12 文件才能被打开。<br/>使用 PEM 时你必须同时指定“RPC 私钥”。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:196
msgid ""
"Use the client certificate in FILE. The certificate must be either in PKCS12 "
"(.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
"certificate, a key and optionally a chain of additional certificates. Only "
"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
"you have to specify the \"Private key\" as well."
msgstr ""
"使用文件中的客户端证书。证书必须为 PKCS12 (.p12, .pfx) 或者 PEM 格式。<br/"
">PKCS12 文件必须包含证书,一个密钥和可选的附加证书链。只有导入密码为空白的 "
"PKCS12 文件才能被打开。<br/>使用 PEM 时你必须同时指定“RPC 私钥”。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:150
msgid ""
"Use the private key in FILE for RPC server. The private key must be "
"decrypted and in PEM format."
msgstr "使用文件中的私钥作为 RPC 服务器。私钥必须解密并且为 PEM 格式。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:204
msgid ""
"Use the private key in FILE. The private key must be decrypted and in PEM "
"format. The behavior when encrypted one is given is undefined."
msgstr "使用文件中的私钥。私钥必须解密并且为 PEM 格式,不支持加密的私钥。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:271
msgid "User agent"
msgstr "用户代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:116
msgid "Username & Password"
msgstr "用户名与密码"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:183
msgid ""
"Verify the peer using certificates specified in \"CA certificate\" option."
msgstr "使用“CA 证书”里配置的证书来验证对端。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:90
msgid "Warn"
msgstr "警告"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:244
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:356
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:363
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:383
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:443
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:471
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:478
msgid "You can append K or M."
msgstr "你可以追加 K 或者 M。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:457
msgid "falloc"
msgstr "falloc系统调测"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:455
msgid "prealloc"
msgstr "预分配"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:456
msgid "trunc"
msgstr "trunc系统调测"
msgid "Clear logs"
msgstr "清空日志"

View File

@ -0,0 +1,854 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-11-17 12:16+0000\n"
"Last-Translator: Eric <spice2wolf@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsaria2/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.9.1-dev\n"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:296
msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
msgstr "启用 <abbr title=\"本地对等发现\">LPD</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:414
msgid "Additional BT tracker"
msgstr "附加的 BT Tracker"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:419
msgid "Advanced Options"
msgstr "高级选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:169
msgid "All proxy"
msgstr "全局代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:228
msgid "Append HEADERs to HTTP request header."
msgstr "附加的 HTTP 请求头。"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:17
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
msgid "Aria2"
msgstr "Aria2"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:37
msgid ""
"Aria2 is a lightweight multi-protocol &amp; multi-source, cross platform "
"download utility."
msgstr "Aria2 是一个轻量、多线程,跨平台的下载工具。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:428
msgid "Auto save interval"
msgstr "自动保存间隔"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:56
msgid "Basic Options"
msgstr "基本选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:276
msgid "BitTorrent Options"
msgstr "BT 选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:335
msgid "BitTorrent listen port"
msgstr "BT监听端口"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:189
msgid "CA certificate"
msgstr "CA 证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:195
msgid "Certificate"
msgstr "证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:182
msgid "Check certificate"
msgstr "检查证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:242
msgid ""
"Close connection if download speed is lower than or equal to this value "
"(bytes per sec). 0 means has no lowest speed limit."
msgstr ""
"如果速度小于或等于这个速度(字节/秒关闭下载下载连接。0 表示不限制下载速"
"度。"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:49
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:29
msgid "Collecting data..."
msgstr "正在收集数据…"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:73
msgid "Config file directory"
msgstr "配置文件目录"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:22
msgid "Configuration"
msgstr "配置"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:230
msgid "Connect timeout"
msgstr "连接超时时间"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:19
msgid "Content of config file: <code>%s</code>"
msgstr "配置文件的内容:<code>%s</code>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:29
msgid "Content of session file: <code>%s</code>"
msgstr "会话文件的内容:<code>%s</code>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:341
msgid "DHT Listen port"
msgstr "DHT 监听端口"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:87
msgid "Debug"
msgstr "调试"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:422
msgid ""
"Disable IPv6. This is useful if you have to use broken DNS and want to avoid "
"terribly slow AAAA record lookup."
msgstr ""
"禁用 IPv6。如果你的 DNS 有问题并希望避免 AAAA 查询过慢,可以启用此选项。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:440
msgid "Disk cache"
msgstr "磁盘缓存"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:259
msgid "Don't split less than 2*SIZE byte range. Possible values: 1M-1024M."
msgstr "当数据小于 2*SIZE 时不分割。可能的值1M-1024M。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:254
msgid "Download a file using N connections."
msgstr "使用 N 个线程下载文件。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:69
msgid "Download directory"
msgstr "下载目录"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:26
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:36
msgid "Empty file."
msgstr "文件为空。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:280
msgid "Enable IPv4 DHT functionality. It also enables UDP tracker support."
msgstr "启用 IPv4 DHT 功能。会同时启用 UDP Tracker 支持。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:290
msgid "Enable IPv6 DHT functionality."
msgstr "启用 IPv6 DHT 功能。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:298
msgid "Enable Local Peer Discovery."
msgstr "启用本地 Peer 查找。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:307
msgid "Enable Peer Exchange extension."
msgstr "启用 Peer 交换扩展。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:442
msgid "Enable disk cache (in bytes), set 0 to disabled."
msgstr "启用硬盘缓存以字节为单位0 表示禁用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:77
msgid "Enable logging"
msgstr "启用日志"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:305
msgid "Enable peer exchange"
msgstr "启用对等交换"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:166
msgid "Enable proxy"
msgstr "启用代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:58
msgid "Enabled"
msgstr "已启用"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:91
msgid "Error"
msgstr "错误"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:44
msgid "Error: Can't find aria2c in PATH, please reinstall aria2."
msgstr "错误:未在 PATH 中找到 aria2c请重新安装 Aria2。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:482
msgid "Extra Settings"
msgstr "附加选项"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:39
msgid "Failed to load log data."
msgstr "获取日志数据失败。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:350
msgid "False"
msgstr "否"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:447
msgid "File allocation"
msgstr "文件分配"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:25
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:35
msgid "File does not exist."
msgstr "文件不存在。"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:25
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
msgid "Files"
msgstr "文件"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:348
msgid "Follow torrent"
msgstr "自动添加下载的种子"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:38
msgid "For more information, please visit: %s"
msgstr "获取更多信息,请访问:%s"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:460
msgid "Force save"
msgstr "强制保存"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:129
msgid "Generate Randomly"
msgstr "随机生成"
#: applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json:3
msgid "Grant UCI access for luci-app-aria2"
msgstr "允许 luci-app-aria2 访问 UCI"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:210
msgid "HTTP accept gzip"
msgstr "HTTP 接受 Gzip"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:219
msgid "HTTP no cache"
msgstr "HTTP 无缓存"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:164
msgid "HTTP/FTP/SFTP Options"
msgstr "HTTP/FTP/SFTP 选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:227
msgid "Header"
msgstr "请求头"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:15
msgid "Here shows the files used by aria2."
msgstr "这里展示了 Aria2 使用的文件。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:278
msgid "IPv4 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr "启用 IPv4 <abbr title=\"分布式哈希表\">DHT</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:288
msgid "IPv6 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr "启用 IPv6 <abbr title=\"分布式哈希表\">DHT</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:421
msgid "IPv6 disabled"
msgstr "禁用 IPv6"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:379
msgid ""
"If the whole download speed of every torrent is lower than SPEED, aria2 "
"temporarily increases the number of peers to try for more download speed. "
"Configuring this option with your preferred download speed can increase your "
"download speed in some cases."
msgstr ""
"如果某个 BT 任务的下载速度小于配置的速度Aria2 会临时提高对端的数量来尝试获"
"得更大的下载速度。在某些情况下,配置此选项能提高你的下载速度。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:88
msgid "Info"
msgstr "信息"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:33
msgid "Installed web interface:"
msgstr "已安装的 WEB 界面:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:158
msgid "Json-RPC URL"
msgstr "Json-RPC 统一资源定位地址"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:351
msgid "Keep in memory"
msgstr "保存在内存中"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:34
msgid "Last 50 lines of log file:"
msgstr "日志文件的最新 50 行:"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:36
msgid "Last 50 lines of syslog:"
msgstr "系统日志的最新 50 行:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:62
msgid "Leave blank to use default user."
msgstr "留空以使用默认用户。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:415
msgid "List of additional BitTorrent tracker's announce URI."
msgstr "额外的 BT Tracker 通告链接。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:488
msgid ""
"List of extra settings. Format: option=value, eg. <code>netrc-path=/tmp/."
"netrc</code>."
msgstr ""
"额外设置的列表。格式:选项=值,例如:<code>netrc-path=/tmp/.netrc</code>。"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:48
msgid "Loading"
msgstr "加载中"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:28
msgid "Log"
msgstr "日志"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
msgid "Log Data"
msgstr "日志数据"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:80
msgid "Log file"
msgstr "日志文件"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:85
msgid "Log level"
msgstr "日志记录等级"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:240
msgid "Lowest speed limit"
msgstr "最低限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:94
msgid "Max concurrent downloads"
msgstr "最大同时下载任务数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:248
msgid "Max connection per server"
msgstr "单服务器最大连接数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:475
msgid "Max download limit"
msgstr "最大下载限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:253
msgid "Max number of split"
msgstr "单文件最大线程数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:367
msgid "Max open files"
msgstr "最大打开文件数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:468
msgid "Max overall download limit"
msgstr "最大全局下载限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:353
msgid "Max overall upload limit"
msgstr "最大全局上传限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:372
msgid "Max peers"
msgstr "最大 Peer 数量"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:262
msgid "Max tries"
msgstr "最大重试次数"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:360
msgid "Max upload limit"
msgstr "最大上传限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:258
msgid "Min split size"
msgstr "最小文件分片大小"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:115
msgid "No Authentication"
msgstr "无认证"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:35
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:37
msgid "No log data."
msgstr "无日志数据。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:454
msgid "None"
msgstr "无"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:89
msgid "Notice"
msgstr "注意"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
msgid "Pause"
msgstr "暂停"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
msgid "Pause download after added."
msgstr "在下载任务添加后暂停。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:105
msgid "Pause downloads created as a result of metadata download."
msgstr "暂停下载内容为元数据的下载(磁力链接和 Matalink。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:104
msgid "Pause metadata"
msgstr "暂停元数据"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:64
msgid "Please input token length:"
msgstr "请输入密钥长度:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:393
msgid "Prefix of peer ID"
msgstr "对端 ID 前缀"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:203
msgid "Private key"
msgstr "私钥"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:177
msgid "Proxy password"
msgstr "代理密码"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:174
msgid "Proxy user"
msgstr "代理用户名"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:97
msgid "RPC Options"
msgstr "RPC 选项"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:114
msgid "RPC authentication method"
msgstr "RPC 认证方式"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:140
msgid "RPC certificate"
msgstr "RPC 证书"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:122
msgid "RPC password"
msgstr "RPC 密码"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:110
msgid "RPC port"
msgstr "RPC 端口"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:149
msgid "RPC private key"
msgstr "RPC 私钥"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:133
msgid "RPC secure"
msgstr "RPC 加密"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:126
msgid "RPC token"
msgstr "RPC 令牌"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:134
msgid ""
"RPC transport will be encrypted by SSL/TLS. The RPC clients must use https "
"scheme to access the server. For WebSocket client, use wss scheme."
msgstr ""
"用 SSL/TLS 加密 RPC 连接。RPC 客户端必须使用 HTTPS 协议来连接服务端,对于 "
"WebSocket 客户端,则使用 WSS 协议。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:119
msgid "RPC username"
msgstr "RPC 用户名"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:51
msgid "Refresh every 10 seconds."
msgstr "每 10 秒刷新。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:322
msgid "Remove unselected file"
msgstr "删除未选择的文件"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:323
msgid ""
"Removes the unselected files when download is completed in BitTorrent. "
"Please use this option with care because it will actually remove files from "
"your disk."
msgstr "BT 下载完成时删除未选择的文件。文件将从磁盘中被完全删除,请谨慎使用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:377
msgid "Request peer speed limit"
msgstr "单个 Peer 限速"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:266
msgid "Retry wait"
msgstr "重试等待"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:61
msgid "Run daemon as user"
msgstr "以此用户权限运行"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:429
msgid ""
"Save a control file (*.aria2) every N seconds. If 0 is given, a control file "
"is not saved during download."
msgstr ""
"每 N 秒保存下载“控制文件”(*.aria2。设置 0 表示在下载过程中不保存控制文件。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:461
msgid ""
"Save download to session file even if the download is completed or removed. "
"This option also saves control file in that situations. This may be useful "
"to save BitTorrent seeding which is recognized as completed state."
msgstr ""
"即使下载已完成或已删除,也将其保存到会话文件。开启此选项也会同时保存“控制文"
"件”。此选项可能有助于保持被识别为已完成状态的 BT 做种。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:435
msgid ""
"Save error/unfinished downloads to session file every N seconds. If 0 is "
"given, file will be saved only when aria2 exits."
msgstr ""
"每 N 秒将失败的/未完成的下载保存到 Session 文件。设置 0 则仅在 Aria2 退出时保"
"存。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:316
msgid ""
"Save meta data as \".torrent\" file. This option has effect only when "
"BitTorrent Magnet URI is used. The file name is hex encoded info hash with "
"suffix \".torrent\"."
msgstr ""
"将元数据保存到 \".torrent\" 文件。此选项仅在下载连接为 BT 磁力链接时生效。文"
"件名为 Hash 值,后缀为 \".torrent\"。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:315
msgid "Save metadata"
msgstr "保存元数据"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:434
msgid "Save session interval"
msgstr "会话保存间隔"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:330
msgid "Seed previously downloaded files without verifying piece hashes."
msgstr "继续之前的BT任务时, 无需再次校验分片 Hash。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:401
msgid "Seed ratio"
msgstr "做种比率"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:408
msgid "Seed time"
msgstr "做种时间"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:329
msgid "Seed unverified"
msgstr "不校验种子"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:211
msgid ""
"Send <code>Accept: deflate, gzip</code> request header and inflate response "
"if remote server responds with <code>Content-Encoding: gzip</code> or "
"<code>Content-Encoding: deflate</code>."
msgstr ""
"发送 <code>Accept: deflate, gzip</code> 请求头,当服务器响应头包含 "
"<code>Content-Encoding: gzip</code> 或者 <code>Content-Encoding: deflate</"
"code> 时解压响应数据。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:220
msgid ""
"Send <code>Cache-Control: no-cache</code> and <code>Pragma: no-cache</code> "
"header to avoid cached content. If disabled, these headers are not sent and "
"you can add Cache-Control header with a directive you like using \"Header\" "
"option."
msgstr ""
"发送 <code>Cache-Control: no-cache</code> 和 <code>Pragma: no-cache</code> 请"
"求头来防止缓存内容,禁用则不发送。你也可用使用“请求头”选项来设置 Cache-"
"Control 请求头。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:336
msgid ""
"Set TCP port number for BitTorrent downloads. Accept format: \"6881,6885\", "
"\"6881-6999\" and \"6881-6889,6999\". Make sure that the specified ports are "
"open for incoming TCP traffic."
msgstr ""
"为 BT 下载设置 TCP 端口。支持的格式:\"6881,6885\"\"6881-6999\" 和 "
"\"6881-6889,6999\"。请确保正确放行了这些端口的 TCP 入站通信。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:342
msgid ""
"Set UDP listening port used by DHT (IPv4, IPv6) and UDP tracker. Make sure "
"that the specified ports are open for incoming UDP traffic."
msgstr ""
"为 DHTIPv4IPv6和 UDP tracker 设置 UDP 监听端口。请确保正确放行了这些端"
"口的 UDP 入站通信。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:477
msgid ""
"Set max download speed per each download in bytes/sec. 0 means unrestricted."
msgstr "设置每个任务的最大下载速度(字节/秒0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:470
msgid "Set max overall download speed in bytes/sec. 0 means unrestricted."
msgstr "设置全局最大下载速度(字节/秒0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:355
msgid "Set max overall upload speed in bytes/sec. 0 means unrestricted."
msgstr "设置全局最大上传速度0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:362
msgid ""
"Set max upload speed per each torrent in bytes/sec. 0 means unrestricted."
msgstr "设置每个任务的最大上传速度(字节/秒0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:231
msgid ""
"Set the connect timeout in seconds to establish connection to HTTP/FTP/proxy "
"server. After the connection is established, this option makes no effect and "
"\"Timeout\" option is used instead."
msgstr ""
"设置 HTTP、FTP 和代理服务器的连接超时时间。当连接建立后,该选项失去作用,"
"而“超时时间”选项会被使用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:267
msgid "Set the seconds to wait between retries."
msgstr "设置重试的时间间隔。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:272
msgid "Set user agent for HTTP(S) downloads."
msgstr "为 HTTP(S) 下载设置用户代理。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
msgid "Settings"
msgstr "设置"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:483
msgid "Settings in this section will be added to config file."
msgstr "这个区域中的配置信息将被添加到配置文件中。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:487
msgid "Settings list"
msgstr "设置列表"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:161
msgid "Show URL"
msgstr "显示 URL"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:448
msgid ""
"Specify file allocation method. If you are using newer file systems such as "
"ext4 (with extents support), btrfs, xfs or NTFS (MinGW build only), "
"\"falloc\" is your best choice. It allocates large(few GiB) files almost "
"instantly, but it may not be available if your system doesn't have "
"posix_fallocate(3) function. Don't use \"falloc\" with legacy file systems "
"such as ext3 and FAT32 because it takes almost same time as \"prealloc\" and "
"it blocks aria2 entirely until allocation finishes."
msgstr ""
"指定文件分配方式。如果你使用的文件系统较新例如ext4支持扩展分区"
"btrfsxfs 或者 NTFS仅限 MinGW 版本),强烈推荐 \"falloc\",这种方式几乎能"
"立即分配比较大的文件GB但是它要求你的系统支持 posix_fallocate(3) 函数。"
"不要在 ext3 或者 FAT32 这些旧文件系统中使用 \"falloc\",因为它花费的时间和 "
"\"prealloc\" 几乎一样多,而且在文件分配过程中会阻塞整个 Aria2 进程。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:368
msgid ""
"Specify maximum number of files to open in multi-file BitTorrent download "
"globally."
msgstr "设置 BT 全局最大同时下载的文件数量。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:409
msgid ""
"Specify seeding time in minutes. If \"Seed ratio\" option is specified along "
"with this option, seeding ends when at least one of the conditions is "
"satisfied. Specifying 0 disables seeding after download completed."
msgstr ""
"指定做种时间(分钟)。如果同时指定了“做种比率”选项,那么将在任一条件满足时停"
"止做种。设置 0 表示下载完成后停止做种。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:402
msgid ""
"Specify share ratio. Seed completed torrents until share ratio reaches "
"RATIO. You are strongly encouraged to specify equals or more than 1.0 here. "
"Specify 0.0 if you intend to do seeding regardless of share ratio."
msgstr ""
"指定做种比率。BT 下载完成之后持续做种,直到比率达到指定值。强烈建议将此选项设"
"置为大于或等于 1.0。设置为 0.0 来无限做种。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:373
msgid "Specify the maximum number of peers per torrent, 0 means unlimited."
msgstr "设置每个 BT 任务的最大 Peer 数量0 表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:394
msgid ""
"Specify the prefix of peer ID. The peer ID in BitTorrent is 20 byte length. "
"If more than 20 bytes are specified, only first 20 bytes are used. If less "
"than 20 bytes are specified, random byte data are added to make its length "
"20 bytes."
msgstr ""
"配置对端 ID 前缀。对端 ID 的长度为 20 字节。如果配置超过了 20 字节,将仅使用"
"前面的 20 字节。如果配置少于 20 字节,将添加额外的随机字符来让长度达到 20 字"
"节。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:388
msgid ""
"Stop BitTorrent download if download speed is 0 in consecutive N seconds. If "
"0 is given, this feature is disabled."
msgstr ""
"当 BT 任务在 N 秒的持续时间内的下载速度一直为 0则停止下载。0 表示禁用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:387
msgid "Stop timeout"
msgstr "停止超时时间"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:48
msgid "The Aria2 service is not running."
msgstr "Aria2 服务未运行。"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:47
msgid "The Aria2 service is running."
msgstr "Aria2 服务正在运行。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:74
msgid "The directory to store the config file, session file and DHT file."
msgstr "用于放置配置文件,会话文件和 DHT 文件的目录。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:70
msgid ""
"The directory to store the downloaded file. For example <code>/mnt/sda1</"
"code>."
msgstr "用于放置下载文件的目录。例如:<code>/mnt/sda1</code>。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:81
msgid "The file name of the log file."
msgstr "日志文件名。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:249
msgid "The maximum number of connections to one server for each download."
msgstr "单一服务器最大连接数量。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:281
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:291
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:299
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:308
msgid "This option will be ignored if a private flag is set in a torrent."
msgstr "如果种子文件具有“私有”属性,该选项将会被忽略。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:236
msgid "Timeout"
msgstr "超时"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:117
msgid "Token"
msgstr "令牌"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:349
msgid "True"
msgstr "是"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:156
msgid "Use WebSocket"
msgstr "使用 WebSocket"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:170
msgid "Use a proxy server for all protocols."
msgstr "为所有协议设置代理服务器。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:190
msgid ""
"Use the certificate authorities in FILE to verify the peers. The certificate "
"file must be in PEM format and can contain multiple CA certificates."
msgstr ""
"使用文件中的证书来验证对端。证书文件必须为 PEM 格式并且可以包含多个证书。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:141
msgid ""
"Use the certificate in FILE for RPC server. The certificate must be either "
"in PKCS12 (.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
"certificate, a key and optionally a chain of additional certificates. Only "
"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
"you have to specify the \"RPC private key\" as well."
msgstr ""
"使用文件中的证书作为 RPC 服务器。证书必须为 PKCS12 (.p12, .pfx) 或者 PEM 格"
"式。<br/>PKCS12 文件必须包含证书,一个密钥和可选的附加证书链。只有导入密码为"
"空白的 PKCS12 文件才能被打开。<br/>使用 PEM 时你必须同时指定“RPC 私钥”。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:196
msgid ""
"Use the client certificate in FILE. The certificate must be either in PKCS12 "
"(.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
"certificate, a key and optionally a chain of additional certificates. Only "
"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
"you have to specify the \"Private key\" as well."
msgstr ""
"使用文件中的客户端证书。证书必须为 PKCS12 (.p12, .pfx) 或者 PEM 格式。<br/"
">PKCS12 文件必须包含证书,一个密钥和可选的附加证书链。只有导入密码为空白的 "
"PKCS12 文件才能被打开。<br/>使用 PEM 时你必须同时指定“RPC 私钥”。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:150
msgid ""
"Use the private key in FILE for RPC server. The private key must be "
"decrypted and in PEM format."
msgstr "使用文件中的私钥作为 RPC 服务器。私钥必须解密并且为 PEM 格式。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:204
msgid ""
"Use the private key in FILE. The private key must be decrypted and in PEM "
"format. The behavior when encrypted one is given is undefined."
msgstr "使用文件中的私钥。私钥必须解密并且为 PEM 格式,不支持加密的私钥。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:271
msgid "User agent"
msgstr "用户代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:116
msgid "Username & Password"
msgstr "用户名与密码"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:183
msgid ""
"Verify the peer using certificates specified in \"CA certificate\" option."
msgstr "使用“CA 证书”里配置的证书来验证对端。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:90
msgid "Warn"
msgstr "警告"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:244
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:356
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:363
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:383
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:443
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:471
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:478
msgid "You can append K or M."
msgstr "你可以追加 K 或者 M。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:457
msgid "falloc"
msgstr "falloc系统调测"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:455
msgid "prealloc"
msgstr "预分配"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:456
msgid "trunc"
msgstr "trunc系统调测"
msgid "Clear logs"
msgstr "清空日志"

View File

@ -0,0 +1,860 @@
#
# Yangfl <mmyangfl@gmail.com>, 2017, 2018.
#
msgid ""
msgstr ""
"PO-Revision-Date: 2022-04-21 23:00+0000\n"
"Last-Translator: Hulen <shift0106@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsaria2/zh_Hant/>\n"
"Language: zh_Hant\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.12-dev\n"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:296
msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
msgstr "啟用 <abbr title=\"Local Peer Discovery\">LPD</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:414
msgid "Additional BT tracker"
msgstr "附加 BitTorrent tracker"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:419
msgid "Advanced Options"
msgstr "進階選項"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:169
msgid "All proxy"
msgstr "全部代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:228
msgid "Append HEADERs to HTTP request header."
msgstr "附加該值到 HTTP 請求頭。"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:17
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
msgid "Aria2"
msgstr "Aria2"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:37
msgid ""
"Aria2 is a lightweight multi-protocol &amp; multi-source, cross platform "
"download utility."
msgstr "Aria2 是一個輕量化且支援多協定、多來源的跨平台下載工具。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:428
msgid "Auto save interval"
msgstr "自動儲存間隔"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:56
msgid "Basic Options"
msgstr "基本選項"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:276
msgid "BitTorrent Options"
msgstr "BitTorrent 選項"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:335
msgid "BitTorrent listen port"
msgstr "BitTorrent 監聽埠號"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:189
msgid "CA certificate"
msgstr "CA 憑證"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:195
msgid "Certificate"
msgstr "憑證"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:182
msgid "Check certificate"
msgstr "檢查憑證"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:242
msgid ""
"Close connection if download speed is lower than or equal to this value "
"(bytes per sec). 0 means has no lowest speed limit."
msgstr "下載速度小於或等於該值單位B/s時關閉連線輸入 0 則表示不限速。"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:49
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:29
msgid "Collecting data..."
msgstr "正在收集資料中…"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:73
msgid "Config file directory"
msgstr "組態檔目錄"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:22
msgid "Configuration"
msgstr "組態"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:230
msgid "Connect timeout"
msgstr "連線逾時值"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:19
msgid "Content of config file: <code>%s</code>"
msgstr "組態檔內容:<code>%s</code>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:29
msgid "Content of session file: <code>%s</code>"
msgstr "工作階段檔內容:<code>%s</code>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:341
msgid "DHT Listen port"
msgstr "DHT 監聽埠號"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:87
msgid "Debug"
msgstr "除錯"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:422
msgid ""
"Disable IPv6. This is useful if you have to use broken DNS and want to avoid "
"terribly slow AAAA record lookup."
msgstr ""
"停用 IPv6如果您的 IPv6 連線不穩定,並希望 DNS 避免查詢緩慢的 AAAA 紀錄,請"
"啟用此選項。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:440
msgid "Disk cache"
msgstr "磁碟快取"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:259
msgid "Don't split less than 2*SIZE byte range. Possible values: 1M-1024M."
msgstr ""
"檔案的最小分割大小取值範圍1-1024M如果「檔案大小」小於該值的 2 倍,則"
"不會分割此檔案。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:254
msgid "Download a file using N connections."
msgstr "檔案的最大分割數量;下載該檔案時將使用同等數量的執行緒。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:69
msgid "Download directory"
msgstr "下載目錄"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:26
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:36
msgid "Empty file."
msgstr "檔案為空。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:280
msgid "Enable IPv4 DHT functionality. It also enables UDP tracker support."
msgstr ""
"啟用 IPv4「分散式雜湊表」功能這將同時啟用對「UDP tracker 協定」的支援。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:290
msgid "Enable IPv6 DHT functionality."
msgstr "啟用 IPv6「分散式雜湊表」功能。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:298
msgid "Enable Local Peer Discovery."
msgstr "啟用「本地節點發現」。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:307
msgid "Enable Peer Exchange extension."
msgstr "啟用「節點交換」擴充套件。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:442
msgid "Enable disk cache (in bytes), set 0 to disabled."
msgstr "啟用磁碟快取單位B輸入 0 則表示停用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:77
msgid "Enable logging"
msgstr "啟用日誌記錄"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:305
msgid "Enable peer exchange"
msgstr "啟用 PEX"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:166
msgid "Enable proxy"
msgstr "啟用代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:58
msgid "Enabled"
msgstr "啟用"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:91
msgid "Error"
msgstr "錯誤"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:44
msgid "Error: Can't find aria2c in PATH, please reinstall aria2."
msgstr "錯誤PATH 中找不到 aria2c請重新安裝 Aria2。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:482
msgid "Extra Settings"
msgstr "額外設定"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:39
msgid "Failed to load log data."
msgstr "日誌資料載入失敗。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:350
msgid "False"
msgstr "否"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:447
msgid "File allocation"
msgstr "檔案分配"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:25
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:35
msgid "File does not exist."
msgstr "檔案不存在。"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:25
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:14
msgid "Files"
msgstr "檔案"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:348
msgid "Follow torrent"
msgstr "下載種子後自動建立其下載任務"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:38
msgid "For more information, please visit: %s"
msgstr "請參閱 %s 以獲得更多資訊"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:460
msgid "Force save"
msgstr "強制儲存"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:129
msgid "Generate Randomly"
msgstr "隨機產生"
#: applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json:3
msgid "Grant UCI access for luci-app-aria2"
msgstr "授予 luci-app-aria2 擁有 UCI 存取的權限"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:210
msgid "HTTP accept gzip"
msgstr "啟用 HTTP 壓縮"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:219
msgid "HTTP no cache"
msgstr "HTTP 不快取"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:164
msgid "HTTP/FTP/SFTP Options"
msgstr "HTTP/FTP/SFTP 選項"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:227
msgid "Header"
msgstr "頭欄位"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/files.lua:15
msgid "Here shows the files used by aria2."
msgstr "在這裡顯示 Aria2 使用的檔案。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:278
msgid "IPv4 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr "啟用 IPv4 <abbr title=\"Distributed Hash Table\">DHT</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:288
msgid "IPv6 <abbr title=\"Distributed Hash Table\">DHT</abbr> enabled"
msgstr "啟用 IPv6 <abbr title=\"Distributed Hash Table\">DHT</abbr>"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:421
msgid "IPv6 disabled"
msgstr "停用 IPv6"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:379
msgid ""
"If the whole download speed of every torrent is lower than SPEED, aria2 "
"temporarily increases the number of peers to try for more download speed. "
"Configuring this option with your preferred download speed can increase your "
"download speed in some cases."
msgstr ""
"如果某個 BT 任務的下載速度小於設定的速度Aria2 會臨時提高 Peer 的數量來嘗試"
"取得更大的下載速度。在某些情況下,設定此選項能提高您的下載速度。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:88
msgid "Info"
msgstr "資訊"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:33
msgid "Installed web interface:"
msgstr "已安装的 Web 介面:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:158
msgid "Json-RPC URL"
msgstr "JSON-RPC URL"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:351
msgid "Keep in memory"
msgstr "是,但不會儲存種子"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:34
msgid "Last 50 lines of log file:"
msgstr "日誌檔最後 50 行內容:"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:36
msgid "Last 50 lines of syslog:"
msgstr "系統日誌最後 50 行內容:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:62
msgid "Leave blank to use default user."
msgstr "如果不選擇,則使用預設使用者。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:415
msgid "List of additional BitTorrent tracker's announce URI."
msgstr "附加 BitTorrent tracker 清單的發布 URI。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:488
msgid ""
"List of extra settings. Format: option=value, eg. <code>netrc-path=/tmp/."
"netrc</code>."
msgstr ""
"額外設定清單;格式為 option=value例如<code>netrc-path=/tmp/.netrc</"
"code>)。"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:48
msgid "Loading"
msgstr "正在載入中"
#: applications/luci-app-aria2/luasrc/controller/aria2.lua:28
msgid "Log"
msgstr "日誌"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:45
msgid "Log Data"
msgstr "日誌資料"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:80
msgid "Log file"
msgstr "日誌檔"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:85
msgid "Log level"
msgstr "日誌級別"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:240
msgid "Lowest speed limit"
msgstr "最小速度限制"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:94
msgid "Max concurrent downloads"
msgstr "最大同時下載任務數"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:248
msgid "Max connection per server"
msgstr "同一伺服器最大連線數"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:475
msgid "Max download limit"
msgstr "最大下載速度限制"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:253
msgid "Max number of split"
msgstr "最大分割數量"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:367
msgid "Max open files"
msgstr "最大檔案開啟數"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:468
msgid "Max overall download limit"
msgstr "最大整體下載速度限制"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:353
msgid "Max overall upload limit"
msgstr "最大整體上傳速度限制"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:372
msgid "Max peers"
msgstr "最大節點數量"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:262
msgid "Max tries"
msgstr "最大重試次數"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:360
msgid "Max upload limit"
msgstr "最大上傳速度限制"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:258
msgid "Min split size"
msgstr "最小分割大小"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:115
msgid "No Authentication"
msgstr "不認證"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:35
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:37
msgid "No log data."
msgstr "日誌資料為空。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:454
msgid "None"
msgstr "無"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:89
msgid "Notice"
msgstr "注意"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
msgid "Pause"
msgstr "暫停"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:99
msgid "Pause download after added."
msgstr "加入任務後,暫停此下載任務。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:105
msgid "Pause downloads created as a result of metadata download."
msgstr "元資料下載完成後,暫停由其建立的後續下載任務。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:104
msgid "Pause metadata"
msgstr "暫停元資料"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:64
msgid "Please input token length:"
msgstr "請輸入權杖長度:"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:393
msgid "Prefix of peer ID"
msgstr "Peer ID 字首"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:203
msgid "Private key"
msgstr "私鑰"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:177
msgid "Proxy password"
msgstr "代理密碼"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:174
msgid "Proxy user"
msgstr "代理使用者名稱"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:97
msgid "RPC Options"
msgstr "RPC 選項"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:114
msgid "RPC authentication method"
msgstr "RPC 認證方法"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:140
msgid "RPC certificate"
msgstr "RPC 憑證"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:122
msgid "RPC password"
msgstr "RPC 密碼"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:110
msgid "RPC port"
msgstr "RPC 埠號"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:149
msgid "RPC private key"
msgstr "RPC 私鑰"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:133
msgid "RPC secure"
msgstr "RPC 加密"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:126
msgid "RPC token"
msgstr "RPC 權杖"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:134
msgid ""
"RPC transport will be encrypted by SSL/TLS. The RPC clients must use https "
"scheme to access the server. For WebSocket client, use wss scheme."
msgstr ""
"通過 SSL/TLS 加密 RPC 傳輸RPC 客戶端必須使用「HTTPS 協定」來存取伺服器,"
"WebSocket 客戶端則使用「WWS 協定」。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:119
msgid "RPC username"
msgstr "RPC 使用者名稱"
#: applications/luci-app-aria2/luasrc/view/aria2/log_template.htm:51
msgid "Refresh every 10 seconds."
msgstr "每 10 秒重新整理一次。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:322
msgid "Remove unselected file"
msgstr "移除未選擇的檔案"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:323
msgid ""
"Removes the unselected files when download is completed in BitTorrent. "
"Please use this option with care because it will actually remove files from "
"your disk."
msgstr ""
"BitTorrent 下載完成時移除未選擇的檔案;檔案將從您的磁碟中永久移除,請小心使用"
"此選項。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:377
msgid "Request peer speed limit"
msgstr "請求節點速度限制"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:266
msgid "Retry wait"
msgstr "重試等待"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:61
msgid "Run daemon as user"
msgstr "執行守護行程的使用者"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:429
msgid ""
"Save a control file (*.aria2) every N seconds. If 0 is given, a control file "
"is not saved during download."
msgstr ""
"每 N 秒儲存下載「控制檔案」(*.aria2)。設定 0 表示在下載過程中不儲存控制檔案。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:461
msgid ""
"Save download to session file even if the download is completed or removed. "
"This option also saves control file in that situations. This may be useful "
"to save BitTorrent seeding which is recognized as completed state."
msgstr ""
"即使下載任務已完成或已移除,也將其儲存到「工作階段檔」;於此同時,啟用此選項"
"還會儲存「控制檔」。這可能有助於您儲存被辨識為「已完成狀態」的 BitTorrent 種"
"子。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:435
msgid ""
"Save error/unfinished downloads to session file every N seconds. If 0 is "
"given, file will be saved only when aria2 exits."
msgstr ""
"每 N 秒將失敗的/未完成的下載儲存到工作階段檔案。設定 0 則僅在 Aria2 退出時儲"
"存。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:316
msgid ""
"Save meta data as \".torrent\" file. This option has effect only when "
"BitTorrent Magnet URI is used. The file name is hex encoded info hash with "
"suffix \".torrent\"."
msgstr ""
"儲存元資料為 \".torrent\" 檔案;此選項僅在使用 BitTorrent 磁力連結下載時生"
"效。檔案名稱(包含字尾 \".torrent\")為十六進位編碼的雜湊值。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:315
msgid "Save metadata"
msgstr "儲存元資料"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:434
msgid "Save session interval"
msgstr "工作階段儲存間隔"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:330
msgid "Seed previously downloaded files without verifying piece hashes."
msgstr "繼續之前的 BT 任務時, 無需再次校驗分片雜湊。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:401
msgid "Seed ratio"
msgstr "做種比例"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:408
msgid "Seed time"
msgstr "做種時間"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:329
msgid "Seed unverified"
msgstr "不校驗種子"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:211
msgid ""
"Send <code>Accept: deflate, gzip</code> request header and inflate response "
"if remote server responds with <code>Content-Encoding: gzip</code> or "
"<code>Content-Encoding: deflate</code>."
msgstr ""
"傳送請求頭欄位:<code>Accept: deflate, gzip</code>;當遠端伺服器的回應頭中具"
"有 <code>Content-Encoding: gzip</code> 或 <code>Content-Encoding: deflate</"
"code> 時解壓回應資料,以提高資料傳輸速度。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:220
msgid ""
"Send <code>Cache-Control: no-cache</code> and <code>Pragma: no-cache</code> "
"header to avoid cached content. If disabled, these headers are not sent and "
"you can add Cache-Control header with a directive you like using \"Header\" "
"option."
msgstr ""
"傳送 <code>Cache-Control: no-cache</code> 和 <code>Pragma: no-cache</code> 請"
"求標頭來防止快取內容,停用則不傳送。您也可用使用「請求標頭」選項來設定 Cache-"
"Control 請求標頭。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:336
msgid ""
"Set TCP port number for BitTorrent downloads. Accept format: \"6881,6885\", "
"\"6881-6999\" and \"6881-6889,6999\". Make sure that the specified ports are "
"open for incoming TCP traffic."
msgstr ""
"為 BitTorrent 下載設定 TCP 連接埠。支援的格式「6881,6885」「6881-6999」和"
"「6881-6889,6999」。請確保正確放行了這些連接埠的 TCP 入站通信。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:342
msgid ""
"Set UDP listening port used by DHT (IPv4, IPv6) and UDP tracker. Make sure "
"that the specified ports are open for incoming UDP traffic."
msgstr ""
"設定用於 DHT (IPv4, IPv6) 和 UDP tracker 協定的 UDP 監聽埠;請確保指定的通訊"
"埠允許 UDP 傳入流量。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:477
msgid ""
"Set max download speed per each download in bytes/sec. 0 means unrestricted."
msgstr "設定每個任務的最大下載速度單位B/s輸入 0 則表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:470
msgid "Set max overall download speed in bytes/sec. 0 means unrestricted."
msgstr "設定整體的最大下載速度單位B/s輸入 0 則表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:355
msgid "Set max overall upload speed in bytes/sec. 0 means unrestricted."
msgstr "設定整體的最大上傳速度單位B/s輸入 0 則表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:362
msgid ""
"Set max upload speed per each torrent in bytes/sec. 0 means unrestricted."
msgstr "設定每個任務的最大上傳速度單位B/s輸入 0 則表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:231
msgid ""
"Set the connect timeout in seconds to establish connection to HTTP/FTP/proxy "
"server. After the connection is established, this option makes no effect and "
"\"Timeout\" option is used instead."
msgstr ""
"設定 HTTP、FTP 和代理伺服器的連線逾時時間。當連線建立後,該選項失去作用,而"
"「逾時時間」選項會被使用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:267
msgid "Set the seconds to wait between retries."
msgstr "設定重試的等待間隔秒數。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:272
msgid "Set user agent for HTTP(S) downloads."
msgstr "為 HTTP(S) 下載設定使用者代理。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:35
msgid "Settings"
msgstr "設定"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:483
msgid "Settings in this section will be added to config file."
msgstr "此部分的設定將被加入到組態檔。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:487
msgid "Settings list"
msgstr "設定清單"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:161
msgid "Show URL"
msgstr "顯示 URL"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:448
msgid ""
"Specify file allocation method. If you are using newer file systems such as "
"ext4 (with extents support), btrfs, xfs or NTFS (MinGW build only), "
"\"falloc\" is your best choice. It allocates large(few GiB) files almost "
"instantly, but it may not be available if your system doesn't have "
"posix_fallocate(3) function. Don't use \"falloc\" with legacy file systems "
"such as ext3 and FAT32 because it takes almost same time as \"prealloc\" and "
"it blocks aria2 entirely until allocation finishes."
msgstr ""
"指定檔案分配方式。如果您使用的檔案系統較新例如ext4 (支援擴展分區)、"
"btrfs、xfs 或者 NTFS (僅限 MinGW 版本)強烈推薦「falloc」這種方式幾乎能立"
"即分配比較大的檔案 (GB),但是它要求您的系統必須支援 posix_fallocate(3) 函數。"
"不要在 ext3 或者 FAT32 這些舊檔案系統中使用「falloc」因為它花費的時間和"
"「prealloc」幾乎一樣多而且在檔案分配過程中會阻塞整個 Aria2 處理程序。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:368
msgid ""
"Specify maximum number of files to open in multi-file BitTorrent download "
"globally."
msgstr "設定 BitTorrent 全域最大同時下載的檔案數量。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:409
msgid ""
"Specify seeding time in minutes. If \"Seed ratio\" option is specified along "
"with this option, seeding ends when at least one of the conditions is "
"satisfied. Specifying 0 disables seeding after download completed."
msgstr ""
"指定做種時間 (分鍾)。如果同時指定了「做種比例」選項,那麼將在任一條件滿足時停"
"止做種。設定 0 表示下載完成後停止做種。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:402
msgid ""
"Specify share ratio. Seed completed torrents until share ratio reaches "
"RATIO. You are strongly encouraged to specify equals or more than 1.0 here. "
"Specify 0.0 if you intend to do seeding regardless of share ratio."
msgstr ""
"指定做種比例。BT 下載完成之後持續做種,直到比例達到指定值。強烈建議將此選項設"
"定為大於或等於 1.0。設定為 0.0 來無限做種。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:373
msgid "Specify the maximum number of peers per torrent, 0 means unlimited."
msgstr "指定每個任務的最大 peer 數量,輸入 0 則表示不限制。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:394
msgid ""
"Specify the prefix of peer ID. The peer ID in BitTorrent is 20 byte length. "
"If more than 20 bytes are specified, only first 20 bytes are used. If less "
"than 20 bytes are specified, random byte data are added to make its length "
"20 bytes."
msgstr ""
"設定 Peer ID 前綴。Peer ID 的長度為 20 位元組。如果設定超過了 20 位元組,將僅"
"使用前面的 20 位元組。如果設定少於 20 位元組,將加入額外的隨機字元來讓長度達"
"到 20 位元組。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:388
msgid ""
"Stop BitTorrent download if download speed is 0 in consecutive N seconds. If "
"0 is given, this feature is disabled."
msgstr ""
"當 BT 任務在 N 秒的持續時間內的下載速度一直為 0則停止下載。0 表示停用。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:387
msgid "Stop timeout"
msgstr "停止逾時值"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:48
msgid "The Aria2 service is not running."
msgstr "Aria2 服務未執行。"
#: applications/luci-app-aria2/luasrc/view/aria2/settings_header.htm:47
msgid "The Aria2 service is running."
msgstr "Aria2 服務執行中。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:74
msgid "The directory to store the config file, session file and DHT file."
msgstr "儲存設定檔、工作階段檔和 DHT 檔案的目錄。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:70
msgid ""
"The directory to store the downloaded file. For example <code>/mnt/sda1</"
"code>."
msgstr "儲存下載檔案的目錄(例如:<code>/mnt/sda1</code>)。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:81
msgid "The file name of the log file."
msgstr "日誌檔的檔案名稱。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:249
msgid "The maximum number of connections to one server for each download."
msgstr "每個下載任務與同一伺服器建立的最大連線數。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:281
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:291
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:299
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:308
msgid "This option will be ignored if a private flag is set in a torrent."
msgstr "如果種子檔案具有「私有」屬性,該選項將會被忽略。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:236
msgid "Timeout"
msgstr "逾時"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:117
msgid "Token"
msgstr "權杖"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:349
msgid "True"
msgstr "是"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:156
msgid "Use WebSocket"
msgstr "使用 WebSocket"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:170
msgid "Use a proxy server for all protocols."
msgstr "為所有協定使用代理伺服器。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:190
msgid ""
"Use the certificate authorities in FILE to verify the peers. The certificate "
"file must be in PEM format and can contain multiple CA certificates."
msgstr ""
"使用檔案中的憑證來驗證對端。憑證檔案必須為 PEM 格式並且可以包含多個憑證。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:141
msgid ""
"Use the certificate in FILE for RPC server. The certificate must be either "
"in PKCS12 (.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
"certificate, a key and optionally a chain of additional certificates. Only "
"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
"you have to specify the \"RPC private key\" as well."
msgstr ""
"RPC 伺服器使用的「憑證檔」;憑證格式必須為 PKCS12 (.p12, .pfx) 或 PEM。<br/"
">PKCS12 檔案必須包含憑證、金鑰以及可選的附加「憑證鏈」,且該檔案不能有匯入密"
"碼!<br/>使用 PEM 時您必須同時指定「RPC 私鑰」。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:196
msgid ""
"Use the client certificate in FILE. The certificate must be either in PKCS12 "
"(.p12, .pfx) or in PEM format.<br/>PKCS12 files must contain the "
"certificate, a key and optionally a chain of additional certificates. Only "
"PKCS12 files with a blank import password can be opened!<br/>When using PEM, "
"you have to specify the \"Private key\" as well."
msgstr ""
"客戶端使用的「憑證檔」;憑證格式必須為 PKCS12 (.p12, .pfx) 或 PEM。<br/"
">PKCS12 檔案必須包含憑證、金鑰以及可選的附加「憑證鏈」,且該檔案不能有匯入密"
"碼!<br/>使用 PEM 時,您必須同時指定「私鑰」。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:150
msgid ""
"Use the private key in FILE for RPC server. The private key must be "
"decrypted and in PEM format."
msgstr "RPC 伺服器使用的「私鑰檔」;私鑰必須被解密,且格式為 PEM。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:204
msgid ""
"Use the private key in FILE. The private key must be decrypted and in PEM "
"format. The behavior when encrypted one is given is undefined."
msgstr "使用的「私鑰檔」;私鑰必須被解密,且格式為 PEM。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:271
msgid "User agent"
msgstr "使用者代理"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:116
msgid "Username & Password"
msgstr "使用者名稱與密碼"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:183
msgid ""
"Verify the peer using certificates specified in \"CA certificate\" option."
msgstr "使用「CA 憑證」選項中指定的憑證來驗證節點。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:90
msgid "Warn"
msgstr "警告"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:244
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:356
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:363
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:383
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:443
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:471
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:478
msgid "You can append K or M."
msgstr "您可以在該值後附加單位 K 或 M。"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:457
msgid "falloc"
msgstr "falloc系統調試"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:455
msgid "prealloc"
msgstr "預分配"
#: applications/luci-app-aria2/luasrc/model/cbi/aria2/config.lua:456
msgid "trunc"
msgstr "trunc系統調試"

View File

@ -0,0 +1,17 @@
#!/bin/sh
if [ ."$(uci -q get aria2.main)" != ."aria2" ]; then
uci -q batch <<-EOF >/dev/null
add aria2 aria2
rename aria2.@aria2[-1]="main"
set aria2.main.enabled=0
set aria2.main.dir="/var/run/aria2"
set aria2.main.config_dir="/var/etc/aria2"
add_list aria2.main.header=""
add_list aria2.main.bt_tracker=""
add_list aria2.main.extra_settings=""
commit aria2
EOF
fi
exit 0

View File

@ -0,0 +1,11 @@
{
"luci-app-aria2": {
"description": "Grant UCI access for luci-app-aria2",
"read": {
"uci": [ "aria2" ]
},
"write": {
"uci": [ "aria2" ]
}
}
}