summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-04-18 23:10:32 +0200
committerJo-Philipp Wich <jo@mein.io>2020-04-18 23:25:22 +0200
commit82a469f75fef18d10518231c46e232b06496a6bf (patch)
treeac40afe653b41ef8bc4748d67d1dc4ca55f5fca0
parent7882f3ebdde0364314a45aa6dd8fbc4e766e8ea8 (diff)
luci-app-acl: add initial version of login management module
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--applications/luci-app-acl/Makefile10
-rw-r--r--applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js340
-rw-r--r--applications/luci-app-acl/po/bg/acl.po146
-rw-r--r--applications/luci-app-acl/po/ca/acl.po145
-rw-r--r--applications/luci-app-acl/po/cs/acl.po146
-rw-r--r--applications/luci-app-acl/po/de/acl.po146
-rw-r--r--applications/luci-app-acl/po/el/acl.po146
-rw-r--r--applications/luci-app-acl/po/en/acl.po148
-rw-r--r--applications/luci-app-acl/po/es/acl.po146
-rw-r--r--applications/luci-app-acl/po/fr/acl.po146
-rw-r--r--applications/luci-app-acl/po/he/acl.po146
-rw-r--r--applications/luci-app-acl/po/hi/acl.po145
-rw-r--r--applications/luci-app-acl/po/hu/acl.po146
-rw-r--r--applications/luci-app-acl/po/it/acl.po146
-rw-r--r--applications/luci-app-acl/po/ja/acl.po146
-rw-r--r--applications/luci-app-acl/po/ko/acl.po146
-rw-r--r--applications/luci-app-acl/po/mr/acl.po145
-rw-r--r--applications/luci-app-acl/po/ms/acl.po145
-rw-r--r--applications/luci-app-acl/po/nb_NO/acl.po146
-rw-r--r--applications/luci-app-acl/po/pl/acl.po147
-rw-r--r--applications/luci-app-acl/po/pt/acl.po146
-rw-r--r--applications/luci-app-acl/po/pt_BR/acl.po146
-rw-r--r--applications/luci-app-acl/po/ro/acl.po147
-rw-r--r--applications/luci-app-acl/po/ru/acl.po147
-rw-r--r--applications/luci-app-acl/po/sk/acl.po146
-rw-r--r--applications/luci-app-acl/po/sv/acl.po146
-rw-r--r--applications/luci-app-acl/po/templates/acl.pot138
-rw-r--r--applications/luci-app-acl/po/tr/acl.po146
-rw-r--r--applications/luci-app-acl/po/uk/acl.po147
-rw-r--r--applications/luci-app-acl/po/vi/acl.po146
-rw-r--r--applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json14
-rw-r--r--applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json19
32 files changed, 4465 insertions, 0 deletions
diff --git a/applications/luci-app-acl/Makefile b/applications/luci-app-acl/Makefile
new file mode 100644
index 000000000..01fa7f170
--- /dev/null
+++ b/applications/luci-app-acl/Makefile
@@ -0,0 +1,10 @@
+# This is free software, licensed under the Apache License, Version 2.0 .
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=LuCI account managment module
+LUCI_DEPENDS:=+luci-base
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js b/applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js
new file mode 100644
index 000000000..93a068c74
--- /dev/null
+++ b/applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js
@@ -0,0 +1,340 @@
+'use strict';
+'require view';
+'require dom';
+'require fs';
+'require ui';
+'require uci';
+'require form';
+'require tools.widgets as widgets';
+
+var aclList = {};
+
+function globListToRegExp(section_id, option) {
+ var list = L.toArray(uci.get('rpcd', section_id, option)),
+ positivePatterns = [],
+ negativePatterns = [];
+
+ if (option == 'read')
+ list.push.apply(list, L.toArray(uci.get('rpcd', section_id, 'write')));
+
+ for (var i = 0; i < list.length; i++) {
+ var array, glob;
+
+ if (list[i].match(/^\s*!/)) {
+ glob = list[i].replace(/^\s*!/, '').trim();
+ array = negativePatterns;
+ }
+ else {
+ glob = list[i].trim(),
+ array = positivePatterns;
+ }
+
+ array.push(glob.replace(/[.*+?^${}()|[\]\\]/g, function(m) {
+ switch (m[0]) {
+ case '?':
+ return '.';
+
+ case '*':
+ return '.*';
+
+ default:
+ return '\\' + m[0];
+ }
+ }));
+ }
+
+ return [
+ new RegExp('^' + (positivePatterns.length ? '(' + positivePatterns.join('|') + ')' : '') + '$'),
+ new RegExp('^' + (negativePatterns.length ? '(' + negativePatterns.join('|') + ')' : '') + '$')
+ ];
+}
+
+var cbiACLLevel = form.DummyValue.extend({
+ textvalue: function(section_id) {
+ var allowedAclMatches = globListToRegExp(section_id, this.option.match(/read/) ? 'read' : 'write'),
+ aclGroupNames = Object.keys(aclList),
+ matchingGroupNames = [];
+
+ for (var j = 0; j < aclGroupNames.length; j++)
+ if (allowedAclMatches[0].test(aclGroupNames[j]) && !allowedAclMatches[1].test(aclGroupNames[j]))
+ matchingGroupNames.push(aclGroupNames[j]);
+
+ if (matchingGroupNames.length == aclGroupNames.length)
+ return E('span', { 'class': 'label' }, [ _('full', 'All permissions granted') ]);
+ else if (matchingGroupNames.length > 0)
+ return E('span', { 'class': 'label' }, [ _('partial (%d/%d)', 'Some permissions granted').format(matchingGroupNames.length, aclGroupNames.length) ]);
+ else
+ return E('span', { 'class': 'label warning' }, [ _('denied', 'No permissions granted') ]);
+ }
+});
+
+var cbiACLSelect = form.Value.extend({
+ renderWidget: function(section_id) {
+ var readMatches = globListToRegExp(section_id, 'read'),
+ writeMatches = globListToRegExp(section_id, 'write');
+
+ var table = E('div', { 'class': 'table' }, [
+ E('div', { 'class': 'tr' }, [
+ E('div', { 'class': 'th' }, [ _('ACL group') ]),
+ E('div', { 'class': 'th' }, [ _('Description') ]),
+ E('div', { 'class': 'th' }, [ _('Access level') ])
+ ]),
+ E('div', { 'class': 'tr' }, [
+ E('div', { 'class': 'td' }, [ '' ]),
+ E('div', { 'class': 'td' }, [ '' ]),
+ E('div', { 'class': 'td' }, [
+ _('Set all: ', 'Set all permissions in the table below to one of the given values'),
+ E('a', { 'href': '#', 'click': function() {
+ table.querySelectorAll('select').forEach(function(select) { select.value = select.options[0].value });
+ } }, [ _('denied', 'No permissions granted') ]), ' | ',
+ E('a', { 'href': '#', 'click': function() {
+ table.querySelectorAll('select').forEach(function(select) { select.value = 'read' });
+ } }, [ _('readonly', 'Only read permissions granted') ]), ' | ',
+ E('a', { 'href': '#', 'click': function() {
+ table.querySelectorAll('select').forEach(function(select) { select.value = 'write' });
+ } }, [ _('full', 'All permissions granted') ]),
+ ])
+ ])
+ ]);
+
+ Object.keys(aclList).sort().forEach(function(aclGroupName) {
+ var isRequired = (aclGroupName == 'unauthenticated' || aclGroupName == 'luci-base'),
+ isReadable = (readMatches[0].test(aclGroupName) && !readMatches[1].test(aclGroupName)) || null,
+ isWritable = (writeMatches[0].test(aclGroupName) && !writeMatches[1].test(aclGroupName)) || null;
+
+ table.appendChild(E('div', { 'class': 'tr' }, [
+ E('div', { 'class': 'td' }, [ aclGroupName ]),
+ E('div', { 'class': 'td' }, [ aclList[aclGroupName].description || '-' ]),
+ E('div', { 'class': 'td' }, [
+ E('select', { 'data-acl-group': aclGroupName }, [
+ isRequired ? E([]) : E('option', { 'value': '' }, [ _('denied', 'No permissions granted') ]),
+ E('option', { 'value': 'read', 'selected': isReadable }, [ _('readonly', 'Only read permissions granted') ]),
+ E('option', { 'value': 'write', 'selected': isWritable }, [ _('full', 'All permissions granted') ])
+ ])
+ ])
+ ]));
+ });
+
+ return table;
+ },
+
+ formvalue: function(section_id) {
+ var node = this.map.findElement('data-field', this.cbid(section_id)),
+ data = {};
+
+ node.querySelectorAll('[data-acl-group]').forEach(function(select) {
+ var aclGroupName = select.getAttribute('data-acl-group'),
+ value = select.value;
+
+ if (!value)
+ return;
+
+ switch (value) {
+ case 'write':
+ data.write = data.write || [];
+ data.write.push(aclGroupName);
+ /* fall through */
+
+ case 'read':
+ data.read = data.read || [];
+ data.read.push(aclGroupName);
+ break;
+ }
+ });
+
+ return data;
+ },
+
+ write: function(section_id, value) {
+ if (L.isObject(value) && Array.isArray(value.read))
+ uci.set('rpcd', section_id, 'read', value.read);
+
+ if (L.isObject(value) && Array.isArray(value.write))
+ uci.set('rpcd', section_id, 'write', value.write);
+ }
+});
+
+return view.extend({
+ load: function() {
+ return L.resolveDefault(fs.list('/usr/share/rpcd/acl.d'), []).then(function(entries) {
+ var tasks = [
+ L.resolveDefault(fs.stat('/usr/sbin/uhttpd'), null),
+ fs.lines('/etc/passwd')
+ ];
+
+ for (var i = 0; i < entries.length; i++)
+ if (entries[i].type == 'file' && entries[i].name.match(/\.json$/))
+ tasks.push(L.resolveDefault(fs.read('/usr/share/rpcd/acl.d/' + entries[i].name).then(JSON.parse)));
+
+ return Promise.all(tasks);
+ });
+ },
+
+ render: function(data) {
+ ui.addNotification(null, E('p', [
+ _('The LuCI ACL management is in an experimental stage! It does not yet work reliably with all applications')
+ ]), 'warning');
+
+ var has_uhttpd = data[0],
+ known_unix_users = {};
+
+ for (var i = 0; i < data[1].length; i++) {
+ var parts = data[1][i].split(/:/);
+
+ if (parts.length >= 7)
+ known_unix_users[parts[0]] = true;
+ }
+
+ for (var i = 2; i < data.length; i++) {
+ if (!L.isObject(data[i]))
+ continue;
+
+ for (var aclName in data[i]) {
+ if (!data[i].hasOwnProperty(aclName))
+ continue;
+
+ aclList[aclName] = data[i][aclName];
+ }
+ }
+
+ var m, s, o;
+
+ m = new form.Map('rpcd', _('LuCI Logins'));
+
+ s = m.section(form.GridSection, 'login');
+ s.anonymous = true;
+ s.addremove = true;
+
+ s.modaltitle = function(section_id) {
+ return _('LuCI Logins') + ' ยป ' + (uci.get('rpcd', section_id, 'username') || _('New account'));
+ };
+
+ o = s.option(form.Value, 'username', _('Login name'));
+ o.rmempty = false;
+
+ o = s.option(form.ListValue, '_variant', _('Password variant'));
+ o.modalonly = true;
+ o.value('shadow', _('Use UNIX password in /etc/shadow'));
+ o.value('crypted', _('Use encrypted password hash'));
+ o.value('plain', _('Use plain password'));
+ o.cfgvalue = function(section_id) {
+ var value = uci.get('rpcd', section_id, 'password') || '';
+
+ if (value.substring(0, 3) == '$p$')
+ return 'shadow';
+ else if (value.substring(0, 3) == '$1$' || value == null)
+ return 'crypted';
+ else
+ return 'plain';
+ };
+ o.write = function() {};
+
+ o = s.option(widgets.UserSelect, '_account', _('UNIX account'), _('The system account to use the password from'));
+ o.modalonly = true;
+ o.depends('_variant', 'shadow');
+ o.cfgvalue = function(section_id) {
+ var value = uci.get('rpcd', section_id, 'password') || '';
+ return value.substring(3);
+ };
+ o.write = function(section_id, value) {
+ uci.set('rpcd', section_id, 'password', '$p$' + value);
+ };
+ o.remove = function() {};
+
+ o = s.option(form.Value, 'password', _('Password value'));
+ o.modalonly = true;
+ o.password = true;
+ o.rmempty = false;
+ o.depends('_variant', 'crypted');
+ o.depends('_variant', 'plain');
+ o.cfgvalue = function(section_id) {
+ var value = uci.get('rpcd', section_id, 'password') || '';
+ return (value.substring(0, 3) == '$p$') ? '' : value;
+ };
+ o.validate = function(section_id, value) {
+ var variant = this.map.lookupOption('_variant', section_id)[0];
+
+ switch (value.substring(0, 3)) {
+ case '$p$':
+ return _('The password may not start with "$p$".');
+
+ case '$1$':
+ variant.getUIElement(section_id).setValue('crypted');
+ break;
+
+ default:
+ if (variant.formvalue(section_id) == 'crypted' && value.length && !has_uhttpd)
+ return _('Cannot encrypt plaintext password since uhttpd is not installed.');
+ }
+
+ return true;
+ };
+ o.write = function(section_id, value) {
+ var variant = this.map.lookupOption('_variant', section_id)[0];
+
+ if (variant.formvalue(section_id) == 'crypted' && value.substring(0, 3) != '$1$')
+ return fs.exec('/usr/sbin/uhttpd', [ '-m', value ]).then(function(res) {
+ if (res.code == 0 && res.stdout)
+ uci.set('rpcd', section_id, 'password', res.stdout.trim());
+ else
+ throw new Error(res.stderr);
+ }).catch(function(err) {
+ throw new Error(_('Unable to encrypt plaintext password: %s').format(err.message));
+ });
+
+ uci.set('rpcd', section_id, 'password', value);
+ };
+ o.remove = function() {};
+
+ o = s.option(form.Value, 'timeout', _('Session timeout'));
+ o.default = '300';
+ o.datatype = 'uinteger';
+ o.textvalue = function(section_id) {
+ var value = uci.get('rpcd', section_id, 'timeout') || this.default;
+ return +value ? '%ds'.format(value) : E('em', [ _('does not expire') ]);
+ };
+
+ o = s.option(cbiACLLevel, '_read', _('Read access'));
+ o.modalonly = false;
+
+ o = s.option(cbiACLLevel, '_write', _('Write access'));
+ o.modalonly = false;
+
+ o = s.option(form.ListValue, '_level', _('Acess level'));
+ o.modalonly = true;
+ o.value('write', _('full', 'All permissions granted'));
+ o.value('read', _('readonly', 'Only read permissions granted'));
+ o.value('individual', _('individual', 'Select individual permissions manually'));
+ o.cfgvalue = function(section_id) {
+ var readList = L.toArray(uci.get('rpcd', section_id, 'read')),
+ writeList = L.toArray(uci.get('rpcd', section_id, 'write'));
+
+ if (writeList.length == 1 && writeList[0] == '*')
+ return 'write';
+ else if (readList.length == 1 && readList[0] == '*')
+ return 'read';
+ else
+ return 'individual';
+ };
+ o.write = function(section_id) {
+ switch (this.formvalue(section_id)) {
+ case 'write':
+ uci.set('rpcd', section_id, 'read', '*');
+ uci.set('rpcd', section_id, 'write', '*');
+ break;
+
+ case 'read':
+ uci.set('rpcd', section_id, 'read', '*');
+ uci.unset('rpcd', section_id, 'write');
+ break;
+ }
+ };
+ o.remove = function() {};
+
+ o = s.option(cbiACLSelect, '_acl');
+ o.modalonly = true;
+ o.depends('_level', 'individual');
+
+ return m.render();
+ }
+});
diff --git a/applications/luci-app-acl/po/bg/acl.po b/applications/luci-app-acl/po/bg/acl.po
new file mode 100644
index 000000000..20a863e0e
--- /dev/null
+++ b/applications/luci-app-acl/po/bg/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/ca/acl.po b/applications/luci-app-acl/po/ca/acl.po
new file mode 100644
index 000000000..aaf7085db
--- /dev/null
+++ b/applications/luci-app-acl/po/ca/acl.po
@@ -0,0 +1,145 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/cs/acl.po b/applications/luci-app-acl/po/cs/acl.po
new file mode 100644
index 000000000..fb97805d2
--- /dev/null
+++ b/applications/luci-app-acl/po/cs/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/de/acl.po b/applications/luci-app-acl/po/de/acl.po
new file mode 100644
index 000000000..b6e9640c4
--- /dev/null
+++ b/applications/luci-app-acl/po/de/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/el/acl.po b/applications/luci-app-acl/po/el/acl.po
new file mode 100644
index 000000000..25aaf95f1
--- /dev/null
+++ b/applications/luci-app-acl/po/el/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/en/acl.po b/applications/luci-app-acl/po/en/acl.po
new file mode 100644
index 000000000..0909fbd1e
--- /dev/null
+++ b/applications/luci-app-acl/po/en/acl.po
@@ -0,0 +1,148 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr "ACL Settings"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr "ACL group"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr "Access level"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr "Acess level"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr "Cannot encrypt plaintext password since uhttpd is not installed."
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr "Description"
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr "Grant access to ACL configuration"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr "Login name"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr "LuCI Logins"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr "New account"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr "Password value"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr "Password variant"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr "Read access"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr "Session timeout"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr "Set all:"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr "The password may not start with \"$p$\"."
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr "The system account to use the password from"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr "UNIX account"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr "Unable to encrypt plaintext password: %s"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr "Use UNIX password in /etc/shadow"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr "Use encrypted password hash"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr "Use plain password"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr "Write access"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr "denied"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr "does not expire"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr "full"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr "individual"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr "partial (%d/%d)"
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr "readonly"
diff --git a/applications/luci-app-acl/po/es/acl.po b/applications/luci-app-acl/po/es/acl.po
new file mode 100644
index 000000000..5731e5643
--- /dev/null
+++ b/applications/luci-app-acl/po/es/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/fr/acl.po b/applications/luci-app-acl/po/fr/acl.po
new file mode 100644
index 000000000..2a7915bb2
--- /dev/null
+++ b/applications/luci-app-acl/po/fr/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/he/acl.po b/applications/luci-app-acl/po/he/acl.po
new file mode 100644
index 000000000..5343db493
--- /dev/null
+++ b/applications/luci-app-acl/po/he/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/hi/acl.po b/applications/luci-app-acl/po/hi/acl.po
new file mode 100644
index 000000000..af0f86993
--- /dev/null
+++ b/applications/luci-app-acl/po/hi/acl.po
@@ -0,0 +1,145 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/hu/acl.po b/applications/luci-app-acl/po/hu/acl.po
new file mode 100644
index 000000000..32657a616
--- /dev/null
+++ b/applications/luci-app-acl/po/hu/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/it/acl.po b/applications/luci-app-acl/po/it/acl.po
new file mode 100644
index 000000000..c041d284a
--- /dev/null
+++ b/applications/luci-app-acl/po/it/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/ja/acl.po b/applications/luci-app-acl/po/ja/acl.po
new file mode 100644
index 000000000..5f467cc48
--- /dev/null
+++ b/applications/luci-app-acl/po/ja/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/ko/acl.po b/applications/luci-app-acl/po/ko/acl.po
new file mode 100644
index 000000000..98f2e5a90
--- /dev/null
+++ b/applications/luci-app-acl/po/ko/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/mr/acl.po b/applications/luci-app-acl/po/mr/acl.po
new file mode 100644
index 000000000..ec8f9dc33
--- /dev/null
+++ b/applications/luci-app-acl/po/mr/acl.po
@@ -0,0 +1,145 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: mr\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/ms/acl.po b/applications/luci-app-acl/po/ms/acl.po
new file mode 100644
index 000000000..21abb02db
--- /dev/null
+++ b/applications/luci-app-acl/po/ms/acl.po
@@ -0,0 +1,145 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/nb_NO/acl.po b/applications/luci-app-acl/po/nb_NO/acl.po
new file mode 100644
index 000000000..34061e5cc
--- /dev/null
+++ b/applications/luci-app-acl/po/nb_NO/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/pl/acl.po b/applications/luci-app-acl/po/pl/acl.po
new file mode 100644
index 000000000..69b1915b6
--- /dev/null
+++ b/applications/luci-app-acl/po/pl/acl.po
@@ -0,0 +1,147 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pl\n"
+"MIME-Version: 1.0\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"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/pt/acl.po b/applications/luci-app-acl/po/pt/acl.po
new file mode 100644
index 000000000..f2ac993be
--- /dev/null
+++ b/applications/luci-app-acl/po/pt/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/pt_BR/acl.po b/applications/luci-app-acl/po/pt_BR/acl.po
new file mode 100644
index 000000000..be2013859
--- /dev/null
+++ b/applications/luci-app-acl/po/pt_BR/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/ro/acl.po b/applications/luci-app-acl/po/ro/acl.po
new file mode 100644
index 000000000..66e7aa54f
--- /dev/null
+++ b/applications/luci-app-acl/po/ro/acl.po
@@ -0,0 +1,147 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ro\n"
+"MIME-Version: 1.0\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"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/ru/acl.po b/applications/luci-app-acl/po/ru/acl.po
new file mode 100644
index 000000000..1850ff3ec
--- /dev/null
+++ b/applications/luci-app-acl/po/ru/acl.po
@@ -0,0 +1,147 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ru\n"
+"MIME-Version: 1.0\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"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/sk/acl.po b/applications/luci-app-acl/po/sk/acl.po
new file mode 100644
index 000000000..523e1f5ca
--- /dev/null
+++ b/applications/luci-app-acl/po/sk/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/sv/acl.po b/applications/luci-app-acl/po/sv/acl.po
new file mode 100644
index 000000000..3a88608b6
--- /dev/null
+++ b/applications/luci-app-acl/po/sv/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/templates/acl.pot b/applications/luci-app-acl/po/templates/acl.pot
new file mode 100644
index 000000000..8ff3b1c7b
--- /dev/null
+++ b/applications/luci-app-acl/po/templates/acl.pot
@@ -0,0 +1,138 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/tr/acl.po b/applications/luci-app-acl/po/tr/acl.po
new file mode 100644
index 000000000..e0239e4f9
--- /dev/null
+++ b/applications/luci-app-acl/po/tr/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/uk/acl.po b/applications/luci-app-acl/po/uk/acl.po
new file mode 100644
index 000000000..234ac6723
--- /dev/null
+++ b/applications/luci-app-acl/po/uk/acl.po
@@ -0,0 +1,147 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: uk\n"
+"MIME-Version: 1.0\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"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/po/vi/acl.po b/applications/luci-app-acl/po/vi/acl.po
new file mode 100644
index 000000000..ea7550e54
--- /dev/null
+++ b/applications/luci-app-acl/po/vi/acl.po
@@ -0,0 +1,146 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json:3
+msgid "ACL Settings"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:78
+msgid "ACL group"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:80
+msgid "Access level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:303
+msgid "Acess level"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:267
+msgid "Cannot encrypt plaintext password since uhttpd is not installed."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:79
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json:3
+msgid "Grant access to ACL configuration"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:212
+msgid "Login name"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:202
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "LuCI Logins"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:209
+msgid "New account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:244
+msgid "Password value"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:215
+msgid "Password variant"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:297
+msgid "Read access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:289
+msgid "Session timeout"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:86
+msgctxt "Set all permissions in the table below to one of the given values"
+msgid "Set all:"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:175
+msgid ""
+"The LuCI ACL management is in an experimental stage! It does not yet work "
+"reliably with all applications"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:259
+msgid "The password may not start with \"$p$\"."
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "The system account to use the password from"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:232
+msgid "UNIX account"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:282
+msgid "Unable to encrypt plaintext password: %s"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:217
+msgid "Use UNIX password in /etc/shadow"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:218
+msgid "Use encrypted password hash"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:219
+msgid "Use plain password"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:300
+msgid "Write access"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:67
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:89
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:110
+msgctxt "No permissions granted"
+msgid "denied"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:294
+msgid "does not expire"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:63
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:95
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:112
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:305
+msgctxt "All permissions granted"
+msgid "full"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:307
+msgctxt "Select individual permissions manually"
+msgid "individual"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:65
+msgctxt "Some permissions granted"
+msgid "partial (%d/%d)"
+msgstr ""
+
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:92
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:111
+#: applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js:306
+msgctxt "Only read permissions granted"
+msgid "readonly"
+msgstr ""
diff --git a/applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json b/applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json
new file mode 100644
index 000000000..c00465c32
--- /dev/null
+++ b/applications/luci-app-acl/root/usr/share/luci/menu.d/luci-app-acl.json
@@ -0,0 +1,14 @@
+{
+ "admin/system/acl": {
+ "title": "ACL Settings",
+ "order": 10,
+ "action": {
+ "type": "view",
+ "path": "system/acl"
+ },
+ "depends": {
+ "acl": [ "luci-app-acl" ],
+ "uci": { "rpcd": true }
+ }
+ }
+}
diff --git a/applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json b/applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json
new file mode 100644
index 000000000..89834af09
--- /dev/null
+++ b/applications/luci-app-acl/root/usr/share/rpcd/acl.d/luci-app-acl.json
@@ -0,0 +1,19 @@
+{
+ "luci-app-acl": {
+ "description": "Grant access to ACL configuration",
+ "read": {
+ "cgi-io": [ "list", "read" ],
+ "file": {
+ "/etc/passwd": [ "read" ],
+ "/usr/sbin/uhttpd": [ "list" ],
+ "/usr/sbin/uhttpd -m *": [ "exec" ],
+ "/usr/share/rpcd/acl.d": [ "list" ],
+ "/usr/share/rpcd/acl.d/*.json": [ "read" ]
+ },
+ "uci": [ "rpcd" ]
+ },
+ "write": {
+ "uci": [ "rpcd" ]
+ }
+ }
+}