summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-frpc
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-frpc')
-rw-r--r--applications/luci-app-frpc/Makefile13
-rw-r--r--applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js174
-rw-r--r--applications/luci-app-frpc/po/ar/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/bg/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/bn_BD/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/ca/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/cs/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/de/frpc.po432
-rw-r--r--applications/luci-app-frpc/po/el/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/en/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/es/frpc.po437
-rw-r--r--applications/luci-app-frpc/po/fi/frpc.po365
-rw-r--r--applications/luci-app-frpc/po/fr/frpc.po430
-rw-r--r--applications/luci-app-frpc/po/he/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/hi/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/hu/frpc.po365
-rw-r--r--applications/luci-app-frpc/po/it/frpc.po365
-rw-r--r--applications/luci-app-frpc/po/ja/frpc.po365
-rw-r--r--applications/luci-app-frpc/po/ko/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/mr/frpc.po365
-rw-r--r--applications/luci-app-frpc/po/ms/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/nb_NO/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/pl/frpc.po429
-rw-r--r--applications/luci-app-frpc/po/pt/frpc.po426
-rw-r--r--applications/luci-app-frpc/po/pt_BR/frpc.po428
-rw-r--r--applications/luci-app-frpc/po/ro/frpc.po366
-rw-r--r--applications/luci-app-frpc/po/ru/frpc.po366
-rw-r--r--applications/luci-app-frpc/po/sk/frpc.po365
-rw-r--r--applications/luci-app-frpc/po/sv/frpc.po366
-rw-r--r--applications/luci-app-frpc/po/templates/frpc.pot356
-rw-r--r--applications/luci-app-frpc/po/tr/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/uk/frpc.po366
-rw-r--r--applications/luci-app-frpc/po/vi/frpc.po359
-rw-r--r--applications/luci-app-frpc/po/zh_Hans/frpc.po397
-rw-r--r--applications/luci-app-frpc/po/zh_Hant/frpc.po365
-rw-r--r--applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json12
-rw-r--r--applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json15
37 files changed, 12594 insertions, 0 deletions
diff --git a/applications/luci-app-frpc/Makefile b/applications/luci-app-frpc/Makefile
new file mode 100644
index 0000000000..90a20c4bfc
--- /dev/null
+++ b/applications/luci-app-frpc/Makefile
@@ -0,0 +1,13 @@
+# This is free software, licensed under the Apache License, Version 2.0
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=LuCI Support for frp client
+LUCI_DEPENDS:=+frpc
+
+PKG_LICENSE:=Apache-2.0
+PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js b/applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js
new file mode 100644
index 0000000000..d93655188b
--- /dev/null
+++ b/applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js
@@ -0,0 +1,174 @@
+'use strict';
+'require view';
+'require ui';
+'require form';
+'require tools.widgets as widgets';
+
+// [Widget, Option, Title, Description, {Param: 'Value'}],
+var startupConf = [
+ [form.Flag, 'stdout', _('Log stdout')],
+ [form.Flag, 'stderr', _('Log stderr')],
+ [widgets.UserSelect, 'user', _('Run daemon as user')],
+ [widgets.GroupSelect, 'group', _('Run daemon as group')],
+ [form.Flag, 'respawn', _('Respawn when crashed')],
+ [form.DynamicList, 'env', _('Environment variable'), _('OS environments pass to frp for config file template, see <a href="https://github.com/fatedier/frp#configuration-file-template">frp README</a>'), {placeholder: 'ENV_NAME=value'}],
+ [form.DynamicList, 'conf_inc', _('Additional configs'), _('Config files include in temporary config file'), {placeholder: '/etc/frp/frpc.d/frpc_full.ini'}]
+];
+
+var commonConf = [
+ [form.Value, 'server_addr', _('Server address'), _('ServerAddr specifies the address of the server to connect to.<br>By default, this value is "0.0.0.0".'), {datatype: 'ipaddr'}],
+ [form.Value, 'server_port', _('Server port'), _('ServerPort specifies the port to connect to the server on.<br>By default, this value is 7000.'), {datatype: 'port'}],
+ [form.Value, 'http_proxy', _('HTTP proxy'), _('HttpProxy specifies a proxy address to connect to the server through. If this value is "", the server will be connected to directly.<br>By default, this value is read from the "http_proxy" environment variable.')],
+ [form.ListValue, 'log_level', _('Log level'), _('LogLevel specifies the minimum log level. Valid values are "trace", "debug", "info", "warn", and "error".<br>By default, this value is "info".'), {values: ['trace', 'debug', 'info', 'warn', 'error']}],
+ [form.Flag, 'disable_log_color', _('Disable log color'), _('DisableLogColor disables log colors when LogWay == "console" when set to true.'), {datatype: 'bool', default: 'true'}],
+ [form.Value, 'token', _('Token'), _('Token specifies the authorization token used to create keys to be sent to the server. The server must have a matching token for authorization to succeed. <br>By default, this value is "".')],
+ [form.Value, 'admin_addr', _('Admin address'), _('AdminAddr specifies the address that the admin server binds to.<br>By default, this value is "127.0.0.1".'), {datatype: 'ipaddr'}],
+ [form.Value, 'admin_port', _('Admin port'), _('AdminPort specifies the port for the admin server to listen on. If this value is 0, the admin server will not be started.<br>By default, this value is 0.'), {datatype: 'port'}],
+ [form.Value, 'admin_user', _('Admin user'), _('AdminUser specifies the username that the admin server will use for login.<br>By default, this value is "admin".')],
+ [form.Value, 'admin_pwd', _('Admin password'), _('AdminPwd specifies the password that the admin server will use for login.<br>By default, this value is "admin".'), {password: true}],
+ [form.Value, 'assets_dir', _('Assets dir'), _('AssetsDir specifies the local directory that the admin server will load resources from. If this value is "", assets will be loaded from the bundled executable using statik.<br>By default, this value is "".')],
+ [form.Flag, 'tcp_mux', _('TCP mux'), _('TcpMux toggles TCP stream multiplexing. This allows multiple requests from a client to share a single TCP connection. If this value is true, the server must have TCP multiplexing enabled as well.<br>By default, this value is true.'), {datatype: 'bool', default: 'true'}],
+ [form.Value, 'user', _('User'), _('User specifies a prefix for proxy names to distinguish them from other clients. If this value is not "", proxy names will automatically be changed to "{user}.{proxy_name}".<br>By default, this value is "".')],
+ [form.Flag, 'login_fail_exit', _('Exit when login fail'), _('LoginFailExit controls whether or not the client should exit after a failed login attempt. If false, the client will retry until a login attempt succeeds.<br>By default, this value is true.'), {datatype: 'bool', default: 'true'}],
+ [form.ListValue, 'protocol', _('Protocol'), _('Protocol specifies the protocol to use when interacting with the server. Valid values are "tcp", "kcp", and "websocket".<br>By default, this value is "tcp".'), {values: ['tcp', 'kcp', 'websocket']}],
+ [form.Flag, 'tls_enable', _('TLS'), _('TLSEnable specifies whether or not TLS should be used when communicating with the server.'), {datatype: 'bool'}],
+ [form.Value, 'heartbeat_interval', _('Heartbeat interval'), _('HeartBeatInterval specifies at what interval heartbeats are sent to the server, in seconds. It is not recommended to change this value.<br>By default, this value is 30.'), {datatype: 'uinteger'}],
+ [form.Value, 'heartbeat_timeout', _('Heartbeat timeout'), _('HeartBeatTimeout specifies the maximum allowed heartbeat response delay before the connection is terminated, in seconds. It is not recommended to change this value.<br>By default, this value is 90.'), {datatype: 'uinteger'}]
+];
+
+var baseProxyConf = [
+ [form.ListValue, 'type', _('Proxy type'), _('ProxyType specifies the type of this proxy. Valid values include "tcp", "udp", "http", "https", "stcp", and "xtcp".<br>By default, this value is "tcp".'), {values: ['tcp', 'udp', 'http', 'https', 'stcp', 'xtcp']}],
+ [form.Flag, 'use_encryption', _('Encryption'), _('UseEncryption controls whether or not communication with the server will be encrypted. Encryption is done using the tokens supplied in the server and client configuration.<br>By default, this value is false.'), {datatype: 'bool'}],
+ [form.Flag, 'use_compression', _('Compression'), _('UseCompression controls whether or not communication with the server will be compressed.<br>By default, this value is false.'), {datatype: 'bool'}],
+ [form.Value, 'local_ip', _('Local IP'), _('LocalIp specifies the IP address or host name to proxy to.'), {datatype: 'ipaddr'}],
+ [form.Value, 'local_port', _('Local port'), _('LocalPort specifies the port to proxy to.'), {datatype: 'port'}],
+];
+
+var bindInfoConf = [
+ [form.Value, 'remote_port', _('Remote port'), _('If remote_port is 0, frps will assign a random port for you'), {datatype: 'port'}]
+];
+
+var domainConf = [
+ [form.Value, 'custom_domains', _('Custom domains')],
+ [form.Value, 'sub_domain', _('Subdomain')],
+];
+
+var httpProxyConf = [
+ [form.Value, 'locations', _('Locations')],
+ [form.Value, 'http_user', _('HTTP user')],
+ [form.Value, 'http_pwd', _('HTTP password')],
+ [form.Value, 'host_header_rewrite', _('Host header rewrite')],
+ // [form.Value, 'headers', _('Headers')], // FIXME
+];
+
+var stcpProxyConf = [
+ [form.ListValue, 'role', _('Role'), undefined, {values: ['server', 'visitor']}],
+ [form.Value, 'sk', _('Sk')],
+];
+
+function setParams(o, params) {
+ if (!params) return;
+ for (var key in params) {
+ var val = params[key];
+ if (key === 'values') {
+ for (var j = 0; j < val.length; j++) {
+ var args = val[j];
+ if (!Array.isArray(args))
+ args = [args];
+ o.value.apply(o, args);
+ }
+ } else if (key === 'depends') {
+ if (!Array.isArray(val))
+ val = [val];
+ for (var j = 0; j < val.length; j++) {
+ var args = val[j];
+ if (!Array.isArray(args))
+ args = [args];
+ o.depends.apply(o, args);
+ }
+ } else {
+ o[key] = params[key];
+ }
+ }
+ if (params['datatype'] === 'bool') {
+ o.enabled = 'true';
+ o.disabled = 'false';
+ }
+}
+
+function defTabOpts(s, t, opts, params) {
+ for (var i = 0; i < opts.length; i++) {
+ var opt = opts[i];
+ var o = s.taboption(t, opt[0], opt[1], opt[2], opt[3]);
+ setParams(o, opt[4]);
+ setParams(o, params);
+ }
+}
+
+function defOpts(s, opts, params) {
+ for (var i = 0; i < opts.length; i++) {
+ var opt = opts[i];
+ var o = s.option(opt[0], opt[1], opt[2], opt[3]);
+ setParams(o, opt[4]);
+ setParams(o, params);
+ }
+}
+
+return view.extend({
+ render: function() {
+ var m, s, o;
+
+ m = new form.Map('frpc', _('frp Client'));
+
+ s = m.section(form.NamedSection, 'common', 'conf');
+ s.dynamic = true;
+
+ s.tab('common', _('Common Settings'));
+ s.tab('init', _('Startup Settings'));
+
+ defTabOpts(s, 'common', commonConf, {optional: true});
+
+ o = s.taboption('init', form.SectionValue, 'init', form.TypedSection, 'init', _('Startup Settings'));
+ s = o.subsection;
+ s.anonymous = true;
+ s.dynamic = true;
+
+ defOpts(s, startupConf);
+
+ s = m.section(form.GridSection, 'conf', _('Proxy Settings'));
+ s.addremove = true;
+ s.filter = function(s) { return s !== 'common'; };
+ s.renderSectionAdd = function(extra_class) {
+ var el = form.GridSection.prototype.renderSectionAdd.apply(this, arguments),
+ nameEl = el.querySelector('.cbi-section-create-name');
+ ui.addValidator(nameEl, 'uciname', true, function(v) {
+ if (v === 'common') return _('Name can not be "common"');
+ return true;
+ }, 'blur', 'keyup');
+ return el;
+ }
+
+ s.tab('general', _('General Settings'));
+ s.tab('http', _('HTTP Settings'));
+
+ s.option(form.Value, 'type', _('Proxy type')).modalonly = false;
+ s.option(form.Value, 'local_ip', _('Local IP')).modalonly = false;
+ s.option(form.Value, 'local_port', _('Local port')).modalonly = false;
+
+ defTabOpts(s, 'general', baseProxyConf, {modalonly: true});
+
+ // TCP and UDP
+ defTabOpts(s, 'general', bindInfoConf, {optional: true, modalonly: true, depends: [{type: 'tcp'}, {type: 'udp'}]});
+
+ // HTTP and HTTPS
+ defTabOpts(s, 'http', domainConf, {optional: true, modalonly: true, depends: [{type: 'http'}, {type: 'https'}]});
+
+ // HTTP
+ defTabOpts(s, 'http', httpProxyConf, {optional: true, modalonly: true, depends: {type: 'http'}});
+
+ // STCP and XTCP
+ defTabOpts(s, 'general', stcpProxyConf, {modalonly: true, depends: [{type: 'stcp'}, {type: 'xtcp'}]});
+
+ return m.render();
+ }
+});
diff --git a/applications/luci-app-frpc/po/ar/frpc.po b/applications/luci-app-frpc/po/ar/frpc.po
new file mode 100644
index 0000000000..6fd850d019
--- /dev/null
+++ b/applications/luci-app-frpc/po/ar/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: ar\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/bg/frpc.po b/applications/luci-app-frpc/po/bg/frpc.po
new file mode 100644
index 0000000000..77a0486bbb
--- /dev/null
+++ b/applications/luci-app-frpc/po/bg/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: bg\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/bn_BD/frpc.po b/applications/luci-app-frpc/po/bn_BD/frpc.po
new file mode 100644
index 0000000000..c78a3e7224
--- /dev/null
+++ b/applications/luci-app-frpc/po/bn_BD/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: bn_BD\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/ca/frpc.po b/applications/luci-app-frpc/po/ca/frpc.po
new file mode 100644
index 0000000000..1a6a78f084
--- /dev/null
+++ b/applications/luci-app-frpc/po/ca/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: ca\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/cs/frpc.po b/applications/luci-app-frpc/po/cs/frpc.po
new file mode 100644
index 0000000000..2d7e7059df
--- /dev/null
+++ b/applications/luci-app-frpc/po/cs/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: cs\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/de/frpc.po b/applications/luci-app-frpc/po/de/frpc.po
new file mode 100644
index 0000000000..5d8c6bba59
--- /dev/null
+++ b/applications/luci-app-frpc/po/de/frpc.po
@@ -0,0 +1,432 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-04-30 05:51+0000\n"
+"Last-Translator: Sandro Stross <sandro.stross@gmx.at>\n"
+"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/de/>\n"
+"Language: de\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.0.2\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Zusätzliche Konfiguration"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr "Admin-Adresse"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr "Admin-Kennwort"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr "Admin-Port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr "Admin-Nutzer"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+"AdminAddr spezifiziert die Adresse auf der der Admin-Server lauscht."
+"<br>Standard für diesen Wert ist \"127.0.0.1\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+"AdminPort spezifiziert den Port auf dem der Admin-Server lauschen soll. "
+"Falls der Wert 0 ist, wird kein Admin-Server gestartet.<br>Standardwert ist "
+"0."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminPwd spezifiziert das Kennwort, dass der Admin-Server zum Login abfrägt."
+"<br>Standardkennwort ist \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminUser spezifiziert den Benutzername, den der Admin-Server fürs Login "
+"verwenden soll.<br>Standardnutzer ist \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "Asset-Verzeichnis"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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 ""
+"AssetsDir spezifiziert das lokale Verzeichnis, aus dem der Admin-Server "
+"seine Ressourcen lädt. Falls der Wert \"\" beträgt, werden Ressource aus der "
+"mitgelieferten ausführbaren Datei mittels statik geladen.<br>Standardwert "
+"ist \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "Gemeinsame Einstellungen"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "Komprimierung"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr "Konfigurationsdateien die in temporärer Konfiguration enthalten sind"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr "Benutzerdefinierte Domains"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "Deaktiviere farbiges Log"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+"DisableLogColor deaktiviert farbiges Log wenn LogWay == \"console\" "
+"aktiviert ist."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Verschlüsselung"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "Umgebungsvariable"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr "Beende Programm bei Loginfehler"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Allgemeine Einstellungen"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "HTTP-Einstellungen"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "HTTP-Passwort"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "HTTP-Proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "HTTP-User"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+"HeartBeatInterval spezifiziert den Zeitabstand zwischen dem Senden von "
+"Heartbeats an den Server in Sekunden. Es wird nicht empfohlen, diesen Wert "
+"zu ändern.<br>Standardwert hierfür ist 30."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+"HeartBeatTimeout spzifiziert die maximal erlaubte Heartbeat-Antwort-"
+"Verzögerung in Sekunden, bevor die Verbindung gekappt wird. Es wird nicht "
+"empfohlen, diesen Wert zu ändern.<br>Standardwert hierfür ist 90."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "Heartbeat-Intervall"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "Heartbeat-Timeout"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr "Host-Header umschreiben"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+"HttpProxy spezifiert über welche Proxy-Adresse zum Server verbunden werden "
+"soll. Falls dieser Wert \"\" ist, wird direkt zum Server verbunden."
+"<br>Standardwert hierfür wird aus der \"http_proxy\"-Umgebungsvariable "
+"gelesen."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+"Falls remote_port auf 0 gesetzt ist, wird frps einen zufälligen Port-Wert "
+"zuweisen"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "Lokale IP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "Lokaler Port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#, fuzzy
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+"LocalIp spezifiziert die IP-Adresse oder den Hostnamen der als Proxy "
+"verwendet werden soll."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr "Standorte"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Protokollierungsstufe"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr "Logge stderr"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr "Logge stdout"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+"LogLevel spezifiziert den minimalen Log-Level. Gültige Werte sind \"trace\", "
+"\"debug\", \"info\", \"warn\" und \"error\".<br>Standartwert hierfür ist "
+"\"info\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+"LoginFailExit legt fest, ob sich ein Client nach einem fehlgeschlagenen "
+"Loginversuch beenden soll. Falls es auf falsch steht, wir es der client so "
+"oft versuchen, bis es erfolgreich war.<br>Standardwert hierfür ist wahr."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr "Der Name kann nicht \"common\" sein"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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 ""
+"Betriebssystemumgebungsvariablen welche an frp für das Konfig-Datei-Template "
+"weitergereicht werden, siehe <a href=\"https://github.com/fatedier/"
+"frp#configuration-file-template\">frp README</a>"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protokoll"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"Protocol spezifiziert das Protokoll welches zur Interaktion mit dem Server "
+"verwendet werden soll. Gültige Werte sind \"tcp\", \"kcp\" und \"websocket\"."
+"<br>Standardwert hierfür ist \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "Proxy-Einstellungen"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr "Proxy-Typ"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"ProxyType spezifiziert den Typ des Proxyservers. Gültige Werte beinhalten "
+"\"tcp\", \"udp\", \"https\", \"stcp\" und \"xtcp\".<br>Standardwert hierfür "
+"ist \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr "Remote-Port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr "Starte nach Crash neu"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "Rolle"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "Daemon als Gruppe ausführen"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Daemon als Gruppe ausführen"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "Server-Adresse"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Server-Port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+"ServerAddr spezifiziert die Adresse des Servers zu dem Verbunden werden soll."
+"<br>Standardwert hierfür ist \"0.0.0.0\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+"ServerPort spezifiziert den Port des Servers zu dem verbunden werden soll."
+"<br>Standardwert hierfür ist 7000."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr "Sk"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr "Startparameter"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr "Subdomain"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr "TCP-mux"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr "TLS"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+"TLSEnable spezifiziert ob TLS bei der Kommunikation mit dem Server verwendet "
+"werden soll."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+"TcpMux regelt ob TCP-Stream-Multiplexing genutzt werden soll. Dies erlaubt "
+"mehrere Requests eines Clients über eine TCP-Verbindung. Falls dieser Wert "
+"auf wahr steht, muss der Server ebenfalls TCP-Multiplexing aktiviert haben."
+"<br>Standardwert hierfür ist wahr."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Token"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+"Token spezifiziert das Authorisations-Token, das für die Erzeugung von "
+"Schlüsseln die an den Server gesendet werden genutzt wird. Der Server muss "
+"ein gleichlautendes Token zur Authorisation eingestellt haben."
+"<br>Standardwert hierfür ist \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+"UseCompression legt fest, ob die Datenverbindung mit dem Server komprimiert "
+"werden soll.<br>Standardwert hierfür ist falsch."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+"UseEncryption legt fest, ob die Datenverbindung mit dem Server verschlüsselt "
+"werden soll. Die Verschlüsselung erfolgt mittels der eingestellten Token auf "
+"Server- und Clientseite.<br>Standardwert hierfür ist falsch."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Nutzer"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+"User spezifiziert den Präfix für Proxy-Namen zur Unterscheidung von anderen "
+"Clients. Falls dieser Wert \"\" beträgt, werden Proxy-Namen automatisch zu "
+"\"{user} {proxy_name} \" umgeschrieben.<br>Standardwert hierfür ist \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr "frp Client"
diff --git a/applications/luci-app-frpc/po/el/frpc.po b/applications/luci-app-frpc/po/el/frpc.po
new file mode 100644
index 0000000000..6f67cb8a2e
--- /dev/null
+++ b/applications/luci-app-frpc/po/el/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: el\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/en/frpc.po b/applications/luci-app-frpc/po/en/frpc.po
new file mode 100644
index 0000000000..49dee33d93
--- /dev/null
+++ b/applications/luci-app-frpc/po/en/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: en\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/es/frpc.po b/applications/luci-app-frpc/po/es/frpc.po
new file mode 100644
index 0000000000..e8b8d7492c
--- /dev/null
+++ b/applications/luci-app-frpc/po/es/frpc.po
@@ -0,0 +1,437 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2020-05-02 15:56+0000\n"
+"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/es/>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.1-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Configuraciones adicionales"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr "Dirección del administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr "Clave del administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr "Puerto del administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr "Usuario del administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+"AdminAddr especifica la dirección a la que se une el servidor de "
+"administración.<br>De manera predeterminada, este valor es \"127.0.0.1\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+"AdminPort especifica el puerto para que el servidor de administración "
+"escuche. Si este valor es 0, el servidor de administración no se iniciará."
+"<br>De manera predeterminada, este valor es 0."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminPwd especifica la contraseña que el servidor de administración usará "
+"para iniciar sesión.<br>De manera predeterminada, este valor es \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminUser especifica el nombre de usuario que el administrador del servidor "
+"usará para iniciar sesión.<br> Por defecto, este valor es \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "Directorio de activos"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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 ""
+"AssetsDir especifica el directorio local desde el que el servidor de "
+"administración cargará los recursos. Si este valor es \"\", los activos se "
+"cargarán desde el ejecutable incluido usando statik.<br>Por defecto, este "
+"valor es \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "Configuraciones comunes"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "Compresión"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+"Los archivos de configuración incluyen en el archivo de configuración "
+"temporal"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr "Dominios personalizados"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "Desactivar color de registro"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+"DisableLogColor desactiva los colores de registro cuando LogWay == \"console"
+"\" cuando se establece en verdadero."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Encriptación"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "Variable ambiental"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr "Salir cuando falla el inicio de sesión"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Configuración general"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr "Conceder acceso a la aplicación frpc de LuCI"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "Configuraciones HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "Contraseña HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "Proxy HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "Usuario HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+"HeartBeatInterval especifica en qué intervalo se envían los latidos al "
+"servidor, en segundos. No se recomienda cambiar este valor.<br>Por defecto, "
+"este valor es 30."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+"HeartBeatTimeout especifica el retraso de respuesta de latido máximo "
+"permitido antes de que finalice la conexión, en segundos. No se recomienda "
+"cambiar este valor.<br>Por defecto, este valor es 90."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "Intervalo de latidos"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "Tiempo de espera de latidos"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr "Reescritura de encabezado de host"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+"HttpProxy especifica una dirección proxy para conectarse al servidor. Si "
+"este valor es \"\", el servidor se conectará directamente.<br>De manera "
+"predeterminada, este valor se lee desde la variable de entorno \"http_proxy"
+"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr "Si remote_port es 0, frps le asignará un puerto aleatorio"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "IP local"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "Puerto local"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr "LocalIp especifica la dirección IP o el nombre de host para el proxy."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr "LocalPort especifica el puerto al proxy."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr "Localizaciones"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Nivel de registro"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr "Registro de stderr"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr "Registro de stdout"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+"LogLevel especifica el nivel mínimo de registro. Los valores válidos son "
+"\"trace\", \"debug\", \"info\", \"warn\" y \"error\".<br>Por defecto, este "
+"valor es \"info\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+"LoginFailExit controla si el cliente debe salir o no después de un intento "
+"fallido de inicio de sesión. Si es falso, el cliente volverá a intentarlo "
+"hasta que un intento de inicio de sesión tenga éxito.<br>Por defecto, este "
+"valor es verdadero."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr "El nombre no puede ser \"común\""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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 ""
+"Los entornos del SO pasan a frp para la plantilla del archivo de "
+"configuración, consulte <a href=\"https://github.com/fatedier/"
+"frp#configuration-file-template\"> frp README</a>"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"Protocolo especifica el protocolo que se utilizará al interactuar con el "
+"servidor. Los valores válidos son \"tcp\", \"kcp\" y \"websocket\".<br>De "
+"manera predeterminada, este valor es \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "Configuraciónes del proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr "Tipo de proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"ProxyType especifica el tipo de este proxy. Los valores válidos incluyen "
+"\"tcp\", \"udp\", \"http\", \"https\", \"stcp\" y \"xtcp\".<br>Por defecto, "
+"este valor es \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr "Puerto remoto"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr "Reaparecer cuando se estrelló"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "Rol"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "Ejecutar demonio como grupo"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Ejecutar demonio como usuario"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "Dirección del servidor"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Puerto del servidor"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+"ServerAddr especifica la dirección del servidor al que conectarse.<br>Por "
+"defecto, este valor es \"0.0.0.0\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+"ServerPort especifica el puerto para conectarse al servidor.<br>Por defecto, "
+"este valor es 7000."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr "Sk"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr "Configuraciones de inicio"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr "Subdominio"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr "TCP mux"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr "TLS"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+"TLSEnable especifica si TLS debe usarse o no cuando se comunica con el "
+"servidor."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+"TcpMux alterna la multiplexación de flujo TCP. Esto permite que múltiples "
+"solicitudes de un cliente compartan una sola conexión TCP. Si este valor es "
+"verdadero, el servidor también debe tener habilitada la multiplexación TCP."
+"<br>De manera predeterminada, este valor es verdadero."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Token"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+"Token especifica el token de autorización utilizado para crear claves para "
+"enviar al servidor. El servidor debe tener un token coincidente para que la "
+"autorización tenga éxito.<br>Por defecto, este valor es \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+"UseCompression controla si la comunicación con el servidor se comprimirá o "
+"no.<br>Por defecto, este valor es falso."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+"UseEncryption controla si la comunicación con el servidor se cifrará o no. "
+"El cifrado se realiza utilizando los tokens suministrados en la "
+"configuración del servidor y del cliente.<br>De manera predeterminada, este "
+"valor es falso."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Usuario"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+"El usuario especifica un prefijo para los nombres de proxy para "
+"distinguirlos de otros clientes. Si este valor no es \"\", los nombres de "
+"proxy se cambiarán automáticamente a \"{user}.{Proxy_name}\".<br>De manera "
+"predeterminada, este valor es \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr "Cliente frp"
+
+#~ msgid "Headers"
+#~ msgstr "Encabezados"
diff --git a/applications/luci-app-frpc/po/fi/frpc.po b/applications/luci-app-frpc/po/fi/frpc.po
new file mode 100644
index 0000000000..7b04f28153
--- /dev/null
+++ b/applications/luci-app-frpc/po/fi/frpc.po
@@ -0,0 +1,365 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-05-21 18:50+0000\n"
+"Last-Translator: Hannu Nyman <hannu.nyman@iki.fi>\n"
+"Language-Team: Finnish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/fi/>\n"
+"Language: fi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.1-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Salaus"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Yleisasetukset"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Lokitaso"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protokolla"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Palvelinportti"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Käyttäjä"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/fr/frpc.po b/applications/luci-app-frpc/po/fr/frpc.po
new file mode 100644
index 0000000000..f29c2aaede
--- /dev/null
+++ b/applications/luci-app-frpc/po/fr/frpc.po
@@ -0,0 +1,430 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-06-24 17:41+0000\n"
+"Last-Translator: viking76 <liaudetgael@gmail.com>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/fr/>\n"
+"Language: fr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.2-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Configurations supplémentaires"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr "Adresse administrateur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr "mot de passe d'administrateur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr "Port administrateur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr "Utilisateur administrateur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+"AdminAddr spécifie l'adresse à laquelle le serveur d'administration se lie."
+"<br>Par défaut, cette valeur est \"127.0.0.1\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+"AdminPort spécifie le port d'écoute du serveur d'administration. Si cette "
+"valeur est 0, le serveur d'administration ne sera pas démarré.<br>Par "
+"défaut, cette valeur est 0."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminPwd spécifie le mot de passe que le serveur d'administration utilisera "
+"pour la connexion.<br>Par défaut, cette valeur est \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminUser spécifie le nom d'utilisateur que le serveur d'administration "
+"utilisera pour la connexion.<br>Par défaut, cette valeur est \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "Répertoire des actifs"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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 ""
+"AssetsDir spécifie le répertoire local à partir duquel le serveur "
+"d'administration chargera les ressources. Si cette valeur est \"\", les "
+"actifs seront chargés à partir de l'exécutable fourni à l'aide de statik."
+"<br>Par défaut, cette valeur est \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "Paramètres communs"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "Compression"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+"Les fichiers de configuration incluent dans le fichier de configuration "
+"temporaire"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr "Domaines personnalisés"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "Désactiver la couleur du journal"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+"DisableLogColor désactive les couleurs du journal lorsque LogWay == \"console"
+"\" lorsqu'il est défini sur true."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Chiffrement"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "Variable d'environnement"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr "Quitter lorsque la connexion échoue"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Paramètres généraux"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr "Accorder l'accès à l'application LuCI frpc"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "Paramètres HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "Mot de passe HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "Http proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "Utilisateur HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+"HeartBeatInterval spécifie à quel intervalle les pulsations sont envoyées au "
+"serveur, en secondes. Il n'est pas recommandé de modifier cette valeur."
+"<br>Par défaut, cette valeur est 30."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+"HeartBeatTimeout spécifie le délai maximal de réponse de pulsation autorisé "
+"avant la fin de la connexion, en secondes. Il n'est pas recommandé de "
+"modifier cette valeur.<br>Par défaut, cette valeur est 90."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "Intervalle des battements cardiaques"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "Délai d'expiration du rythme cardiaque"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr "Réécriture de l'en-tête de l'hôte"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+"HttpProxy spécifie une adresse proxy pour se connecter au serveur via. Si "
+"cette valeur est \"\", le serveur sera directement connecté.<br>Par défaut, "
+"cette valeur est lue à partir de la variable d'environnement \"http_proxy\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr "Si remote_port vaut 0, frps vous attribuera un port aléatoire"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "IP locale"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "Local port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr "LocalIp spécifie l'adresse IP ou le nom d'hôte vers lequel proxy."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr "LocalPort spécifie le port vers lequel proxy."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr "Emplacements"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Niveau de journalisation"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr "Log stderr"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr "Log stdout"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+"LogLevel spécifie le niveau de journalisation minimum. Les valeurs valides "
+"sont \"trace\", \"debug\", \"info\", \"warn\" et \"error\".<br>Par défaut, "
+"cette valeur est \"info\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+"LoginFailExit contrôle si le client doit quitter ou non après une tentative "
+"de connexion échouée. Si la valeur est false, le client réessayera jusqu'à "
+"ce qu'une tentative de connexion réussisse.<br>Par défaut, cette valeur est "
+"vraie."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr "Le nom ne peut pas être \"commun\""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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 ""
+"Les environnements de système d'exploitation passent à frp pour le modèle de "
+"fichier de configuration, voir <a href=\"https://github.com/fatedier/"
+"frp#configuration-file-template\">frp README</a>"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protocole"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"Protocol spécifie le protocole à utiliser lors de l'interaction avec le "
+"serveur. Les valeurs valides sont \"tcp\", \"kcp\" et \"websocket\".<br>Par "
+"défaut, cette valeur est \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "Paramètres du proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr "Type de proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"ProxyType spécifie le type de ce proxy. Les valeurs valides sont \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\" et \"xtcp\".<br>Par défaut, cette "
+"valeur est \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr "Port distant"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr "Réapparaître en cas de crash"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "Rôle"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "Exécuter le démon en tant que groupe"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Exécuter le démon en tant qu'utilisateur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "Adresse du serveur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Port serveur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+"ServerAddr spécifie l'adresse du serveur auquel se connecter.<br>Par défaut, "
+"cette valeur est \"0.0.0.0\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+"ServerPort spécifie le port sur lequel se connecter au serveur.<br>Par "
+"défaut, cette valeur est 7000."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr "Sk"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr "Paramètres de démarrage"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr "Sous-domaine"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr "TCP mux"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr "TLS"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+"TLSEnable spécifie si TLS doit être utilisé ou non lors de la communication "
+"avec le serveur."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+"TcpMux bascule le multiplexage de flux TCP. Cela permet à plusieurs demandes "
+"d'un client de partager une seule connexion TCP. Si cette valeur est vraie, "
+"le multiplexage TCP doit également être activé sur le serveur.<br>Par "
+"défaut, cette valeur est vraie."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Token"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+"Token spécifie le jeton d'autorisation utilisé pour créer les clés à envoyer "
+"au serveur. Le serveur doit avoir un jeton correspondant pour que "
+"l'autorisation réussisse.<br>Par défaut, cette valeur est \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+"UseCompression contrôle si la communication avec le serveur sera compressée "
+"ou non.<br>Par défaut, cette valeur est false."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+"UseEncryption contrôle si la communication avec le serveur sera chiffrée ou "
+"non. Le chiffrement est effectué à l'aide des jetons fournis dans la "
+"configuration du serveur et du client.<br>Par défaut, cette valeur est "
+"fausse."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Utilisateur"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+"L'utilisateur spécifie un préfixe pour les noms de proxy pour les distinguer "
+"des autres clients. Si cette valeur n'est pas \"\", les noms de proxy seront "
+"automatiquement modifiés en \"{user}.{Proxy_name}\".<br>Par défaut, cette "
+"valeur est \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr "frp Client"
diff --git a/applications/luci-app-frpc/po/he/frpc.po b/applications/luci-app-frpc/po/he/frpc.po
new file mode 100644
index 0000000000..75b740354c
--- /dev/null
+++ b/applications/luci-app-frpc/po/he/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: he\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/hi/frpc.po b/applications/luci-app-frpc/po/hi/frpc.po
new file mode 100644
index 0000000000..55c01a93fb
--- /dev/null
+++ b/applications/luci-app-frpc/po/hi/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: hi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/hu/frpc.po b/applications/luci-app-frpc/po/hu/frpc.po
new file mode 100644
index 0000000000..f81cfc427a
--- /dev/null
+++ b/applications/luci-app-frpc/po/hu/frpc.po
@@ -0,0 +1,365 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-02-09 22:36+0000\n"
+"Last-Translator: Balázs Úr <balazs@urbalazs.hu>\n"
+"Language-Team: Hungarian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/hu/>\n"
+"Language: hu\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Titkosítás"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Általános beállítások"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "Helyi port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Naplózási szint"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protokoll"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "Szerep"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Démon futtatása felhasználóként"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Kiszolgáló port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Token"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Felhasználó"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/it/frpc.po b/applications/luci-app-frpc/po/it/frpc.po
new file mode 100644
index 0000000000..3b1399496a
--- /dev/null
+++ b/applications/luci-app-frpc/po/it/frpc.po
@@ -0,0 +1,365 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-03-03 13:36+0000\n"
+"Last-Translator: TuxAlex0 <alex.skatingcassano@gmail.com>\n"
+"Language-Team: Italian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/it/>\n"
+"Language: it\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.0-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Crittografia"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Impostazioni Generali"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protocollo"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/ja/frpc.po b/applications/luci-app-frpc/po/ja/frpc.po
new file mode 100644
index 0000000000..e7c3a82e76
--- /dev/null
+++ b/applications/luci-app-frpc/po/ja/frpc.po
@@ -0,0 +1,365 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-08-04 18:32+0000\n"
+"Last-Translator: Satoru Yoshida <ramat@ram.ne.jp>\n"
+"Language-Team: Japanese <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/ja/>\n"
+"Language: ja\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.2-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "追加の構成"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "共通設定"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "圧縮"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "ログの色を無効にする"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "暗号化"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "環境変数"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "一般設定"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "HTTP 設定"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "HTTP パスワード"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "HTTP ユーザー"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "ハートビート間隔"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "ハートビート・タイムアウト"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "ローカル IP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "ローカル・ポート"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "ログレベル"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "プロトコル"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "プロキシ設定"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "役割"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "サーバーのアドレス"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "サーバーのポート"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "トークン"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "ユーザー"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/ko/frpc.po b/applications/luci-app-frpc/po/ko/frpc.po
new file mode 100644
index 0000000000..d970c0ac6d
--- /dev/null
+++ b/applications/luci-app-frpc/po/ko/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: ko\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/mr/frpc.po b/applications/luci-app-frpc/po/mr/frpc.po
new file mode 100644
index 0000000000..d6780209b1
--- /dev/null
+++ b/applications/luci-app-frpc/po/mr/frpc.po
@@ -0,0 +1,365 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-02-12 11:01+0000\n"
+"Last-Translator: Prachi Joshi <josprachi@yahoo.com>\n"
+"Language-Team: Marathi <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/mr/>\n"
+"Language: mr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "अतिरिक्त कॉन्फिगरेशन"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "सामान्य सेटिंग्ज"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "प्रोटोकॉल"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/ms/frpc.po b/applications/luci-app-frpc/po/ms/frpc.po
new file mode 100644
index 0000000000..929d30d226
--- /dev/null
+++ b/applications/luci-app-frpc/po/ms/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: ms\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/nb_NO/frpc.po b/applications/luci-app-frpc/po/nb_NO/frpc.po
new file mode 100644
index 0000000000..551a2f0920
--- /dev/null
+++ b/applications/luci-app-frpc/po/nb_NO/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: nb_NO\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/pl/frpc.po b/applications/luci-app-frpc/po/pl/frpc.po
new file mode 100644
index 0000000000..273fd37ae4
--- /dev/null
+++ b/applications/luci-app-frpc/po/pl/frpc.po
@@ -0,0 +1,429 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-06-16 16:09+0000\n"
+"Last-Translator: Marcin Net <marcin.net@linux.pl>\n"
+"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/pl/>\n"
+"Language: pl\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.1.1-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Dodatkowe konfiguracje"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr "Adres administratora"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr "Hasło administratora"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr "Port administratora"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr "Administrator użytkownika"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+"AdminAddr określa adres, który serwer administracyjny łączy z adresem.<br> "
+"Domyślnie jest to wartość \"127.0.0.1\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+"AdminPort określa port, na którym serwer administracyjny ma nasłuchiwać. "
+"Jeśli ta wartość wynosi 0, serwer administracyjny nie zostanie uruchomiony. "
+"<br> Domyślnie ta wartość wynosi 0."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminPwd określa hasło, którego będzie używał serwer administracyjny do "
+"logowania. <br> Domyślnie ta wartość to \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminUser określa nazwę użytkownika, której serwer administracyjny będzie "
+"używał do logowania. Domyślnie ta wartość to \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "Assets dir"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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 ""
+"AssetsDir określa katalog lokalny, z którego serwer administracyjny będzie "
+"ładował zasoby. Jeśli ta wartość to \"\", zasoby zostaną załadowane z "
+"pakietu wykonywalnego przy użyciu statik. <br> Domyślnie ta wartość to \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "Wspólne ustawienia"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "Kompresja"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr "Pliki konfiguracyjne znajdują się w tymczasowym pliku konfiguracyjnym"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr "Własne domeny"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "Wyłącz kolor dziennika"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+"DisableLogColor wyłącza kolory dziennika, gdy LogWay == \"konsola\", jest "
+"ustawiona na true."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Szyfrowanie"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "Zmienna środowiskowa"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr "Wyjdź, gdy logowanie się nie powiedzie"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Ustawienia główne"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr "Udziel dostępu LuCI do aplikacji frpc"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "Ustawienia HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "Hasło HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "HTTP proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "Użytkownik HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+"HeartBeatInterval określa, w jakich odstępach czasu pulsy są wysyłane do "
+"serwera, w sekundach. Nie zaleca się zmiany tej wartości. <br> Domyślnie ta "
+"wartość wynosi 30."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+"HeartBeatTimeout określa maksymalne dozwolone opóźnienie odpowiedzi pulsu "
+"przed zakończeniem połączenia (w sekundach). Nie zaleca się zmiany tej "
+"wartości. <br> Domyślnie ta wartość wynosi 90."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "Interwał pulsu"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "Limit czasu pulsu"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr "Przepisz nagłówek hosta"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+"HttpProxy określa adres proxy do połączenia z serwerem. Jeśli ta wartość to "
+"\"\", serwer zostanie podłączony bezpośrednio. <br> Domyślnie ta wartość "
+"jest odczytywana ze zmiennej środowiskowej \"http_proxy\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr "Jeśli port_zdalny wynosi 0, frps przypisze Ci losowy port"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "Lokalny IP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "Port lokalny"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+"LocalIp określa adres IP lub nazwę hosta, do którego ma zostać wysłany proxy."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr "LocalPort określa port, do którego należy się zwrócić."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr "Lokalizacje"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Poziom logowania"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr "Dziennik stderr"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr "Dziennik stdout"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+"LogLevel określa minimalny poziom dziennika. Poprawne wartości to \"trace\", "
+"\"debug\", \"info\", \"warn\" i \"error\".<br> Domyślnie jest to \"info\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+"LoginFailExit kontroluje czy klient powinien wyjść po nieudanej próbie "
+"logowania. Jeśli jest ona nieprawdziwa, klient spróbuje ponownie, dopóki "
+"próba logowania nie zakończy się sukcesem.<br> Domyślnie wartość true."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr "Nazwa nie może być „wspólna”"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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 ""
+"Środowiska systemu operacyjnego przechodzą do frp w celu uzyskania szablonu "
+"pliku konfiguracyjnego, patrz <a href=\"https://github.com/fatedier/"
+"frp#configuration-file-template\"> frp README </a>"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protokół"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"Protokół określa protokół używany podczas interakcji z serwerem. Prawidłowe "
+"wartości to \"tcp\", \"kcp\" i \"websocket\". <br> Domyślnie ta wartość to "
+"\"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "Ustawienia proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr "Typ proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"ProxyType określa typ tego proxy. Prawidłowe wartości to \"tcp\", \"udp\", "
+"\"http\", \"https\", \"stcp\" i \"xtcp\". <br> Domyślnie ta wartość to \"tcp"
+"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr "Port zdalny"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr "Odradzaj się po awarii"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "Rola"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "Uruchom demona jako grupę"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Uruchom daemona jako użytkownik"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "Adres serwera"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Port serwera"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+"ServerAddr określa adres serwera, z którymi chcesz się połączyć. <br>Domyśl "
+"domyślnie ta wartość to \"0.0.0.0\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+"ServerPort określa port do połączenia z serwerem on.<br> Domyślnie wartość "
+"ta wynosi 7000."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr "Sk"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr "Ustawienia uruchamiania"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr "Subdomena"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr "Mux TCP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr "TLS"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+"TLSEnable określa, czy podczas komunikacji z serwerem należy stosować TLS, "
+"czy też nie."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+"TcpMux przełącza multipleksowanie strumienia TCP. Pozwala to wielu żądaniom "
+"klienta na współużytkowanie jednego połączenia TCP. Jeśli ta wartość jest "
+"prawdą, serwer musi również mieć włączone multipleksowanie TCP. <br> "
+"Domyślnie ta wartość to true."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Token"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+"Token określa token autoryzacji używany do tworzenia kluczy, które mają "
+"zostać wysłane na serwer. Serwer musi mieć pasujący token, aby autoryzacja "
+"zakończyła się powodzeniem. <br> Domyślnie ta wartość to \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+"UseCompression kontroluje, czy komunikacja z serwerem będzie kompresowana. "
+"<br> Domyślnie ta wartość to false."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+"UseEncryption kontroluje, czy komunikacja z serwerem będzie szyfrowana. "
+"Szyfrowanie odbywa się przy użyciu tokenów dostarczonych w konfiguracji "
+"serwera i klienta. <br> Domyślnie ta wartość to false."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Użytkownik"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+"Użytkownik określa prefiks dla nazw proxy, aby odróżnić je od innych "
+"klientów. Jeśli ta wartość nie jest \"\", nazwy proxy zostaną automatycznie "
+"zmienione na \"{użytkownik}. {Nazwa_ proxy}}. <br> <br> Domyślnie ta wartość "
+"to \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr "Klient frp"
+
+#~ msgid "Headers"
+#~ msgstr "Nagłówki"
diff --git a/applications/luci-app-frpc/po/pt/frpc.po b/applications/luci-app-frpc/po/pt/frpc.po
new file mode 100644
index 0000000000..5dc661faea
--- /dev/null
+++ b/applications/luci-app-frpc/po/pt/frpc.po
@@ -0,0 +1,426 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-06-10 19:49+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
+"Language-Team: Portuguese <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/pt/>\n"
+"Language: pt\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.1-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Configurações adicionais"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr "Endereço do administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr "Palavra-passe do administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr "Porto de administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr "Utilizador do Administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+"AdminAddr especifica o endereço para o qual o servidor admin se liga.<br>Por "
+"padrão, este valor é \"127.0.0.1\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+"AdminPort especifica a porta onde o servidor de administração escuta. Se "
+"este valor for 0, o servidor admin não será iniciado.<br>Por padrão, este "
+"valor é 0."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminPwd especifica a palavra-passe que o servidor admin usará para login."
+"<br>Por padrão, este valor é \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminUser especifica o nome de utilizador que o servidor admin usará para "
+"login.<br>Por padrão, este valor é \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "Diretório de ativos"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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 ""
+"AssetsDir determina um diretório local de onde o painel carregará recursos. "
+"Se o valor for \"\", os ativos serão carregados do que estiver embutido no "
+"executável usando o statik. <br>O valor predefinido é \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "Configurações Comuns"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "Compressão"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+"Ficheiros de configuração incluídos no ficheiro de configuração temporário"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr "Domínios personalizados"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "Desativar cores nos registos"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+"DisableLogColor desativa o registo de cores quando LogWay == \"console\" for "
+"definido como true."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Encriptação"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "Variável de ambiente"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr "Saír caso início de sessão falhar"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Configurações Gerais"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr "Conceder acesso à app LuCI frps"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "Configurações HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "Palavra-passe HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "Proxy HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "Utilizador HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+"HeartBeatInterval determina em que intervalo heartbeats serão enviados para "
+"o servidor em segundos. Não é recomendável alterar este valor. <br>O valor "
+"predefinido é 30."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+"HeartBeatTimeout especifica o atraso máximo permitido de resposta ao "
+"heartbeat antes que a conexão seja encerrada, em segundos. Não é "
+"recomendável alterar esse valor. <br>O valor predefinido é 90."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "Intervalo do heartbeat"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "Tempo limite do heartbeat"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr "Reescrever o cabeçalho do host"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+"O HttpProxy especifica um endereço proxy para conectar ao servidor através "
+"dele. Se esse valor for \"\", o servidor será conectado diretamente. <br>O "
+"valor predefinido desse valor é lido da variável do ambiente \"http_proxy\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr "Se remote_port for 0, frps atribuirá uma porta aleatória para si"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "IP local"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "Porta local"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr "LocalIp especifica o endereço IP ou nome de host para ser proxy."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr "LocalPort especifica a porta para ser proxy."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr "Locais"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Nível de registo"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr "Regisro do stderr"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr "Registo do stdout"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+"O LogLevel determina o nível mínimo de registo. Valores válidos são \"trace"
+"\", \"debug\", \"info\", \"warn\" e \"error\". <br>O valor predefinido é "
+"\"info\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+"LoginFailExit controla se o cliente deve ou não sair após a falha de uma "
+"tentativa de login. Se falso, o cliente tentará novamente até que uma "
+"tentativa de login seja bem sucedida. <br>O valor predefinido é true."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr "O nome pode não ser \"common\""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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 ""
+"As variáveis de ambiente do sistema operacional passam para o frp como "
+"modelo de configuração, veja <a href=\"https://github.com/fatedier/"
+"frp#configuration-file-template\">frp README</a>"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"O protocolo especifica o protocolo a ser usado ao interagir com o servidor. "
+"Os valores válidos são \"tcp\", \"kcp\" e \"websocket\". <br>O valor "
+"predefinido é \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "Configurações de Proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr "Tipo de proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"ProxyType especifica o tipo deste proxy. Os valores válidos incluem \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", e \"xtcp\".<br>O valor predefinido é "
+"\"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr "Porta remota"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr "Reiniciar caso travado"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "Função"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "Executar daemon como grupo"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Executar serviço como utilizador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "Endereço do servidor"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Porta do servidor"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+"ServerAddr especifica o endereço do servidor ao qual se conectar.<br>O valor "
+"predefinido é \"0.0.0.0\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+"ServerPort especifica a porta ao qual se conectar no servidor.<br>O valor "
+"predefinido é 7000."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr "Sk"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr "Configurações de inicialização"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr "Subdomínio"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr "TCP mux"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr "TLS"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+"O TLSEnable especifica se o TLS deve ou não ser usado ao comunicar com o "
+"servidor."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+"TcpMux alterna multiplexação de fluxo TCP. Isso permite que várias "
+"solicitações de um cliente compartilhem uma única conexão TCP. Se esse valor "
+"for true, o servidor deve ter multiplexing TCP ativado também. <br>O valor "
+"predefinido é verdadeiro."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Chave eletrónica"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+"O token especifica o token de autorização usado para criar chaves a serem "
+"enviadas para o servidor. O servidor deve ter um token correspondente para a "
+"autorização ter sucesso. O valor predefinido é \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+"UseCompression controla se a comunicação com o servidor será compactada ou "
+"não. <br>O valor predefinido é false."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+"UseEncryption controla se a comunicação com o servidor será criptografada ou "
+"não. A criptografia é feita a usar os tokens fornecidos na configuração do "
+"servidor e do cliente. <br>O valor predefinido é false."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Utilizador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+"O utilizador especifica um prefixo aos nomes de proxy para distingui-los de "
+"outros clientes. Se este valor não for \"\", os nomes de proxy serão "
+"automaticamente alterados para \"{utilizador}. {nome_do_proxy}\". <br>O "
+"valor predefinido é \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr "Cliente frp"
diff --git a/applications/luci-app-frpc/po/pt_BR/frpc.po b/applications/luci-app-frpc/po/pt_BR/frpc.po
new file mode 100644
index 0000000000..809eb541fd
--- /dev/null
+++ b/applications/luci-app-frpc/po/pt_BR/frpc.po
@@ -0,0 +1,428 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-05-02 15:56+0000\n"
+"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationsfrpc/pt_BR/>\n"
+"Language: pt_BR\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.1-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Configurações adicionais"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr "Endereço do administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr "Senha do administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr "Porta do administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr "Usuário administrador"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+"AdminAddr determina o endereço a ser vinculado para uso do administrador do "
+"servidor.<br>O valor predefinido é \"127.0.0.0.1\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+"O AdminPort determina a porta onde o servidor administrativo atende. Se esse "
+"valor for 0, o servidor administrativo não será iniciado. <br>O valor "
+"predefinido é 0."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminPwd determina a senha de login que será usado para o administrador do "
+"servidor.<br>O valor predefinido é \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminUser determina o nome de login do usuário que será usado pelo "
+"administrador do servidor.<br>O valor predefinido é \"admin\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "Diretório de ativos"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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 ""
+"AssetsDir determina o diretório onde o administrador do servidor irá buscar "
+"recursos para serem carregados. Se o valor for \"\", os ativos serão "
+"carregados do que estiver embutido no executável usando o statik.<br>O valor "
+"predefinido é \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "Configurações Comuns"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "Compressão"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+"Arquivos de configuração incluídos no arquivo de configuração temporário"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr "Domínios customizados"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "Desativar cores nos registros de log"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+"DisableLogColor desativa as cores nos registros de log quando LogWay == "
+"\"console\" for definido como verdadeiro."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Criptografia"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "Variável de ambiente"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr "Encerre caso a autenticação falhe"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Configurações Gerais"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr "Conceder acesso ao aplicativo LuCI frpc"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "Configurações HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "Senha HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "Proxy HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "Usuário HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+"HeartBeatInterval determina em que intervalo o heartbeats serão enviados "
+"para o servidor em segundos. Não é recomendável alterar este valor. <br>O "
+"valor predefinido é 30."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+"HeartBeatTimeout determina o atraso máximo permitido de resposta do "
+"heartbeat antes que a conexão seja encerrada em segundos. Não é recomendável "
+"alterar este valor. <br>O valor predefinido é 90."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "Intervalo do Heartbeat"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "Tempo limite do heartbeat"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr "Reescrever cabeçalho do host"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+"O HttpProxy determina um endereço proxy a ser usado pelo servidor. Se este "
+"valor for \"\", o servidor usará conexão direta. <br>O valor predefinido é "
+"lido a partir da variável \"http_proxy\" do ambiente."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+"Se o remote_port for 0, o frps irá atribuir uma porta aleatória para você"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "IP Local"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "Porta local"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr "LocalIp determina o endereço IP ou o nome do host a ser procurado."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr "O LocalPort determina a porta a ser procurada."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr "Locais"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Nível do registro do log"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr "Registro log do stderr"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr "Registro log do stdout"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+"O LogLevel determina o nível mínimo de registro no log. Valores válidos são "
+"\"trace\", \"debug\", \"info\", \"warn\" e \"error\". <br>O valor "
+"predefinido é \"info\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+"LoginFailExit controla se o cliente deve ou não sair após uma tentativa de "
+"login fracassada. Se falso, o cliente tentará novamente até que uma "
+"tentativa de login seja bem sucedida. <br>O valor predefinido é verdadeiro."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr "O nome não pode ser \"common\""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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 ""
+"As variáveis de ambiente do sistema operacional passam para o frp como "
+"modelo de configuração, veja <a href=\"https://github.com/fatedier/"
+"frp#configuration-file-template\">frp README</a>"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"Protocolo determina o protocolo a ser usado quando interagir com o servidor. "
+"Os valores válidos são \"tcp\", \"kcp\" e \"websocket\". <br>O valor "
+"predefinido é \"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "Configurações de Proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr "Tipo de proxy"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"ProxyType determina o tipo deste proxy. Os valores válidos incluem \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\" e \"xtcp\". <br>O valor predefinido é "
+"\"tcp\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr "Porta remota"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr "Reiniciar caso entre em colapso"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "Papel"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "Executar serviço como usuário"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Executar serviço como usuário"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "Endereço do servidor"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Porta do servidor"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+"ServerAddr determina o endereço do servidor para se conectar. <br>O valor "
+"predefinido é \"0,0.0.0\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+"O ServerPort determina a porta para se conectar ao servidor. <br>O valor "
+"predefinido é 7000."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr "Sk"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr "Configurações de inicialização"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr "Subdomínio"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr "TCP mux"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr "TLS"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+"O TLSEnable determina se o TLS deve ou não ser usado ao se comunicar com o "
+"servidor."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+"TcpMux alterna a multiplexação do fluxo TCP. Isso permite que várias "
+"solicitações de um cliente compartilhem uma única conexão TCP. Se esse valor "
+"for verdadeiro, o servidor também deve ter a multiplexação TCP ativada. "
+"<br>O valor predefinido é verdadeiro."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Token"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+"O token determina o token de autorização usado para criar chaves que serão "
+"enviadas ao servidor. O servidor deve ter um token correspondente para que a "
+"autorização seja bem sucedida. <br>O valor predefinido é \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+"UseCompression controla se a comunicação com o servidor será compactada ou "
+"não. <br>O valor predefinido é falso."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+"UseEncryption controla se a comunicação com o servidor será criptografada ou "
+"não. A criptografia é feita usando os tokens fornecidos na configuração do "
+"servidor e do cliente. <br>O valor predefinido é falso."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Usuário"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+"O usuário determina um prefixo para os nomes de proxy para distingui-los de "
+"outros clientes. Se esse valor não for \"\", os nomes de proxy serão "
+"automaticamente alterados para \"{user}. {proxy_name}\". <br>O valor "
+"predefinido é \"\"."
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr "Cliente frp"
diff --git a/applications/luci-app-frpc/po/ro/frpc.po b/applications/luci-app-frpc/po/ro/frpc.po
new file mode 100644
index 0000000000..043a05c68a
--- /dev/null
+++ b/applications/luci-app-frpc/po/ro/frpc.po
@@ -0,0 +1,366 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-04-02 14:47+0000\n"
+"Last-Translator: Andrei Pavel <andreicristianpavel@gmail.com>\n"
+"Language-Team: Romanian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/ro/>\n"
+"Language: ro\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Weblate 4.0-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Configurații adiționale"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "Directorul de resurse"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Setări generale"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/ru/frpc.po b/applications/luci-app-frpc/po/ru/frpc.po
new file mode 100644
index 0000000000..c9393d3999
--- /dev/null
+++ b/applications/luci-app-frpc/po/ru/frpc.po
@@ -0,0 +1,366 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-07-04 17:41+0000\n"
+"Last-Translator: Artem <KovalevArtem.ru@gmail.com>\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/ru/>\n"
+"Language: ru\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.2-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Дополнительные конфиги"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Шифрование"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "Переменные окружения"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Основные настройки"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr "Предоставить доступ LuCI к приложению frpc"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "Уровень журналирования"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Протокол"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "Запуск демона от имени группы"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "Запуск демона от имени пользователя"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "Порт сервера"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "Токен"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Пользователь"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/sk/frpc.po b/applications/luci-app-frpc/po/sk/frpc.po
new file mode 100644
index 0000000000..c6a5641d34
--- /dev/null
+++ b/applications/luci-app-frpc/po/sk/frpc.po
@@ -0,0 +1,365 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-04-04 17:35+0000\n"
+"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
+"Language-Team: Slovak <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/sk/>\n"
+"Language: sk\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 4.0-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Šifrovanie"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Všeobecné nastavenia"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Protokol"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/sv/frpc.po b/applications/luci-app-frpc/po/sv/frpc.po
new file mode 100644
index 0000000000..39f981336f
--- /dev/null
+++ b/applications/luci-app-frpc/po/sv/frpc.po
@@ -0,0 +1,366 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-02-13 10:27+0000\n"
+"Last-Translator: Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>"
+"\n"
+"Language-Team: Swedish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/sv/>\n"
+"Language: sv\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "Extra konfigurationer"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/templates/frpc.pot b/applications/luci-app-frpc/po/templates/frpc.pot
new file mode 100644
index 0000000000..ac698b41b6
--- /dev/null
+++ b/applications/luci-app-frpc/po/templates/frpc.pot
@@ -0,0 +1,356 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/tr/frpc.po b/applications/luci-app-frpc/po/tr/frpc.po
new file mode 100644
index 0000000000..8d319aef45
--- /dev/null
+++ b/applications/luci-app-frpc/po/tr/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: tr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/uk/frpc.po b/applications/luci-app-frpc/po/uk/frpc.po
new file mode 100644
index 0000000000..b7759e6e2b
--- /dev/null
+++ b/applications/luci-app-frpc/po/uk/frpc.po
@@ -0,0 +1,366 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-02-17 11:53+0000\n"
+"Last-Translator: Olexandr Nesterenko <olexn@ukr.net>\n"
+"Language-Team: Ukrainian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsfrpc/uk/>\n"
+"Language: uk\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
+"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 3.11-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "Шифрування"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "Загальні параметри"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "Налаштування HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "Пароль HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "Проксі HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "Користувач HTTP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "Протокол"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "Користувач"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/vi/frpc.po b/applications/luci-app-frpc/po/vi/frpc.po
new file mode 100644
index 0000000000..7bb5439473
--- /dev/null
+++ b/applications/luci-app-frpc/po/vi/frpc.po
@@ -0,0 +1,359 @@
+msgid ""
+msgstr ""
+"Language: vi\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/po/zh_Hans/frpc.po b/applications/luci-app-frpc/po/zh_Hans/frpc.po
new file mode 100644
index 0000000000..bed3541078
--- /dev/null
+++ b/applications/luci-app-frpc/po/zh_Hans/frpc.po
@@ -0,0 +1,397 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-05-10 12:47+0000\n"
+"Last-Translator: gw826943555 <gw826943555@qq.com>\n"
+"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationsfrpc/zh_Hans/>\n"
+"Language: zh_Hans\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.1-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "额外配置"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr "管理地址"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr "管理密码"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr "管理端口"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr "管理用户名"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr "AdminAddr 用于指定管理服务器绑定到的地址。<br>默认是\"127.0.0.1\"。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+"AdminPort 用于指定管理服务器要侦听的端口。如果此值为0,则不会启动管理服务器。"
+"<br>默认情况下,此值为0。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminPwd 指定管理服务器用于登录的密码。<br>默认情况下,此值为\"admin\"。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+"AdminUser 指定管理服务器用于登录的用户名。<br>默认情况下,此值为\"admin\"。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr "资源目录"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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 ""
+"AssetsDir指定管理服务器用于加载资源的本地目录。如果此值为空,则使用statik从可"
+"执行文件中加载资源。<br>默认情况下,此值为空。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr "通用设置"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr "压缩"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr "配置文件包含在临时配置文件中"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr "自定义域名"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr "禁用日志的颜色"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr "当DisableLogColor设置为true且LogWay==\"console\"时禁用日志颜色。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr "加密"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr "环境变量"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr "当登录失败时退出"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "常规设置"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr "HTTP 设置"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr "HTTP 密码"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr "HTTP 代理"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr "HTTP 用户"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+"HeartBeatInterval 用于指定向服务器发送心跳包的间隔(以秒为单位)。不建议更改"
+"此值。<br>默认情况下,此值为 30。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+"HeartBeatTimeout 用于指定多久未收到心跳包后断开连接(以秒为单位)。不建议更改"
+"此值。<br>默认情况下,此值为 90。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr "心跳包间隔时间"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr "心跳包超时"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr "主机头重写"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+"HttpProxy 指定连接到服务器所用的代理地址。如果此值空,则直接连接服务器。<br>"
+"默认情况下,从\"http_proxy\"环境变量中读取此值。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr "如果remote_port为 0,frps 将为您随机分配一个端口"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr "本地 IP"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr "监听端口"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr "LocalIp 指定要被代理的 IP 地址或主机名。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr "LocalPort 指定要被代理的端口。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr "位置"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "日志记录等级"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr "错误日志"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr "普通日志"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid ""
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br>By default, this value is \"info\"."
+msgstr ""
+"LogLevel 指定最小的日志级别。有效值为\"trace\", \"debug\", \"info\", \"warn"
+"\"和\"error\"。<br>默认情况下,此值为\"info\"。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+"LoginFailExit 控制客户端在尝试登录失败后是否应退出。如果为 false,客户端将重"
+"试,直到登录成功。<br>默认情况下,此值为 true。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr "名称不能\"common\""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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 ""
+"操作系统环境传递给 frp。配置模板请参阅 <a href=\"https://github.com/fatedier/"
+"frp#configuration-file-template\">frp文档</a>"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "协议"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"Protocol 指定在与服务器交互时要使用的协议。有效值为\"tcp\"、\"kcp\"和"
+"\"websocket\"。<br>默认情况下,此值为\"tcp\"。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr "代理设置"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr "代理类型"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+"ProxyType 指定此代理的类型。有效值包括\"tcp\"、\"udp\"、\"http\"、\"http"
+"\"、\"http\"、\"stcp\"和\"xtcp\"。<br>默认情况下,此值为\"tcp\"。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr "远程端口"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr "崩溃时重启"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr "角色"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr "以此组权限运行"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "以此用户权限运行"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr "服务器地址"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr "服务器端口"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+"ServerAddr 指定要连接到的服务器的地址。<br>默认情况下,此值为\"0.0.0.0\"。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr "ServerPort 指定要连接到的服务器端口。<br>默认情况下,此值为 7000。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr "Sk"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr "启动设置"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr "子域名"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr "TCP 多路复用"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr "TLS"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr "TLSEnable 指定在与服务器通信时是否应使用 TLS。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+"TcpMux 切换 TCP 流多路复用。这允许来自客户端的多个请求共享单个 TCP 连接。如果"
+"此值为 true,则服务器必须启用 TCP 多路复用。<br>默认情况下,此值为 true。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "令牌"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+"Token 指定用于创建要发送到服务器的密钥的授权令牌。服务器必须具有匹配的令牌才"
+"能成功进行授权。<br>默认情况下,此值为空。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+"UseCompression 控制是否压缩与服务器的通信。<br>默认情况下,此值为 false。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+"UseEncryption 控制是否加密与服务器的通信。使用服务器和客户端配置中提供的令牌"
+"来完成加密。<br>默认情况下,此值为 false。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr "用户"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+"User 为代理名称指定前缀,以将它们与其他客户端区分开来。如果此值不为空,则代理"
+"名称将自动更改为\"{user}.{proxy_name}\"。<br>默认情况下,此值为空。"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr "frp 客户端"
diff --git a/applications/luci-app-frpc/po/zh_Hant/frpc.po b/applications/luci-app-frpc/po/zh_Hant/frpc.po
new file mode 100644
index 0000000000..4c09491ae1
--- /dev/null
+++ b/applications/luci-app-frpc/po/zh_Hant/frpc.po
@@ -0,0 +1,365 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2020-06-30 13:42+0000\n"
+"Last-Translator: Hulen <shift0106@gmail.com>\n"
+"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationsfrpc/zh_Hant/>\n"
+"Language: zh_Hant\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.2-dev\n"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Additional configs"
+msgstr "額外設定"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid "Admin address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid "Admin password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid "Admin port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid "Admin user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
+msgid ""
+"AdminAddr specifies the address that the admin server binds to.<br>By "
+"default, this value is \"127.0.0.1\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:26
+msgid ""
+"AdminPort specifies the port for the admin server to listen on. If this "
+"value is 0, the admin server will not be started.<br>By default, this value "
+"is 0."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:28
+msgid ""
+"AdminPwd specifies the password that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:27
+msgid ""
+"AdminUser specifies the username that the admin server will use for login."
+"<br>By default, this value is \"admin\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid "Assets dir"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:29
+msgid ""
+"AssetsDir specifies the local directory that the admin server 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-frpc/htdocs/luci-static/resources/view/frpc.js:126
+msgid "Common Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid "Compression"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:15
+msgid "Config files include in temporary config file"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:52
+msgid "Custom domains"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid "Disable log color"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:23
+msgid ""
+"DisableLogColor disables log colors when LogWay == \"console\" when set to "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid "Encryption"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+msgid "Environment variable"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid "Exit when login fail"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:151
+msgid "General Settings"
+msgstr "一般設定"
+
+#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
+msgid "Grant access to LuCI app frpc"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:152
+msgid "HTTP Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:59
+msgid "HTTP password"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid "HTTP proxy"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:58
+msgid "HTTP user"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid ""
+"HeartBeatInterval specifies at what interval heartbeats are sent to the "
+"server, in seconds. It is not recommended to change this value.<br>By "
+"default, this value is 30."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid ""
+"HeartBeatTimeout specifies the maximum allowed heartbeat response delay "
+"before the connection is terminated, in seconds. It is not recommended to "
+"change this value.<br>By default, this value is 90."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:35
+msgid "Heartbeat interval"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
+msgid "Heartbeat timeout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:60
+msgid "Host header rewrite"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:21
+msgid ""
+"HttpProxy specifies a proxy address to connect to the server through. If "
+"this value is \"\", the server will be connected to directly.<br>By default, "
+"this value is read from the \"http_proxy\" environment variable."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "If remote_port is 0, frps will assign a random port for you"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:155
+msgid "Local IP"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:156
+msgid "Local port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:43
+msgid "LocalIp specifies the IP address or host name to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:44
+msgid "LocalPort specifies the port to proxy to."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:57
+msgid "Locations"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+msgid "Log level"
+msgstr "日誌記錄層級"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:10
+msgid "Log stderr"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:9
+msgid "Log stdout"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:22
+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-frpc/htdocs/luci-static/resources/view/frpc.js:32
+msgid ""
+"LoginFailExit controls whether or not the client should exit after a failed "
+"login attempt. If false, the client will retry until a login attempt "
+"succeeds.<br>By default, this value is true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:145
+msgid "Name can not be \"common\""
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:14
+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-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid "Protocol"
+msgstr "協定"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:33
+msgid ""
+"Protocol specifies the protocol to use when interacting with the server. "
+"Valid values are \"tcp\", \"kcp\", and \"websocket\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:138
+msgid "Proxy Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:154
+msgid "Proxy type"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
+msgid ""
+"ProxyType specifies the type of this proxy. Valid values include \"tcp\", "
+"\"udp\", \"http\", \"https\", \"stcp\", and \"xtcp\".<br>By default, this "
+"value is \"tcp\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:48
+msgid "Remote port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:13
+msgid "Respawn when crashed"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:65
+msgid "Role"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:12
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:11
+msgid "Run daemon as user"
+msgstr "以此使用者權限執行"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid "Server address"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid "Server port"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:19
+msgid ""
+"ServerAddr specifies the address of the server to connect to.<br>By default, "
+"this value is \"0.0.0.0\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
+msgid ""
+"ServerPort specifies the port to connect to the server on.<br>By default, "
+"this value is 7000."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:66
+msgid "Sk"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:127
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:131
+msgid "Startup Settings"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:53
+msgid "Subdomain"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid "TCP mux"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid "TLS"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:34
+msgid ""
+"TLSEnable specifies whether or not TLS should be used when communicating "
+"with the server."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:30
+msgid ""
+"TcpMux toggles TCP stream multiplexing. This allows multiple requests from a "
+"client to share a single TCP connection. If this value is true, the server "
+"must have TCP multiplexing enabled as well.<br>By default, this value is "
+"true."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid "Token"
+msgstr "權杖"
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
+msgid ""
+"Token specifies the authorization token used to create keys to be sent to "
+"the server. The server must have a matching token for authorization to "
+"succeed. <br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:42
+msgid ""
+"UseCompression controls whether or not communication with the server will be "
+"compressed.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:41
+msgid ""
+"UseEncryption controls whether or not communication with the server will be "
+"encrypted. Encryption is done using the tokens supplied in the server and "
+"client configuration.<br>By default, this value is false."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:31
+msgid ""
+"User specifies a prefix for proxy names to distinguish them from other "
+"clients. If this value is not \"\", proxy names will automatically be "
+"changed to \"{user}.{proxy_name}\".<br>By default, this value is \"\"."
+msgstr ""
+
+#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:121
+#: applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json:3
+msgid "frp Client"
+msgstr ""
diff --git a/applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json b/applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json
new file mode 100644
index 0000000000..f6eaf4a9b7
--- /dev/null
+++ b/applications/luci-app-frpc/root/usr/share/luci/menu.d/luci-app-frpc.json
@@ -0,0 +1,12 @@
+{
+ "admin/services/frpc": {
+ "title": "frp Client",
+ "action": {
+ "type": "view",
+ "path": "frpc"
+ },
+ "depends": {
+ "acl": [ "luci-app-frpc" ]
+ }
+ }
+}
diff --git a/applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json b/applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json
new file mode 100644
index 0000000000..b2bb22325a
--- /dev/null
+++ b/applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json
@@ -0,0 +1,15 @@
+{
+ "luci-app-frpc": {
+ "description": "Grant access to LuCI app frpc",
+ "read": {
+ "file": {
+ "/etc/passwd": ["read"],
+ "/etc/group": ["read"]
+ },
+ "uci": ["frpc"]
+ },
+ "write": {
+ "uci": ["frpc"]
+ }
+ }
+}