From f7911ea0fb514cb84a46c3f87ac7a530c87a62f7 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Sat, 7 Nov 2026 13:08:21 +0800
Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=B8=20Sync=202026-11-07=2013:08:21?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
kaiplus/Makefile | 8 +-
luci-app-adguardhome/.upstream_meta | 2 +-
luci-app-adguardhome/po/fr/adguardhome.po | 168 +++++++++++++++++
luci-app-adguardhome/po/hu/adguardhome.po | 168 +++++++++++++++++
luci-app-adguardhome/po/it/adguardhome.po | 168 +++++++++++++++++
luci-app-adguardhome/po/ja/adguardhome.po | 165 +++++++++++++++++
luci-app-adguardhome/po/pl/adguardhome.po | 8 +-
luci-app-adguardhome/po/ro/adguardhome.po | 169 ++++++++++++++++++
.../po/zh_Hant/adguardhome.po | 45 ++---
luci-app-kaiplus/Makefile | 2 +-
.../luasrc/view/kaiplus/classic_status.htm | 4 +-
.../luasrc/view/kaiplus/kaiplus_status.htm | 1 -
luci-app-kaiplus/po/zh-cn/kaiplus.po | 8 +-
.../tests/test_classic_kai_entry_contract.py | 10 ++
luci-app-open-box/Makefile | 4 +-
luci-app-ssr-plus/Makefile | 2 +-
.../usr/share/shadowsocksr/clash_yaml.lua | 1 -
vmlinux-btf/Makefile | 33 +++-
18 files changed, 924 insertions(+), 42 deletions(-)
create mode 100644 luci-app-adguardhome/po/fr/adguardhome.po
create mode 100644 luci-app-adguardhome/po/hu/adguardhome.po
create mode 100644 luci-app-adguardhome/po/it/adguardhome.po
create mode 100644 luci-app-adguardhome/po/ja/adguardhome.po
create mode 100644 luci-app-adguardhome/po/ro/adguardhome.po
diff --git a/kaiplus/Makefile b/kaiplus/Makefile
index e35d723fc..988d7d0f2 100644
--- a/kaiplus/Makefile
+++ b/kaiplus/Makefile
@@ -10,12 +10,12 @@ KAIPLUS_ARCH_x86_64:=amd64
KAIPLUS_ARCH_aarch64:=arm64
KAIPLUS_ARCH:=$(KAIPLUS_ARCH_$(ARCH))
-KAIPLUS_HASH_x86_64:=9e28ac8f2ec7b59dfa546b5ed58375397dfda3cd95d35b776fe7f252acb8878f
-KAIPLUS_HASH_aarch64:=af045078037244a4fd80e21ef5a3ba3a9391918adc4a7791fda5ae777386c122
+KAIPLUS_HASH_x86_64:=945d1bcd7871426a10a77089512328e01e1db292f5dafbcf4e5c6b38f5a15cce
+KAIPLUS_HASH_aarch64:=8ea9ce946e42f95b02f98749869d4990008d7221705beb51a9a90c00a1b00f83
PKG_NAME:=kaiplus
-PKG_VERSION:=1.0.10
-PKG_RELEASE:=16
+PKG_VERSION:=1.0.11
+PKG_RELEASE:=17
KAIPLUS_URL_FILE:=kaiplus-linux-$(KAIPLUS_ARCH)
KAIPLUS_DOWNLOAD:=$(KAIPLUS_URL_FILE)-$(KAIPLUS_HASH_$(ARCH))
diff --git a/luci-app-adguardhome/.upstream_meta b/luci-app-adguardhome/.upstream_meta
index 5e3130940..d3d4844c2 100644
--- a/luci-app-adguardhome/.upstream_meta
+++ b/luci-app-adguardhome/.upstream_meta
@@ -1,2 +1,2 @@
-4bfd1102236f7f737da4257ca7f6e56146fc80f6
+9a62efcc5a063d43d7871c8e2c5bea2dad83eb47
e192c5983e50169ed984d48b094798869a0a780b
diff --git a/luci-app-adguardhome/po/fr/adguardhome.po b/luci-app-adguardhome/po/fr/adguardhome.po
new file mode 100644
index 000000000..f1f624bc7
--- /dev/null
+++ b/luci-app-adguardhome/po/fr/adguardhome.po
@@ -0,0 +1,168 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: fr\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: Martin Olmer \n"
+"Language-Team: French \n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"PO-Revision-Date: 2026-11-06 10:40+0000\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:244
+msgid ""
+"A soft memory cap for the Go runtime, allowing the garbage collector to run "
+"more frequently as usage approaches the limit to prevent Out-of-Memory (OOM) "
+"kills."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:113
+#: applications/luci-app-adguardhome/root/usr/share/luci/menu.d/luci-app-adguardhome.json:3
+msgid "AdGuard Home"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:137
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:199
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:146
+msgid "Configuration file"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:89
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:147
+msgid ""
+"Configuration file must be stored in its own directory, and not in '/etc'."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:159
+msgid "Directory where filters, logs, and statistics are stored."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:132
+msgid "File System Access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:133
+msgid ""
+"Files and directories that AdGuard Home should have read-only or read-write "
+"access to."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:129
+msgid "General Settings"
+msgstr "Réglages généraux"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:138
+msgid ""
+"Go environment variables that tune garbage collector and memory management."
+msgstr ""
+
+#: applications/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json:3
+msgid "Grant permissions for the AdGuard Home LuCI app"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+msgid "Group the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:149
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:161
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "If empty, defaults to"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:139
+msgid "Modify at your own risk."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:24
+msgid "Not running"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:148
+msgid "Parent directory will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:83
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:99
+msgid "Path must be absolute."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:86
+msgid "Path must not end with a slash."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:207
+msgid "Read-only access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:208
+msgid "Read-write access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:23
+msgid "Running"
+msgstr "En cours d'exécution"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:122
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:180
+msgid "Service group"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:170
+msgid "Service user"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:230
+msgid ""
+"The maximum number of operating system threads that can execute user-level "
+"Go code simultaneously."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:215
+msgid ""
+"Tunes the garbage collector's aggressiveness by setting the percentage of "
+"heap growth allowed before the next collection cycle triggers."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+msgid "User the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:191
+msgid "Verbose logging"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:119
+msgid "Version"
+msgstr "Version"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:160
+msgid "Will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:158
+msgid "Working directory"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "unset"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+msgid "unset and 100"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+msgid "unset and matching the number of CPUs"
+msgstr ""
diff --git a/luci-app-adguardhome/po/hu/adguardhome.po b/luci-app-adguardhome/po/hu/adguardhome.po
new file mode 100644
index 000000000..830064686
--- /dev/null
+++ b/luci-app-adguardhome/po/hu/adguardhome.po
@@ -0,0 +1,168 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: hu\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: Martin Olmer \n"
+"Language-Team: Hungarian \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"PO-Revision-Date: 2026-11-05 10:41+0000\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:244
+msgid ""
+"A soft memory cap for the Go runtime, allowing the garbage collector to run "
+"more frequently as usage approaches the limit to prevent Out-of-Memory (OOM) "
+"kills."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:113
+#: applications/luci-app-adguardhome/root/usr/share/luci/menu.d/luci-app-adguardhome.json:3
+msgid "AdGuard Home"
+msgstr "AdGuard Home"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:137
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:199
+msgid "Advanced Settings"
+msgstr "Haladó beállítások"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:146
+msgid "Configuration file"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:89
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:147
+msgid ""
+"Configuration file must be stored in its own directory, and not in '/etc'."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:159
+msgid "Directory where filters, logs, and statistics are stored."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:132
+msgid "File System Access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:133
+msgid ""
+"Files and directories that AdGuard Home should have read-only or read-write "
+"access to."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:129
+msgid "General Settings"
+msgstr "Általános beállítások"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:138
+msgid ""
+"Go environment variables that tune garbage collector and memory management."
+msgstr ""
+
+#: applications/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json:3
+msgid "Grant permissions for the AdGuard Home LuCI app"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+msgid "Group the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:149
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:161
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "If empty, defaults to"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:139
+msgid "Modify at your own risk."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:24
+msgid "Not running"
+msgstr "Nem fut"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:148
+msgid "Parent directory will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:83
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:99
+msgid "Path must be absolute."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:86
+msgid "Path must not end with a slash."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:207
+msgid "Read-only access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:208
+msgid "Read-write access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:23
+msgid "Running"
+msgstr "Fut"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:122
+msgid "Service Status"
+msgstr "Szolgáltatás állapota"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:180
+msgid "Service group"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:170
+msgid "Service user"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:230
+msgid ""
+"The maximum number of operating system threads that can execute user-level "
+"Go code simultaneously."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:215
+msgid ""
+"Tunes the garbage collector's aggressiveness by setting the percentage of "
+"heap growth allowed before the next collection cycle triggers."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+msgid "User the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:191
+msgid "Verbose logging"
+msgstr "Részletes naplózás"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:119
+msgid "Version"
+msgstr "Verzió"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:160
+msgid "Will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:158
+msgid "Working directory"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "unset"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+msgid "unset and 100"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+msgid "unset and matching the number of CPUs"
+msgstr ""
diff --git a/luci-app-adguardhome/po/it/adguardhome.po b/luci-app-adguardhome/po/it/adguardhome.po
new file mode 100644
index 000000000..8d54d8f4b
--- /dev/null
+++ b/luci-app-adguardhome/po/it/adguardhome.po
@@ -0,0 +1,168 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: it\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: Martin Olmer \n"
+"Language-Team: Italian \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"PO-Revision-Date: 2026-11-05 21:45+0000\n"
+"X-Generator: Weblate 2026.11.2.dev0\n"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:244
+msgid ""
+"A soft memory cap for the Go runtime, allowing the garbage collector to run "
+"more frequently as usage approaches the limit to prevent Out-of-Memory (OOM) "
+"kills."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:113
+#: applications/luci-app-adguardhome/root/usr/share/luci/menu.d/luci-app-adguardhome.json:3
+msgid "AdGuard Home"
+msgstr "AdGuard Home"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:137
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:199
+msgid "Advanced Settings"
+msgstr "Impostazioni avanzate"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:146
+msgid "Configuration file"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:89
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:147
+msgid ""
+"Configuration file must be stored in its own directory, and not in '/etc'."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:159
+msgid "Directory where filters, logs, and statistics are stored."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:132
+msgid "File System Access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:133
+msgid ""
+"Files and directories that AdGuard Home should have read-only or read-write "
+"access to."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:129
+msgid "General Settings"
+msgstr "Impostazioni Generali"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:138
+msgid ""
+"Go environment variables that tune garbage collector and memory management."
+msgstr ""
+
+#: applications/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json:3
+msgid "Grant permissions for the AdGuard Home LuCI app"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+msgid "Group the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:149
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:161
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "If empty, defaults to"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:139
+msgid "Modify at your own risk."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:24
+msgid "Not running"
+msgstr "Non in esecuzione"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:148
+msgid "Parent directory will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:83
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:99
+msgid "Path must be absolute."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:86
+msgid "Path must not end with a slash."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:207
+msgid "Read-only access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:208
+msgid "Read-write access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:23
+msgid "Running"
+msgstr "In esecuzione"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:122
+msgid "Service Status"
+msgstr "Stato del servizio"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:180
+msgid "Service group"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:170
+msgid "Service user"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:230
+msgid ""
+"The maximum number of operating system threads that can execute user-level "
+"Go code simultaneously."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:215
+msgid ""
+"Tunes the garbage collector's aggressiveness by setting the percentage of "
+"heap growth allowed before the next collection cycle triggers."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+msgid "User the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:191
+msgid "Verbose logging"
+msgstr "Registrazione dettagliata"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:119
+msgid "Version"
+msgstr "Versione"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:160
+msgid "Will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:158
+msgid "Working directory"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "unset"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+msgid "unset and 100"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+msgid "unset and matching the number of CPUs"
+msgstr ""
diff --git a/luci-app-adguardhome/po/ja/adguardhome.po b/luci-app-adguardhome/po/ja/adguardhome.po
new file mode 100644
index 000000000..9985daa1a
--- /dev/null
+++ b/luci-app-adguardhome/po/ja/adguardhome.po
@@ -0,0 +1,165 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: ja\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:244
+msgid ""
+"A soft memory cap for the Go runtime, allowing the garbage collector to run "
+"more frequently as usage approaches the limit to prevent Out-of-Memory (OOM) "
+"kills."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:113
+#: applications/luci-app-adguardhome/root/usr/share/luci/menu.d/luci-app-adguardhome.json:3
+msgid "AdGuard Home"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:137
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:199
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:146
+msgid "Configuration file"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:89
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:147
+msgid ""
+"Configuration file must be stored in its own directory, and not in '/etc'."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:159
+msgid "Directory where filters, logs, and statistics are stored."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:132
+msgid "File System Access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:133
+msgid ""
+"Files and directories that AdGuard Home should have read-only or read-write "
+"access to."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:129
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:138
+msgid ""
+"Go environment variables that tune garbage collector and memory management."
+msgstr ""
+
+#: applications/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json:3
+msgid "Grant permissions for the AdGuard Home LuCI app"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+msgid "Group the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:149
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:161
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "If empty, defaults to"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:139
+msgid "Modify at your own risk."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:24
+msgid "Not running"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:148
+msgid "Parent directory will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:83
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:99
+msgid "Path must be absolute."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:86
+msgid "Path must not end with a slash."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:207
+msgid "Read-only access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:208
+msgid "Read-write access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:23
+msgid "Running"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:122
+msgid "Service Status"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:180
+msgid "Service group"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:170
+msgid "Service user"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:230
+msgid ""
+"The maximum number of operating system threads that can execute user-level "
+"Go code simultaneously."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:215
+msgid ""
+"Tunes the garbage collector's aggressiveness by setting the percentage of "
+"heap growth allowed before the next collection cycle triggers."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+msgid "User the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:191
+msgid "Verbose logging"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:119
+msgid "Version"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:160
+msgid "Will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:158
+msgid "Working directory"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "unset"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+msgid "unset and 100"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+msgid "unset and matching the number of CPUs"
+msgstr ""
diff --git a/luci-app-adguardhome/po/pl/adguardhome.po b/luci-app-adguardhome/po/pl/adguardhome.po
index 95313f31e..f992c34a8 100644
--- a/luci-app-adguardhome/po/pl/adguardhome.po
+++ b/luci-app-adguardhome/po/pl/adguardhome.po
@@ -3,13 +3,13 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language: pl\n"
"Content-Transfer-Encoding: 8bit\n"
-"Last-Translator: Matthaiks \n"
+"Last-Translator: Matthaiks \n"
"Language-Team: Polish \n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-"PO-Revision-Date: 2026-08-24 16:48+0000\n"
-"X-Generator: Weblate 2026.9.dev0\n"
+"PO-Revision-Date: 2026-11-04 21:09+0000\n"
+"X-Generator: Weblate 2026.11.1.dev0\n"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:244
msgid ""
@@ -61,7 +61,7 @@ msgstr ""
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:129
msgid "General Settings"
-msgstr "Ustawienia główne"
+msgstr "Ustawienia ogólne"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:138
msgid ""
diff --git a/luci-app-adguardhome/po/ro/adguardhome.po b/luci-app-adguardhome/po/ro/adguardhome.po
new file mode 100644
index 000000000..9d741f5bb
--- /dev/null
+++ b/luci-app-adguardhome/po/ro/adguardhome.po
@@ -0,0 +1,169 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Language: ro\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Last-Translator: Martin Olmer \n"
+"Language-Team: Romanian \n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"PO-Revision-Date: 2026-11-04 21:51+0000\n"
+"X-Generator: Weblate 2026.11.1.dev0\n"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:244
+msgid ""
+"A soft memory cap for the Go runtime, allowing the garbage collector to run "
+"more frequently as usage approaches the limit to prevent Out-of-Memory (OOM) "
+"kills."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:113
+#: applications/luci-app-adguardhome/root/usr/share/luci/menu.d/luci-app-adguardhome.json:3
+msgid "AdGuard Home"
+msgstr "AdGuard Home"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:137
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:199
+msgid "Advanced Settings"
+msgstr "Setări Avansate"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:146
+msgid "Configuration file"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:89
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:147
+msgid ""
+"Configuration file must be stored in its own directory, and not in '/etc'."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:159
+msgid "Directory where filters, logs, and statistics are stored."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:132
+msgid "File System Access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:133
+msgid ""
+"Files and directories that AdGuard Home should have read-only or read-write "
+"access to."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:129
+msgid "General Settings"
+msgstr "Setări Generale"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:138
+msgid ""
+"Go environment variables that tune garbage collector and memory management."
+msgstr ""
+
+#: applications/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json:3
+msgid "Grant permissions for the AdGuard Home LuCI app"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+msgid "Group the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:149
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:161
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "If empty, defaults to"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:139
+msgid "Modify at your own risk."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:24
+msgid "Not running"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:148
+msgid "Parent directory will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:83
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:99
+msgid "Path must be absolute."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:86
+msgid "Path must not end with a slash."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:207
+msgid "Read-only access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:208
+msgid "Read-write access"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:23
+msgid "Running"
+msgstr "Rulare"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:122
+msgid "Service Status"
+msgstr "Starea serviciului"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:180
+msgid "Service group"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:170
+msgid "Service user"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:230
+msgid ""
+"The maximum number of operating system threads that can execute user-level "
+"Go code simultaneously."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:215
+msgid ""
+"Tunes the garbage collector's aggressiveness by setting the percentage of "
+"heap growth allowed before the next collection cycle triggers."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
+msgid "User the service runs under."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:191
+msgid "Verbose logging"
+msgstr "Jurnalizare detaliată"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:119
+msgid "Version"
+msgstr "Versiune"
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:160
+msgid "Will be owned by the service user."
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:158
+msgid "Working directory"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
+msgid "unset"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
+msgid "unset and 100"
+msgstr ""
+
+#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
+msgid "unset and matching the number of CPUs"
+msgstr ""
diff --git a/luci-app-adguardhome/po/zh_Hant/adguardhome.po b/luci-app-adguardhome/po/zh_Hant/adguardhome.po
index 902dc225e..f142997bb 100644
--- a/luci-app-adguardhome/po/zh_Hant/adguardhome.po
+++ b/luci-app-adguardhome/po/zh_Hant/adguardhome.po
@@ -3,12 +3,13 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language: zh_Hant\n"
"Content-Transfer-Encoding: 8bit\n"
-"Last-Translator: 為什麼不加空格 \n"
+"Last-Translator: CHU KING FUNG "
+"\n"
"Language-Team: Chinese (Traditional Han script) \n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"PO-Revision-Date: 2026-09-02 20:59+0000\n"
-"X-Generator: Weblate 2026.9.dev0\n"
+"PO-Revision-Date: 2026-11-05 09:05+0000\n"
+"X-Generator: Weblate 2026.11.1.dev0\n"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:244
msgid ""
@@ -16,6 +17,8 @@ msgid ""
"more frequently as usage approaches the limit to prevent Out-of-Memory (OOM) "
"kills."
msgstr ""
+"Go 執行環境的軟記憶體上限,當使用量接近上限時,可讓垃圾回收程式更頻繁地執行,"
+"以防止因記憶體不足 (OOM) 而導致程式被強制終止。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:113
#: applications/luci-app-adguardhome/root/usr/share/luci/menu.d/luci-app-adguardhome.json:3
@@ -35,21 +38,21 @@ msgstr "配置檔案"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:147
msgid ""
"Configuration file must be stored in its own directory, and not in '/etc'."
-msgstr ""
+msgstr "設定檔必須儲存於獨立的目錄中,而非「/etc」目錄內。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:159
msgid "Directory where filters, logs, and statistics are stored."
-msgstr ""
+msgstr "用於儲存篩選器、日誌和統計資料的目錄。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:132
msgid "File System Access"
-msgstr ""
+msgstr "檔案系統存取"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:133
msgid ""
"Files and directories that AdGuard Home should have read-only or read-write "
"access to."
-msgstr ""
+msgstr "AdGuard Home 應具備唯讀或讀寫權限的檔案與目錄。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:129
msgid "General Settings"
@@ -58,15 +61,15 @@ msgstr "一般設定"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:138
msgid ""
"Go environment variables that tune garbage collector and memory management."
-msgstr ""
+msgstr "用於調整垃圾回收器與記憶體管理的 Go 環境變數。"
#: applications/luci-app-adguardhome/root/usr/share/rpcd/acl.d/luci-app-adguardhome.json:3
msgid "Grant permissions for the AdGuard Home LuCI app"
-msgstr ""
+msgstr "授予 AdGuard Home LuCI 應用程式權限"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:181
msgid "Group the service runs under."
-msgstr ""
+msgstr "該服務所屬的群組。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:149
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:161
@@ -88,7 +91,7 @@ msgstr "未執行"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:148
msgid "Parent directory will be owned by the service user."
-msgstr ""
+msgstr "父目錄的所有權將歸屬於服務使用者。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:83
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:99
@@ -97,15 +100,15 @@ msgstr "必須為絕對路徑。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:86
msgid "Path must not end with a slash."
-msgstr ""
+msgstr "路徑末尾不得以斜線結尾。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:207
msgid "Read-only access"
-msgstr ""
+msgstr "唯讀存取權限"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:208
msgid "Read-write access"
-msgstr ""
+msgstr "讀寫存取權限"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:23
msgid "Running"
@@ -127,17 +130,19 @@ msgstr "服務使用者"
msgid ""
"The maximum number of operating system threads that can execute user-level "
"Go code simultaneously."
-msgstr ""
+msgstr "作業系統中可同時執行使用者層級 Go 程式碼的執行緒最大數量。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:215
msgid ""
"Tunes the garbage collector's aggressiveness by setting the percentage of "
"heap growth allowed before the next collection cycle triggers."
msgstr ""
+"透過設定在觸發下一次回收週期之前允許的堆記憶體增長百分比,來調整垃圾回收器的"
+"積極程度。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:171
msgid "User the service runs under."
-msgstr ""
+msgstr "該服務所屬的使用者。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:191
msgid "Verbose logging"
@@ -149,7 +154,7 @@ msgstr "版本"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:160
msgid "Will be owned by the service user."
-msgstr ""
+msgstr "將由服務使用者擁有。"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:158
msgid "Working directory"
@@ -157,12 +162,12 @@ msgstr "工作目錄"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:247
msgid "unset"
-msgstr ""
+msgstr "取消設定"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:217
msgid "unset and 100"
-msgstr ""
+msgstr "取消設定和 100"
#: applications/luci-app-adguardhome/htdocs/luci-static/resources/view/adguardhome/config.js:232
msgid "unset and matching the number of CPUs"
-msgstr ""
+msgstr "取消設定並與 CPU 數量相符"
diff --git a/luci-app-kaiplus/Makefile b/luci-app-kaiplus/Makefile
index 7e97adc0d..03cb26d27 100644
--- a/luci-app-kaiplus/Makefile
+++ b/luci-app-kaiplus/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=KaiPlus
PKG_VERSION:=1.0.9-r9
-PKG_RELEASE:=14
+PKG_RELEASE:=15
LUCI_DEPENDS:=+kaiplus +luci-compat +luci-lib-taskd +luci-lib-linkeaseauth +linkease-app-entry
LUCI_MINIFY_CSS:=0
LUCI_MINIFY_JS:=0
diff --git a/luci-app-kaiplus/luasrc/view/kaiplus/classic_status.htm b/luci-app-kaiplus/luasrc/view/kaiplus/classic_status.htm
index 94cf2e3e8..dd11c1d29 100644
--- a/luci-app-kaiplus/luasrc/view/kaiplus/classic_status.htm
+++ b/luci-app-kaiplus/luasrc/view/kaiplus/classic_status.htm
@@ -48,7 +48,7 @@ function classicPackageTask(update) {
(new XHR()).post(update ? classicUpdateUrl : classicInstallUrl, { token: window.taskd.csrfToken || '' }, function(x) {
var data = {};
button.disabled = false;
- button.value = update ? '<%:Update%>' : '<%:Install CLASSIC KAI%>';
+ button.value = update ? '<%:Check for updates%>' : '<%:Install CLASSIC KAI%>';
if (x && x.responseText) {
try { data = JSON.parse(x.responseText || '{}'); }
catch (e) { data = {}; }
@@ -94,6 +94,6 @@ XHR.poll(5, '<%=url("admin/services/kaiplus/classic_status")%>', null, function(
-
+
diff --git a/luci-app-kaiplus/luasrc/view/kaiplus/kaiplus_status.htm b/luci-app-kaiplus/luasrc/view/kaiplus/kaiplus_status.htm
index 37db650fb..cc3934c8f 100644
--- a/luci-app-kaiplus/luasrc/view/kaiplus/kaiplus_status.htm
+++ b/luci-app-kaiplus/luasrc/view/kaiplus/kaiplus_status.htm
@@ -45,6 +45,5 @@ XHR.poll(5, '<%=url("admin/services/kaiplus_status")%>', null, function(x, st) {
')" style="display:none"/>
- '"/>
diff --git a/luci-app-kaiplus/po/zh-cn/kaiplus.po b/luci-app-kaiplus/po/zh-cn/kaiplus.po
index c2905d672..1fedc2d4a 100644
--- a/luci-app-kaiplus/po/zh-cn/kaiplus.po
+++ b/luci-app-kaiplus/po/zh-cn/kaiplus.po
@@ -97,11 +97,11 @@ msgstr "可通过 http://路由器地址:端口/apps/kai/web/ 访问经典版 KA
msgid "CLASSIC KAI could not apply the service settings. Check its configuration and system log."
msgstr "经典版 KAI 无法应用服务设置,请检查配置和系统日志。"
-msgid "Update CLASSIC KAI"
-msgstr "更新经典版 KAI"
+msgid "Check for CLASSIC KAI updates"
+msgstr "检查经典版 KAI 更新"
-msgid "Update"
-msgstr "更新"
+msgid "Check for updates"
+msgstr "检查更新"
msgid "Update CLASSIC KAI and its runtime engine from the iStore package feed? A running CLASSIC KAI service will restart."
msgstr "是否从 iStore 软件源更新经典版 KAI 及运行引擎?正在运行的经典版服务将重启。"
diff --git a/luci-app-kaiplus/tests/test_classic_kai_entry_contract.py b/luci-app-kaiplus/tests/test_classic_kai_entry_contract.py
index dcd9cf784..f51faa309 100644
--- a/luci-app-kaiplus/tests/test_classic_kai_entry_contract.py
+++ b/luci-app-kaiplus/tests/test_classic_kai_entry_contract.py
@@ -13,6 +13,16 @@ APP_DIR = Path(__file__).resolve().parents[1]
class ClassicKaiEntryContractTest(unittest.TestCase):
+ def test_classic_navigation_is_not_duplicated_in_kaiplus_status(self):
+ template = (APP_DIR / "luasrc/view/kaiplus/kaiplus_status.htm").read_text()
+ self.assertNotIn("kaiplus-open-kai", template)
+ self.assertNotIn("admin/services/kaiplus/classic", template)
+
+ def test_classic_maintenance_button_does_not_imply_an_available_update(self):
+ template = (APP_DIR / "luasrc/view/kaiplus/classic_status.htm").read_text()
+ self.assertEqual(template.count("<%:Check for updates%>"), 2)
+ self.assertNotIn("<%:Update%>", template)
+
def test_classic_runtime_remains_an_optional_install(self):
makefile = (APP_DIR / "Makefile").read_text()
deps = re.search(r"^LUCI_DEPENDS:=(.*)$", makefile, re.M).group(1).split()
diff --git a/luci-app-open-box/Makefile b/luci-app-open-box/Makefile
index 978956cf6..57a817795 100644
--- a/luci-app-open-box/Makefile
+++ b/luci-app-open-box/Makefile
@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-open-box
-PKG_VERSION:=0.1.412
-PKG_RELEASE:=67
+PKG_VERSION:=0.1.413
+PKG_RELEASE:=68
PKG_MAINTAINER:=liandu2024
PKG_LICENSE:=GPL-3.0-or-later
diff --git a/luci-app-ssr-plus/Makefile b/luci-app-ssr-plus/Makefile
index 8080debfa..953822d26 100644
--- a/luci-app-ssr-plus/Makefile
+++ b/luci-app-ssr-plus/Makefile
@@ -4,7 +4,7 @@ LUCI_TITLE:=luci-app-ssr-plus
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-ssr-plus
PKG_VERSION:=198
-PKG_RELEASE:=100
+PKG_RELEASE:=101
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
diff --git a/luci-app-ssr-plus/root/usr/share/shadowsocksr/clash_yaml.lua b/luci-app-ssr-plus/root/usr/share/shadowsocksr/clash_yaml.lua
index df619eb86..354b19680 100644
--- a/luci-app-ssr-plus/root/usr/share/shadowsocksr/clash_yaml.lua
+++ b/luci-app-ssr-plus/root/usr/share/shadowsocksr/clash_yaml.lua
@@ -324,7 +324,6 @@ local function merge(raw_path, overlay_path, output_path)
local filled_groups = fill_empty_proxy_groups(raw_doc)
local stripped_rules = strip_incompatible_script_rules(raw_doc)
local merged = deep_merge(raw_doc, overlay_doc)
- strip_runtime_conflicts(merged)
local ok, rendered = pcall(lyaml.dump, { merged })
if not ok or not rendered then
io.stderr:write("dump_failed\n")
diff --git a/vmlinux-btf/Makefile b/vmlinux-btf/Makefile
index 6a4c48910..04e1386ed 100644
--- a/vmlinux-btf/Makefile
+++ b/vmlinux-btf/Makefile
@@ -12,7 +12,7 @@ PKG_NAME:=vmlinux-btf
# SDK 内核常落后于目标固件,允许单独指定影子内核版本
BTF_KERNEL_VERSION?=$(LINUX_VERSION)
PKG_VERSION:=$(BTF_KERNEL_VERSION)
-PKG_RELEASE:=2
+PKG_RELEASE:=3
include $(INCLUDE_DIR)/package.mk
@@ -63,6 +63,37 @@ define Build/Prepare
endef
define Build/Compile
+ # 影子内核开 DEBUG_INFO_BTF,链接 vmlinux 与后续 pahole 编码都需要 pahole。
+ # 部分 SDK 镜像里没有 pahole(armv7 imx 等目标默认不开 BTF),这里直接从
+ # dwarves 源码现编一个装到 staging host 目录;版本与哈希同上游 tools/dwarves
+ # 保持一致,已装好就跳过。注意:SDK 的 tools/dwarves 编译目标在实测里不可用,
+ # 不要改回那条路。另外这段 recipe 会被 make 展开两次,shell 变量写了也活不下来,
+ # 所以只用 make 变量写死路径与并行数,不要用双美元转义。
+ if [ -x "$(STAGING_DIR_HOST)/bin/pahole" ]; then \
+ echo "pahole already present, skipping dwarves build"; \
+ else \
+ [ -f "$(DL_DIR)/dwarves-1.28.tar.bz2" ] || \
+ wget -nv -O "$(DL_DIR)/dwarves-1.28.tar.bz2" \
+ "https://fedorapeople.org/~acme/dwarves/dwarves-1.28.tar.bz2"; \
+ echo "826efc0fc9237d3c1e9c01553ea387a8cb46e8dc119ff863889043f4ed54b2ae $(DL_DIR)/dwarves-1.28.tar.bz2" | sha256sum -c -; \
+ rm -rf $(PKG_BUILD_DIR)/dwarves-build; \
+ mkdir -p $(PKG_BUILD_DIR)/dwarves-build; \
+ tar -xjf "$(DL_DIR)/dwarves-1.28.tar.bz2" -C $(PKG_BUILD_DIR)/dwarves-build --strip-components=1; \
+ cd $(PKG_BUILD_DIR)/dwarves-build && \
+ PATH="$(STAGING_DIR_HOST)/bin:$(PATH)" \
+ PKG_CONFIG_PATH="$(STAGING_DIR_HOST)/lib/pkgconfig" \
+ $(if $(wildcard $(STAGING_DIR_HOST)/bin/cmake),$(STAGING_DIR_HOST)/bin/cmake,cmake) \
+ -DCMAKE_INSTALL_PREFIX="$(STAGING_DIR_HOST)" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_FIND_ROOT_PATH="$(STAGING_DIR_HOST)" \
+ -DCMAKE_PREFIX_PATH="$(STAGING_DIR_HOST)" \
+ -D__LIB=lib \
+ -DCMAKE_INSTALL_RPATH="$(STAGING_DIR_HOST)/lib" \
+ -DCMAKE_SKIP_RPATH=FALSE . && \
+ $(MAKE) -j$(shell nproc) && \
+ $(MAKE) install; \
+ fi
+
$(PKG_BUILD_DIR)/shadow-kernel/scripts/config \
--file $(PKG_BUILD_DIR)/shadow-kernel/.config \
--disable WERROR \