summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-frps/po
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-frps/po')
-rw-r--r--applications/luci-app-frps/po/bg/frps.po323
-rw-r--r--applications/luci-app-frps/po/ca/frps.po323
-rw-r--r--applications/luci-app-frps/po/cs/frps.po323
-rw-r--r--applications/luci-app-frps/po/de/frps.po323
-rw-r--r--applications/luci-app-frps/po/el/frps.po323
-rw-r--r--applications/luci-app-frps/po/fr/frps.po323
-rw-r--r--applications/luci-app-frps/po/he/frps.po323
-rw-r--r--applications/luci-app-frps/po/hi/frps.po323
-rw-r--r--applications/luci-app-frps/po/hu/frps.po323
-rw-r--r--applications/luci-app-frps/po/it/frps.po323
-rw-r--r--applications/luci-app-frps/po/ja/frps.po323
-rw-r--r--applications/luci-app-frps/po/ko/frps.po323
-rw-r--r--applications/luci-app-frps/po/mr/frps.po323
-rw-r--r--applications/luci-app-frps/po/ms/frps.po323
-rw-r--r--applications/luci-app-frps/po/nb_NO/frps.po323
-rw-r--r--applications/luci-app-frps/po/pl/frps.po323
-rw-r--r--applications/luci-app-frps/po/pt/frps.po323
-rw-r--r--applications/luci-app-frps/po/pt_BR/frps.po323
-rw-r--r--applications/luci-app-frps/po/ro/frps.po323
-rw-r--r--applications/luci-app-frps/po/ru/frps.po323
-rw-r--r--applications/luci-app-frps/po/sk/frps.po323
-rw-r--r--applications/luci-app-frps/po/sv/frps.po323
-rw-r--r--applications/luci-app-frps/po/tr/frps.po323
-rw-r--r--applications/luci-app-frps/po/uk/frps.po323
-rw-r--r--applications/luci-app-frps/po/vi/frps.po323
-rw-r--r--applications/luci-app-frps/po/zh_Hans/frps.po323
-rw-r--r--applications/luci-app-frps/po/zh_Hant/frps.po323
27 files changed, 8721 insertions, 0 deletions
diff --git a/applications/luci-app-frps/po/bg/frps.po b/applications/luci-app-frps/po/bg/frps.po
new file mode 100644
index 0000000000..c94baf9d68
--- /dev/null
+++ b/applications/luci-app-frps/po/bg/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: bg\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/ca/frps.po b/applications/luci-app-frps/po/ca/frps.po
new file mode 100644
index 0000000000..39fa3c892e
--- /dev/null
+++ b/applications/luci-app-frps/po/ca/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: ca\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/cs/frps.po b/applications/luci-app-frps/po/cs/frps.po
new file mode 100644
index 0000000000..054cfe4228
--- /dev/null
+++ b/applications/luci-app-frps/po/cs/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: cs\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/de/frps.po b/applications/luci-app-frps/po/de/frps.po
new file mode 100644
index 0000000000..a111d09440
--- /dev/null
+++ b/applications/luci-app-frps/po/de/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: de\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/el/frps.po b/applications/luci-app-frps/po/el/frps.po
new file mode 100644
index 0000000000..31b21285f4
--- /dev/null
+++ b/applications/luci-app-frps/po/el/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: el\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/fr/frps.po b/applications/luci-app-frps/po/fr/frps.po
new file mode 100644
index 0000000000..157c75ab01
--- /dev/null
+++ b/applications/luci-app-frps/po/fr/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: fr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/he/frps.po b/applications/luci-app-frps/po/he/frps.po
new file mode 100644
index 0000000000..b7b5888e0d
--- /dev/null
+++ b/applications/luci-app-frps/po/he/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: he\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/hi/frps.po b/applications/luci-app-frps/po/hi/frps.po
new file mode 100644
index 0000000000..d3ac7e2d67
--- /dev/null
+++ b/applications/luci-app-frps/po/hi/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: hi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/hu/frps.po b/applications/luci-app-frps/po/hu/frps.po
new file mode 100644
index 0000000000..bfddc5bc97
--- /dev/null
+++ b/applications/luci-app-frps/po/hu/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: hu\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/it/frps.po b/applications/luci-app-frps/po/it/frps.po
new file mode 100644
index 0000000000..ebdbf681c9
--- /dev/null
+++ b/applications/luci-app-frps/po/it/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: it\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/ja/frps.po b/applications/luci-app-frps/po/ja/frps.po
new file mode 100644
index 0000000000..4aef67d6e7
--- /dev/null
+++ b/applications/luci-app-frps/po/ja/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: ja\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/ko/frps.po b/applications/luci-app-frps/po/ko/frps.po
new file mode 100644
index 0000000000..67b6a369fb
--- /dev/null
+++ b/applications/luci-app-frps/po/ko/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: ko\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/mr/frps.po b/applications/luci-app-frps/po/mr/frps.po
new file mode 100644
index 0000000000..b40f1bfa3c
--- /dev/null
+++ b/applications/luci-app-frps/po/mr/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: mr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/ms/frps.po b/applications/luci-app-frps/po/ms/frps.po
new file mode 100644
index 0000000000..f1fc54c6f7
--- /dev/null
+++ b/applications/luci-app-frps/po/ms/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: ms\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/nb_NO/frps.po b/applications/luci-app-frps/po/nb_NO/frps.po
new file mode 100644
index 0000000000..6d5a2a7a56
--- /dev/null
+++ b/applications/luci-app-frps/po/nb_NO/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: nb_NO\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/pl/frps.po b/applications/luci-app-frps/po/pl/frps.po
new file mode 100644
index 0000000000..f66c243b24
--- /dev/null
+++ b/applications/luci-app-frps/po/pl/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: pl\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/pt/frps.po b/applications/luci-app-frps/po/pt/frps.po
new file mode 100644
index 0000000000..fe0976657b
--- /dev/null
+++ b/applications/luci-app-frps/po/pt/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: pt\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/pt_BR/frps.po b/applications/luci-app-frps/po/pt_BR/frps.po
new file mode 100644
index 0000000000..eb29653b8f
--- /dev/null
+++ b/applications/luci-app-frps/po/pt_BR/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: pt_BR\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/ro/frps.po b/applications/luci-app-frps/po/ro/frps.po
new file mode 100644
index 0000000000..6e985ef3e8
--- /dev/null
+++ b/applications/luci-app-frps/po/ro/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: ro\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/ru/frps.po b/applications/luci-app-frps/po/ru/frps.po
new file mode 100644
index 0000000000..4300f46843
--- /dev/null
+++ b/applications/luci-app-frps/po/ru/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: ru\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/sk/frps.po b/applications/luci-app-frps/po/sk/frps.po
new file mode 100644
index 0000000000..acd527c65c
--- /dev/null
+++ b/applications/luci-app-frps/po/sk/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: sk\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/sv/frps.po b/applications/luci-app-frps/po/sv/frps.po
new file mode 100644
index 0000000000..eacf5df508
--- /dev/null
+++ b/applications/luci-app-frps/po/sv/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: sv\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/tr/frps.po b/applications/luci-app-frps/po/tr/frps.po
new file mode 100644
index 0000000000..e589557120
--- /dev/null
+++ b/applications/luci-app-frps/po/tr/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: tr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/uk/frps.po b/applications/luci-app-frps/po/uk/frps.po
new file mode 100644
index 0000000000..35603cc039
--- /dev/null
+++ b/applications/luci-app-frps/po/uk/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: uk\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/vi/frps.po b/applications/luci-app-frps/po/vi/frps.po
new file mode 100644
index 0000000000..bb0fbbcaab
--- /dev/null
+++ b/applications/luci-app-frps/po/vi/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: vi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/zh_Hans/frps.po b/applications/luci-app-frps/po/zh_Hans/frps.po
new file mode 100644
index 0000000000..3ee6d42f15
--- /dev/null
+++ b/applications/luci-app-frps/po/zh_Hans/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: zh_Hans\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""
diff --git a/applications/luci-app-frps/po/zh_Hant/frps.po b/applications/luci-app-frps/po/zh_Hant/frps.po
new file mode 100644
index 0000000000..ea33bbcca9
--- /dev/null
+++ b/applications/luci-app-frps/po/zh_Hant/frps.po
@@ -0,0 +1,323 @@
+msgid ""
+msgstr ""
+"Language: zh_Hant\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid "AllowPorts"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:38
+msgid ""
+"AllowPorts specifies a set of ports that clients are able to proxy to. If "
+"the length of this value is 0, all ports are allowed.<br>By default, this "
+"value is an empty set."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid "AssetsDir"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:29
+msgid ""
+"AssetsDir specifies the local directory that the dashboard will load "
+"resources from. If this value is \"\", assets will be loaded from the "
+"bundled executable using statik.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid "BindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:17
+msgid ""
+"BindAddr specifies the address that the server binds to.<br>By default, this "
+"value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid "BindKcpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:20
+msgid ""
+"BindKcpPort specifies the KCP port that the server listens on. If this value "
+"is 0, the server will not listen for KCP connections.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid "BindPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:18
+msgid ""
+"BindPort specifies the port that the server listens on.<br>By default, this "
+"value is 7000."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid "BindUdpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:19
+msgid ""
+"BindUdpPort specifies the UDP port that the server listens on. If this value "
+"is 0, the server will not listen for UDP connections.<br>By default, this "
+"value is 0"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:101
+msgid "Common settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:13
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid "Custom404Page"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
+msgid ""
+"Custom404Page specifies a path to a custom 404 page to display. If this "
+"value is \"\", a default page will be displayed.<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid "DashboardAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:25
+msgid ""
+"DashboardAddr specifies the address that the dashboard binds to.<br>By "
+"default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid "DashboardPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:26
+msgid ""
+"DashboardPort specifies the port that the dashboard listens on. If this "
+"value is 0, the dashboard will not be started.<br>By default, this value is "
+"0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid "DashboardPwd"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:28
+msgid ""
+"DashboardPwd specifies the password that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid "DashboardUser"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:27
+msgid ""
+"DashboardUser specifies the username that the dashboard will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid "DisableLogColor"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid "HeartBeatTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:41
+msgid ""
+"HeartBeatTimeout specifies the maximum time to wait for a heartbeat before "
+"terminating the connection. It is not recommended to change this value."
+"<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:8
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:7
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid "LogFile"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:30
+msgid ""
+"LogFile specifies a file where logs will be written to. This value will only "
+"be used if LogWay is set appropriately.<br>By default, this value is "
+"\"console\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid "LogLevel"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:31
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid "LogMaxDays"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:32
+msgid ""
+"LogMaxDays specifies the maximum number of days to store log information "
+"before deletion. This is only used if LogWay == \"file\".<br>By default, "
+"this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid "MaxPoolCount"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:39
+msgid ""
+"MaxPoolCount specifies the maximum pool size for each proxy.<br>By default, "
+"this value is 5."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid "MaxPortsPerClient"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:40
+msgid ""
+"MaxPortsPerClient specifies the maximum number of ports a single client may "
+"proxy to. If this value is 0, no limit will be applied.<br>By default, this "
+"value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:12
+msgid ""
+"OS environments pass to frp for config file template, see <a href=\"https://"
+"github.com/fatedier/frp#configuration-file-template\">frp README</a>"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid "ProxyBindAddr"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:21
+msgid ""
+"ProxyBindAddr specifies the address that the proxy binds to. This value may "
+"be the same as BindAddr.<br>By default, this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:11
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:10
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:9
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:102
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:106
+msgid "Startup settings"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid "SubDomainHost"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:35
+msgid ""
+"SubDomainHost specifies the domain that will be attached to sub-domains "
+"requested by the client when using Vhost proxying. For example, if this "
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br>By default, this value "
+"is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid "TcpMux"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:36
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
+msgid ""
+"Token specifies the authorization token used to authenticate keys received "
+"from clients. Clients must have a matching token to be authorized to use the "
+"server.<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid "VhostHttpPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:22
+msgid ""
+"VhostHttpPort specifies the port that the server listens for HTTP Vhost "
+"requests. If this value is 0, the server will not listen for HTTP requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid "VhostHttpTimeout"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:24
+msgid ""
+"VhostHttpTimeout specifies the response header timeout for the Vhost HTTP "
+"server, in seconds.<br>By default, this value is 60."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid "VhostHttpsPort"
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:23
+msgid ""
+"VhostHttpsPort specifies the port that the server listens for HTTPS Vhost "
+"requests. If this value is 0, the server will not listen for HTTPS requests."
+"<br>By default, this value is 0."
+msgstr ""
+
+#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:96
+#: applications/luci-app-frps/root/usr/share/luci/menu.d/luci-app-frps.json:3
+msgid "frp Server"
+msgstr ""