summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-shadowsocks-libev
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-shadowsocks-libev')
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua2
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua6
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua9
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua24
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm2
-rw-r--r--applications/luci-app-shadowsocks-libev/po/es/shadowsocks-libev.po368
-rw-r--r--applications/luci-app-shadowsocks-libev/po/templates/shadowsocks-libev.pot329
-rw-r--r--applications/luci-app-shadowsocks-libev/po/zh-cn/shadowsocks-libev.po343
8 files changed, 1068 insertions, 15 deletions
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua
index 195a31f2fd..c6323b4dfd 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua
+++ b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua
@@ -27,7 +27,7 @@ ss.option_install_package(s, "general")
ss.options_common(s, "advanced")
if stype == "ss_server" then
- ss.options_server(s, "general")
+ ss.options_server(s, {tab="general"})
o = s:taboption("general", Value, "bind_address",
translate("Bind address"),
translate("The address ss-server will initiate connection from"))
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
index 4a01bed247..e4d1a2745e 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
+++ b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
@@ -24,7 +24,7 @@ end
function src_dst_option(s, ...)
local o = s:taboption(...)
- o.datatype = "or(ip4addr,cidr4)"
+ o.datatype = "or(ipaddr,cidr)"
end
s = m:section(NamedSection, "ss_rules", "ss_rules")
@@ -98,8 +98,8 @@ else
o.inputstyle = "apply"
o.write = function()
return luci.http.redirect(
- luci.dispatcher.build_url("admin/system/packages") ..
- "?submit=1&install=iptables-mod-conntrack-extra"
+ luci.dispatcher.build_url("admin/system/opkg") ..
+ "?query=iptables-mod-conntrack-extra"
)
end
end
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua
index 71c66562e1..ec601c4fe6 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua
+++ b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua
@@ -9,7 +9,7 @@ local m, s
m = Map("shadowsocks-libev",
translate("Remote Servers"),
translate("Definition of remote shadowsocks servers. \
- Disable any of them will also disable instances refering to it."))
+ Disable any of them will also disable instances referring to it."))
local sname = arg[1]
if sname then
@@ -19,13 +19,18 @@ if sname then
end
s = m:section(NamedSection, sname, "server")
m.title = m.title .. ' - ' .. sname
+ opts = {}
else
s = m:section(TypedSection, "server")
s.template = 'cbi/tblsection'
s.addremove = true
+ s.extedit = function(self, section)
+ return 'servers/' .. section
+ end
+ opts = {row=true}
end
s:option(Flag, "disabled", translate("Disable"))
-ss.options_server(s)
+ss.options_server(s, opts)
return m
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua
index 5fc20c52bc..abb6ce8d48 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua
+++ b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua
@@ -76,9 +76,11 @@ function options_client(s, tab)
o.datatype = "port"
end
-function options_server(s, tab)
+function options_server(s, opts)
local o
local optfunc
+ local tab = opts and opts.tab or nil
+ local row = opts and opts.row or false
if tab == nil then
optfunc = function(...) return s:option(...) end
@@ -96,13 +98,17 @@ function options_server(s, tab)
for _, m in ipairs(methods) do
o:value(m)
end
- o = optfunc(Value, "key", translate("Key (base64 encoding)"))
- o.datatype = "base64"
- o.password = true
- o.size = 12
o = optfunc(Value, "password", translate("Password"))
o.password = true
o.size = 12
+ if not row then
+ o = optfunc(Value, "key", translate("Key (base64)"))
+ o.datatype = "base64"
+ o.password = true
+ o.size = 12
+ optfunc(Value, "plugin", translate("Plugin"))
+ optfunc(Value, "plugin_opts", translate("Plugin Options"))
+ end
end
function options_common(s, tab)
@@ -154,7 +160,7 @@ function cfgvalue_overview(sdata)
local value = {
[".name"] = sname,
name = '%s.<var>%s</var>' % {stype, sname},
- overview = table.concat(lines, "</br>"),
+ overview = table.concat(lines, "<br />"),
disabled = ucival_to_bool(sdata["disabled"]),
}
return key, value
@@ -199,8 +205,8 @@ function option_install_package(s, tab)
function p_install.write()
return luci.http.redirect(
- luci.dispatcher.build_url("admin/system/packages") ..
- "?submit=1&install=%s" % opkg_package
+ luci.dispatcher.build_url("admin/system/opkg") ..
+ "?query=%s" % opkg_package
)
end
end
@@ -211,6 +217,8 @@ names_options_server = {
"method",
"key",
"password",
+ "plugin",
+ "plugin_opts",
}
names_options_client = {
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm b/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm
index f016dd47e6..27e101a4da 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm
+++ b/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm
@@ -14,7 +14,7 @@
<input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>" value="<%:Add%>" />
</div>
<script type="text/javascript">//<![CDATA[
- XHR.poll(5, '<%=url('admin/services/shadowsocks-libev/status')%>', null,
+ XHR.poll(-1, '<%=url('admin/services/shadowsocks-libev/status')%>', null,
function(x, st)
{
var names = [
diff --git a/applications/luci-app-shadowsocks-libev/po/es/shadowsocks-libev.po b/applications/luci-app-shadowsocks-libev/po/es/shadowsocks-libev.po
new file mode 100644
index 0000000000..c274b441ee
--- /dev/null
+++ b/applications/luci-app-shadowsocks-libev/po/es/shadowsocks-libev.po
@@ -0,0 +1,368 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2.1\n"
+"Last-Translator: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:176
+msgid "<hidden>"
+msgstr "<oculto>"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm:14
+msgid "Add"
+msgstr "Añadir"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:24
+msgid "Advanced Settings"
+msgstr "Configuración avanzada"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:32
+msgid "Bind address"
+msgstr "Dirección de enlace"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:73
+msgid "Bypass ss-redir for packets with dst address in this list"
+msgstr "Omitir ss-redir para paquetes con dirección dst en esta lista"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:59
+msgid "Bypass ss-redir for packets with src address in this list"
+msgstr "Omitir ss-redir para paquetes con dirección src en esta lista"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:65
+msgid ""
+"Continue to have dst address checked for packets with src address in this "
+"list"
+msgstr ""
+"Continuar con la verificación de la dirección dst para paquetes con "
+"dirección src en esta lista"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:47
+msgid "Default action for locally generated TCP packets"
+msgstr "Acción predeterminada para paquetes TCP generados localmente"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:88
+msgid ""
+"Default action for packets whose dst address do not match any of the dst ip "
+"list"
+msgstr ""
+"Acción predeterminada para paquetes cuya dirección dst no coincide con "
+"ninguna de la lista dst ip"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:68
+msgid ""
+"Default action for packets whose src address do not match any of the src ip/"
+"net list"
+msgstr ""
+"Acción predeterminada para paquetes cuya dirección src no coincide con "
+"ninguna de la lista src ip/net"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:11
+msgid ""
+"Definition of remote shadowsocks servers. Disable any of them will also "
+"disable instances referring to it."
+msgstr ""
+"Definición de servidores shadowsocks remotos. Deshabilitar cualquiera de "
+"ellos también deshabilitará las instancias que lo refieran."
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:33
+msgid "Destination Settings"
+msgstr "Configuración de destino"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:25
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:35
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:33
+msgid "Disable"
+msgstr "Deshabilitar"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:86
+msgid "Disabled"
+msgstr "Deshabilitado"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:87
+msgid "Dst default"
+msgstr "Dst predeterminado"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:72
+msgid "Dst ip/net bypass"
+msgstr "Omitir Dst ip/net"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:79
+msgid "Dst ip/net bypass file"
+msgstr "Omitir archivo Dst ip/net"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:75
+msgid "Dst ip/net forward"
+msgstr "Reenviar Dst ip/net"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:83
+msgid "Dst ip/net forward file"
+msgstr "Reenviar archivo Dst ip/net"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:132
+msgid "Enable SO_REUSEPORT"
+msgstr "Habilitar SO_REUSEPORT"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:130
+msgid "Enable TCP Fast Open"
+msgstr "Habilitar TCP Fast Open"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:131
+msgid "Enable TCP_NODELAY"
+msgstr "Habilitar TCP_NODELAY"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:83
+msgid "Enable/Disable"
+msgstr "Habilitar/Deshabilitar"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:89
+msgid "Enabled"
+msgstr "Habilitado"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:54
+msgid "Extra arguments"
+msgstr "Argumentos extra"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:80
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net bypass</em>"
+msgstr ""
+"Archivo que contiene ip/net para los fines como con <em>Omitir Dst ip/net</"
+"em>"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:84
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net forward</em>"
+msgstr ""
+"Archivo que contiene ip / net para los fines como con <em>Reenviar Dst ip/"
+"net</em>"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:106
+msgid "Forward recentrst"
+msgstr "Reenviar recentrst"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:107
+msgid ""
+"Forward those packets whose dst have recently sent to us multiple tcp-rst"
+msgstr ""
+"Reenviar aquellos paquetes cuyos archivos dst nos hayan enviado "
+"recientemente múltiples tcp-rst"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:76
+msgid "Forward through ss-redir for packets with dst address in this list"
+msgstr ""
+"Reenviar a través de ss-redir para paquetes con dirección dst en esta lista"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:62
+msgid "Forward through ss-redir for packets with src address in this list"
+msgstr ""
+"Reenviar a través de ss-redir para paquetes con dirección src en esta lista"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:23
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:31
+msgid "General Settings"
+msgstr "Configuración general"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:129
+msgid "IPv6 First"
+msgstr "IPv6 primero"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:50
+msgid "Ingress interfaces"
+msgstr "Interfaces de ingreso"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:203
+msgid "Install package %q"
+msgstr "Instalar paquete %q"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:97
+msgid "Install package iptables-mod-conntrack-extra"
+msgstr "Instalar el paquete iptables-mod-conntrack-extra"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:11
+msgid ""
+"Instances of shadowsocks-libev components, e.g. ss-local, ss-redir, ss-"
+"tunnel, ss-server, etc. To enable an instance it is required to enable both "
+"the instance itself and the remote server it refers to."
+msgstr ""
+"Instancias de componentes de shadowsocks-libev, ej. ss-local, ss-redir, ss-"
+"tunnel, ss-server, etc. Para habilitar una instancia, se requiere habilitar "
+"tanto la instancia como el servidor remoto al que hace referencia."
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:105
+msgid "Key (base64)"
+msgstr "Clave (base64)"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:13
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:10
+msgid "Local Instances"
+msgstr "Instancias locales"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:71
+msgid "Local address"
+msgstr "Dirección local"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:75
+msgid "Local port"
+msgstr "Puerto local"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:46
+msgid "Local-out default"
+msgstr "Salida local predeterminada"
+
+# Maximum Transmission Unit
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:122
+msgid "MTU"
+msgstr "MTU"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:97
+msgid "Method"
+msgstr "Método"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:117
+msgid "Mode of operation"
+msgstr "Modo de operación"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:76
+#: applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm:12
+msgid "Name"
+msgstr "Nombre"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:10
+msgid ""
+"On this page you can configure how traffics are to be forwarded to ss-redir "
+"instances. If enabled, packets will first have their src ip addresses "
+"checked against <em>Src ip/net bypass</em>, <em>Src ip/net forward</em>, "
+"<em>Src ip/net checkdst</em> and if none matches <em>Src default</em> will "
+"give the default action to be taken. If the prior check results in action "
+"<em>checkdst</em>, packets will continue to have their dst addresses checked."
+msgstr ""
+"En esta página puede configurar cómo se reenviará el tráfico a las "
+"instancias de ss-redir. Si están habilitados, los paquetes tendrán primero "
+"sus direcciones src ip verificadas con <em>Omitir Src ip / net</em>, "
+"<em>Reenviar Src ip / net</em>, <em>Src ip / net checkdst</em > y si ninguno "
+"coincide con <em>Src predeterminado</em> dará la acción predeterminada que "
+"se debe realizar. Si la verificación anterior resulta en la acción "
+"<em>checkdst</em>, los paquetes continuarán teniendo sus direcciones dst "
+"marcadas."
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:51
+msgid "Only apply rules on packets from these network interfaces"
+msgstr "Solo aplicar reglas en paquetes desde estas interfaces de red"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:78
+msgid "Overview"
+msgstr "Visión general"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:202
+msgid "Package is not installed"
+msgstr "Paquete no instalado"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:55
+msgid "Passes additional arguments to iptables. Use with care!"
+msgstr "Pasa argumentos adicionales a iptables. Utilizar con cuidado!"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:101
+msgid "Password"
+msgstr "Contraseña"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:109
+msgid "Plugin"
+msgstr "Plugin"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:110
+msgid "Plugin Options"
+msgstr "Opciones de plugin"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:129
+msgid "Prefer IPv6 addresses when resolving names"
+msgstr "Preferir direcciones IPv6 al resolver nombres"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:21
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:9
+msgid "Redir Rules"
+msgstr "Reglas de redireccionamiento"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:17
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:10
+msgid "Remote Servers"
+msgstr "Servidores remotos"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:69
+msgid "Remote server"
+msgstr "Servidor remoto"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:126
+msgid "Run as"
+msgstr "Correr como"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:81
+msgid "Running"
+msgstr "Corriendo"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:91
+msgid "Server"
+msgstr "Servidor"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:94
+msgid "Server port"
+msgstr "Puerto del servidor"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:9
+msgid "Shadowsocks-libev"
+msgstr "Shadowsocks-libev"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:32
+msgid "Source Settings"
+msgstr "Configuración de fuente"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:67
+msgid "Src default"
+msgstr "Src predeterminado"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:58
+msgid "Src ip/net bypass"
+msgstr "Omitir Src ip/net"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:64
+msgid "Src ip/net checkdst"
+msgstr "Src ip/net checkdst"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:61
+msgid "Src ip/net forward"
+msgstr "Reenviar Src ip/net"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:33
+msgid "The address ss-server will initiate connection from"
+msgstr "La dirección ss-server iniciará la conexión desde"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:42
+msgid "The address ss-tunnel will forward traffic to"
+msgstr "La dirección ss-tunnel reenviará el tráfico a"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:124
+msgid "Timeout (sec)"
+msgstr "Tiempo de espera (seg)"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:41
+msgid "Tunnel address"
+msgstr "Direccion del tunel"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:128
+msgid "Verbose"
+msgstr "Verboso"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:39
+msgid "ss-redir for TCP"
+msgstr "ss-redir para TCP"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:42
+msgid "ss-redir for UDP"
+msgstr "ss-redir para UDP"
diff --git a/applications/luci-app-shadowsocks-libev/po/templates/shadowsocks-libev.pot b/applications/luci-app-shadowsocks-libev/po/templates/shadowsocks-libev.pot
new file mode 100644
index 0000000000..cb4ea09d6d
--- /dev/null
+++ b/applications/luci-app-shadowsocks-libev/po/templates/shadowsocks-libev.pot
@@ -0,0 +1,329 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:176
+msgid "<hidden>"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm:14
+msgid "Add"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:24
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:32
+msgid "Bind address"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:73
+msgid "Bypass ss-redir for packets with dst address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:59
+msgid "Bypass ss-redir for packets with src address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:65
+msgid ""
+"Continue to have dst address checked for packets with src address in this "
+"list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:47
+msgid "Default action for locally generated TCP packets"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:88
+msgid ""
+"Default action for packets whose dst address do not match any of the dst ip "
+"list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:68
+msgid ""
+"Default action for packets whose src address do not match any of the src ip/"
+"net list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:11
+msgid ""
+"Definition of remote shadowsocks servers. Disable any of them will also "
+"disable instances referring to it."
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:33
+msgid "Destination Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:25
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:35
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:33
+msgid "Disable"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:86
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:87
+msgid "Dst default"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:72
+msgid "Dst ip/net bypass"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:79
+msgid "Dst ip/net bypass file"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:75
+msgid "Dst ip/net forward"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:83
+msgid "Dst ip/net forward file"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:132
+msgid "Enable SO_REUSEPORT"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:130
+msgid "Enable TCP Fast Open"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:131
+msgid "Enable TCP_NODELAY"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:83
+msgid "Enable/Disable"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:89
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:54
+msgid "Extra arguments"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:80
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net bypass</em>"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:84
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net forward</em>"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:106
+msgid "Forward recentrst"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:107
+msgid ""
+"Forward those packets whose dst have recently sent to us multiple tcp-rst"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:76
+msgid "Forward through ss-redir for packets with dst address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:62
+msgid "Forward through ss-redir for packets with src address in this list"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:23
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:31
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:129
+msgid "IPv6 First"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:50
+msgid "Ingress interfaces"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:203
+msgid "Install package %q"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:97
+msgid "Install package iptables-mod-conntrack-extra"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:11
+msgid ""
+"Instances of shadowsocks-libev components, e.g. ss-local, ss-redir, ss-"
+"tunnel, ss-server, etc. To enable an instance it is required to enable both "
+"the instance itself and the remote server it refers to."
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:105
+msgid "Key (base64)"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:13
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:10
+msgid "Local Instances"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:71
+msgid "Local address"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:75
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:46
+msgid "Local-out default"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:122
+msgid "MTU"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:97
+msgid "Method"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:117
+msgid "Mode of operation"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:76
+#: applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm:12
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:10
+msgid ""
+"On this page you can configure how traffics are to be forwarded to ss-redir "
+"instances. If enabled, packets will first have their src ip addresses "
+"checked against <em>Src ip/net bypass</em>, <em>Src ip/net forward</em>, "
+"<em>Src ip/net checkdst</em> and if none matches <em>Src default</em> will "
+"give the default action to be taken. If the prior check results in action "
+"<em>checkdst</em>, packets will continue to have their dst addresses checked."
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:51
+msgid "Only apply rules on packets from these network interfaces"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:78
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:202
+msgid "Package is not installed"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:55
+msgid "Passes additional arguments to iptables. Use with care!"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:101
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:109
+msgid "Plugin"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:110
+msgid "Plugin Options"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:129
+msgid "Prefer IPv6 addresses when resolving names"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:21
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:9
+msgid "Redir Rules"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:17
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:10
+msgid "Remote Servers"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:69
+msgid "Remote server"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:126
+msgid "Run as"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:81
+msgid "Running"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:91
+msgid "Server"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:94
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:9
+msgid "Shadowsocks-libev"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:32
+msgid "Source Settings"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:67
+msgid "Src default"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:58
+msgid "Src ip/net bypass"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:64
+msgid "Src ip/net checkdst"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:61
+msgid "Src ip/net forward"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:33
+msgid "The address ss-server will initiate connection from"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:42
+msgid "The address ss-tunnel will forward traffic to"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:124
+msgid "Timeout (sec)"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:41
+msgid "Tunnel address"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:128
+msgid "Verbose"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:39
+msgid "ss-redir for TCP"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:42
+msgid "ss-redir for UDP"
+msgstr ""
diff --git a/applications/luci-app-shadowsocks-libev/po/zh-cn/shadowsocks-libev.po b/applications/luci-app-shadowsocks-libev/po/zh-cn/shadowsocks-libev.po
new file mode 100644
index 0000000000..7eb5207c6c
--- /dev/null
+++ b/applications/luci-app-shadowsocks-libev/po/zh-cn/shadowsocks-libev.po
@@ -0,0 +1,343 @@
+msgid ""
+msgstr ""
+"Last-Translator: Yousong Zhou <yszhou4tech@gmail.com>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:176
+msgid "<hidden>"
+msgstr "<已隐藏>"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm:14
+msgid "Add"
+msgstr "添加"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:24
+msgid "Advanced Settings"
+msgstr "高级设置"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:32
+msgid "Bind address"
+msgstr "绑定地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:73
+msgid "Bypass ss-redir for packets with dst address in this list"
+msgstr "对于目的地址在列表中的报文,绕过ss-redir"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:59
+msgid "Bypass ss-redir for packets with src address in this list"
+msgstr "对于源地址在列表中的报文,绕过ss-redir"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:65
+msgid ""
+"Continue to have dst address checked for packets with src address in this "
+"list"
+msgstr "对于源地址在列表中的报文,继续检查其目的地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:47
+msgid "Default action for locally generated TCP packets"
+msgstr "对于设备本身产生的TCP报文的默认行为"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:88
+msgid ""
+"Default action for packets whose dst address do not match any of the dst ip "
+"list"
+msgstr "对于目的地址不在列表中的报文的默认行为"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:68
+msgid ""
+"Default action for packets whose src address do not match any of the src ip/"
+"net list"
+msgstr "对于源地址不在列表中的报文的默认行为"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:11
+msgid ""
+"Definition of remote shadowsocks servers. Disable any of them will also "
+"disable instances referring to it."
+msgstr ""
+"在此页面设定访问远端shadowsocks服务器的参数。请注意,禁用远端服务器会同时停止"
+"与之关联的shadowsocks-libev组件"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:33
+msgid "Destination Settings"
+msgstr "目的地址设定"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:25
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:35
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:33
+msgid "Disable"
+msgstr "禁用"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:86
+msgid "Disabled"
+msgstr "已禁用"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:87
+msgid "Dst default"
+msgstr "目的未匹配时默认行为"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:72
+msgid "Dst ip/net bypass"
+msgstr "绕过"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:79
+msgid "Dst ip/net bypass file"
+msgstr "绕过(文件)"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:75
+msgid "Dst ip/net forward"
+msgstr "转发"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:83
+msgid "Dst ip/net forward file"
+msgstr "转发(文件)"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:132
+msgid "Enable SO_REUSEPORT"
+msgstr "启用SO_REUSEPORT"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:130
+msgid "Enable TCP Fast Open"
+msgstr "启用TCP Fast Open"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:131
+msgid "Enable TCP_NODELAY"
+msgstr "启用TCP_NODELAY"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:83
+msgid "Enable/Disable"
+msgstr "启用/禁用"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:89
+msgid "Enabled"
+msgstr "已启用"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:54
+msgid "Extra arguments"
+msgstr "额外参数"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:80
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net bypass</em>"
+msgstr "文件列出需要绕过ss-redir转发的地址和网段"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:84
+msgid ""
+"File containing ip/net for the purposes as with <em>Dst ip/net forward</em>"
+msgstr "文件列出需要使用ss-redir转发的地址和网段"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:106
+msgid "Forward recentrst"
+msgstr "转发被连接重置的地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:107
+msgid ""
+"Forward those packets whose dst have recently sent to us multiple tcp-rst"
+msgstr "若近期多次收到某地址的连接重置报文,则将其加入到转发列表中"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:76
+msgid "Forward through ss-redir for packets with dst address in this list"
+msgstr "对于目的地址在列表中的报文,通过ss-redir转发"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:62
+msgid "Forward through ss-redir for packets with src address in this list"
+msgstr "对于源地址在列表中的报文,通过ss-redir转发"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:23
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:31
+msgid "General Settings"
+msgstr "常规设置"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:129
+msgid "IPv6 First"
+msgstr "IPv6优先"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:50
+msgid "Ingress interfaces"
+msgstr "入口网卡"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:203
+msgid "Install package %q"
+msgstr "安装%q"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:97
+msgid "Install package iptables-mod-conntrack-extra"
+msgstr "安装iptables-mod-conntrack-extra"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:11
+msgid ""
+"Instances of shadowsocks-libev components, e.g. ss-local, ss-redir, ss-"
+"tunnel, ss-server, etc. To enable an instance it is required to enable both "
+"the instance itself and the remote server it refers to."
+msgstr ""
+"此页面展示本地运行的shadowsocks-libev各组件实例,如ss-local、ss-redir、ss-"
+"tunnel、ss-server等。请注意,实际启用一个实例要求实例本身及所关联的远端服务器"
+"都是启用状态。"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:105
+msgid "Key (base64)"
+msgstr "密钥(base64)"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:13
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:10
+msgid "Local Instances"
+msgstr "本地实例"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:71
+msgid "Local address"
+msgstr "监听地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:75
+msgid "Local port"
+msgstr "监听端口"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:46
+msgid "Local-out default"
+msgstr "本地报文默认行为"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:122
+msgid "MTU"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:97
+msgid "Method"
+msgstr "加密方法"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:117
+msgid "Mode of operation"
+msgstr "工作模式"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:76
+#: applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm:12
+msgid "Name"
+msgstr "名称"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:10
+msgid ""
+"On this page you can configure how traffics are to be forwarded to ss-redir "
+"instances. If enabled, packets will first have their src ip addresses "
+"checked against <em>Src ip/net bypass</em>, <em>Src ip/net forward</em>, "
+"<em>Src ip/net checkdst</em> and if none matches <em>Src default</em> will "
+"give the default action to be taken. If the prior check results in action "
+"<em>checkdst</em>, packets will continue to have their dst addresses checked."
+msgstr ""
+"在此页面,您可以配置指定报文是否通过ss-redir转发。启用后,规则会先将报文的源"
+"地址与相应的地址集进行匹配,依次决定是否“绕过(<em>bypass</em>)”、“转发"
+"(<em>forward</em>)”,或“继续匹配目的地址(<em>checkdst</em>)”;若未在集合"
+"中找到匹配,则执行指定的默认动作。继续匹配目的地址时同理。"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:51
+msgid "Only apply rules on packets from these network interfaces"
+msgstr "仅对来自指定网卡的报文应用规则"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:78
+msgid "Overview"
+msgstr "概览"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:202
+msgid "Package is not installed"
+msgstr "依赖包未安装"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:55
+msgid "Passes additional arguments to iptables. Use with care!"
+msgstr "给iptables的额外参数。请小心使用"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:101
+msgid "Password"
+msgstr "密码"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:109
+msgid "Plugin"
+msgstr "启用插件"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:110
+msgid "Plugin Options"
+msgstr "插件选项"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:129
+msgid "Prefer IPv6 addresses when resolving names"
+msgstr "名字解析时优先取用IPv6地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:21
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:9
+msgid "Redir Rules"
+msgstr "转发规则"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:17
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/servers.lua:10
+msgid "Remote Servers"
+msgstr "远端服务器"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:69
+msgid "Remote server"
+msgstr "服务器"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:126
+msgid "Run as"
+msgstr "运行时用户"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instances.lua:81
+msgid "Running"
+msgstr "运行中"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:91
+msgid "Server"
+msgstr "监听地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:94
+msgid "Server port"
+msgstr "监听端口"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/controller/shadowsocks-libev.lua:9
+msgid "Shadowsocks-libev"
+msgstr ""
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:32
+msgid "Source Settings"
+msgstr "源地址设定"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:67
+msgid "Src default"
+msgstr "源未匹配默认行为"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:58
+msgid "Src ip/net bypass"
+msgstr "绕过"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:64
+msgid "Src ip/net checkdst"
+msgstr "继续匹配目的地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:61
+msgid "Src ip/net forward"
+msgstr "转发"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:33
+msgid "The address ss-server will initiate connection from"
+msgstr "ss-server建立连接时使用的源地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:42
+msgid "The address ss-tunnel will forward traffic to"
+msgstr "ss-tunnel所建立隧道的对端地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:124
+msgid "Timeout (sec)"
+msgstr "超时时间(秒)"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/instance-details.lua:41
+msgid "Tunnel address"
+msgstr "隧道对端地址"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua:128
+msgid "Verbose"
+msgstr "记录详细日志"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:39
+msgid "ss-redir for TCP"
+msgstr "用于TCP转发的ss-redir"
+
+#: applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua:42
+msgid "ss-redir for UDP"
+msgstr "用于UDP转发的ss-redir"