Currently translated at 55.2% (141 of 255 strings) Translation: OpenWrt/LuCI/applications/keepalived Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/lt/ Translated using Weblate (Lithuanian) Currently translated at 85.1% (138 of 162 strings) Translation: OpenWrt/LuCI/applications/ustreamer Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsustreamer/lt/ Translated using Weblate (Lithuanian) Currently translated at 92.0% (2772 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/lt/ Translated using Weblate (Lithuanian) Currently translated at 48.3% (243 of 503 strings) Translation: OpenWrt/LuCI/applications/dockerman Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/lt/ Translated using Weblate (Lithuanian) Currently translated at 91.8% (2768 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/lt/ Translated using Weblate (Lithuanian) Currently translated at 39.6% (101 of 255 strings) Translation: OpenWrt/LuCI/applications/keepalived Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/lt/ Translated using Weblate (Lithuanian) Currently translated at 100.0% (31 of 31 strings) Translation: OpenWrt/LuCI/applications/csshnpd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscsshnpd/lt/ Translated using Weblate (Lithuanian) Currently translated at 41.9% (13 of 31 strings) Translation: OpenWrt/LuCI/applications/csshnpd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscsshnpd/lt/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 90.5% (382 of 422 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 50.9% (77 of 151 strings) Translation: OpenWrt/LuCI/applications/usteer Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 98.2% (2960 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (3012 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/ Translated using Weblate (Lithuanian) Currently translated at 91.7% (2763 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/lt/ Translated using Weblate (Lithuanian) Currently translated at 44.7% (225 of 503 strings) Translation: OpenWrt/LuCI/applications/dockerman Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/lt/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (139 of 139 strings) Translated using Weblate (Lithuanian) Currently translated at 100.0% (2 of 2 strings) Translation: OpenWrt/LuCI/applications/babeld Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbabeld/lt/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 95.5% (192 of 201 strings) Translation: OpenWrt/LuCI/applications/travelmate Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 80.5% (405 of 503 strings) Translation: OpenWrt/LuCI/applications/dockerman Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (197 of 197 strings) Translation: OpenWrt/LuCI/applications/ddns Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (72 of 72 strings) Translation: OpenWrt/LuCI/applications/ocserv Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsocserv/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 97.3% (73 of 75 strings) Translated using Weblate (Lithuanian) Currently translated at 100.0% (282 of 282 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 82.3% (70 of 85 strings) Translation: OpenWrt/LuCI/applications/acme Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 83.6% (189 of 226 strings) Translation: OpenWrt/LuCI/applications/adblock-fast Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock-fast/zh_Hant/ Translated using Weblate (Japanese) Currently translated at 63.8% (1924 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ja/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (108 of 108 strings) Translation: OpenWrt/LuCI/applications/rustdesk-server Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsrustdesk-server/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 76.6% (59 of 77 strings) Translation: OpenWrt/LuCI/applications/xinetd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 76.6% (59 of 77 strings) Translation: OpenWrt/LuCI/applications/xinetd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/zh_Hant/ Translated using Weblate (Korean) Currently translated at 30.9% (35 of 113 strings) Translation: OpenWrt/LuCI/applications/libreswan Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslibreswan/ko/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 82.3% (70 of 85 strings) Translation: OpenWrt/LuCI/applications/acme Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/zh_Hant/ Translated using Weblate (Korean) Currently translated at 67.8% (19 of 28 strings) Translation: OpenWrt/LuCI/applications/udpxy Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsudpxy/ko/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (59 of 59 strings) Translation: OpenWrt/LuCI/applications/dump1090 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdump1090/zh_Hant/ Translated using Weblate (Japanese) Currently translated at 6.6% (6 of 90 strings) Translation: OpenWrt/LuCI/applications/mosquitto Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmosquitto/ja/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 76.8% (83 of 108 strings) Translation: OpenWrt/LuCI/applications/rustdesk-server Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsrustdesk-server/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 75.1% (124 of 165 strings) Translated using Weblate (Japanese) Currently translated at 69.8% (37 of 53 strings) Translated using Weblate (Korean) Currently translated at 60.8% (28 of 46 strings) Translation: OpenWrt/LuCI/applications/xfrpc Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/ko/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 84.8% (56 of 66 strings) Translation: OpenWrt/LuCI/applications/sshtunnel Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 84.8% (56 of 66 strings) Translation: OpenWrt/LuCI/applications/sshtunnel Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (503 of 503 strings) Translation: OpenWrt/LuCI/applications/dockerman Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/zh_Hans/ Translated using Weblate (Japanese) Currently translated at 15.1% (10 of 66 strings) Translation: OpenWrt/LuCI/applications/sshtunnel Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/ja/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 84.6% (11 of 13 strings) Translation: OpenWrt/LuCI/applications/bcp38 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbcp38/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 76.4% (13 of 17 strings) Translation: OpenWrt/LuCI/applications/eoip Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationseoip/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (33 of 33 strings) Translation: OpenWrt/LuCI/applications/v2raya Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsv2raya/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 77.5% (31 of 40 strings) Translation: OpenWrt/LuCI/applications/example Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsexample/zh_Hant/ Translated using Weblate (Korean) Currently translated at 27.0% (20 of 74 strings) Translation: OpenWrt/LuCI/applications/frps Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrps/ko/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 56.7% (46 of 81 strings) Translation: OpenWrt/LuCI/applications/email Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsemail/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (46 of 46 strings) Translation: OpenWrt/LuCI/applications/xfrpc Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 80.1% (403 of 503 strings) Translation: OpenWrt/LuCI/applications/dockerman Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 97.6% (164 of 168 strings) Translation: OpenWrt/LuCI/applications/aria2 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/zh_Hant/ Translated using Weblate (Japanese) Currently translated at 10.0% (12 of 119 strings) Translation: OpenWrt/LuCI/applications/snmpd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/ja/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (172 of 172 strings) Translation: OpenWrt/LuCI/applications/mwan3 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmwan3/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 98.9% (182 of 184 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (102 of 102 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 70.9% (22 of 31 strings) Translation: OpenWrt/LuCI/applications/csshnpd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscsshnpd/zh_Hant/ Translated using Weblate (Japanese) Currently translated at 34.0% (15 of 44 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (62 of 62 strings) Translation: OpenWrt/LuCI/applications/apinger Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsapinger/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 93.3% (42 of 45 strings) Translation: OpenWrt/LuCI/applications/cloudflared Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/zh_Hant/ Translated using Weblate (Japanese) Currently translated at 30.3% (10 of 33 strings) Translation: OpenWrt/LuCI/applications/openlist Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenlist/ja/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (255 of 255 strings) Translation: OpenWrt/LuCI/applications/keepalived Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 99.1% (112 of 113 strings) Translation: OpenWrt/LuCI/applications/filemanager Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfilemanager/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 74.3% (84 of 113 strings) Translation: OpenWrt/LuCI/applications/libreswan Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslibreswan/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (165 of 165 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (60 of 60 strings) Translation: OpenWrt/LuCI/applications/ttyd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsttyd/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (197 of 197 strings) Translation: OpenWrt/LuCI/applications/ddns Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/zh_Hans/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (60 of 60 strings) Translation: OpenWrt/LuCI/applications/ttyd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsttyd/zh_Hans/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (111 of 111 strings) Translation: OpenWrt/LuCI/applications/radicale3 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsradicale3/zh_Hans/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (162 of 162 strings) Translation: OpenWrt/LuCI/applications/ustreamer Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsustreamer/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 98.2% (2960 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hant/ Translated using Weblate (Korean) Currently translated at 80.3% (82 of 102 strings) Translated using Weblate (Korean) Currently translated at 35.1% (59 of 168 strings) Translation: OpenWrt/LuCI/applications/aria2 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/ko/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 90.5% (382 of 422 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 96.2% (26 of 27 strings) Translation: OpenWrt/LuCI/applications/ksmbd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsksmbd/zh_Hant/ Translated using Weblate (Japanese) Currently translated at 10.3% (8 of 77 strings) Translation: OpenWrt/LuCI/applications/xinetd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/ja/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 46.7% (29 of 62 strings) Translation: OpenWrt/LuCI/applications/apinger Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsapinger/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 46.7% (29 of 62 strings) Translation: OpenWrt/LuCI/applications/apinger Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsapinger/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 46.7% (29 of 62 strings) Translation: OpenWrt/LuCI/applications/apinger Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsapinger/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 46.7% (29 of 62 strings) Translation: OpenWrt/LuCI/applications/apinger Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsapinger/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (168 of 168 strings) Translation: OpenWrt/LuCI/applications/aria2 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/zh_Hans/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (147 of 147 strings) Translation: OpenWrt/LuCI/applications/privoxy Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsprivoxy/zh_Hans/ Translated using Weblate (Korean) Currently translated at 38.4% (35 of 91 strings) Translation: OpenWrt/LuCI/applications/frpc Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/ko/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 76.4% (91 of 119 strings) Translation: OpenWrt/LuCI/applications/snmpd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (72 of 72 strings) Translation: OpenWrt/LuCI/applications/ocserv Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsocserv/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (172 of 172 strings) Translation: OpenWrt/LuCI/applications/mwan3 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmwan3/zh_Hans/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 73.2% (134 of 183 strings) Translation: OpenWrt/LuCI/applications/pbr Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 73.2% (134 of 183 strings) Translation: OpenWrt/LuCI/applications/pbr Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (45 of 45 strings) Translation: OpenWrt/LuCI/applications/cloudflared Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/zh_Hans/ Translated using Weblate (Korean) Currently translated at 16.9% (10 of 59 strings) Translation: OpenWrt/LuCI/applications/dump1090 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdump1090/ko/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 61.1% (55 of 90 strings) Translation: OpenWrt/LuCI/applications/mosquitto Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmosquitto/zh_Hant/ Translated using Weblate (Korean) Currently translated at 77.4% (24 of 31 strings) Translation: OpenWrt/LuCI/applications/csshnpd Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscsshnpd/ko/ Translated using Weblate (Japanese) Currently translated at 7.8% (13 of 165 strings) Translated using Weblate (Japanese) Currently translated at 75.4% (77 of 102 strings) Translated using Weblate (Japanese) Currently translated at 1.8% (2 of 111 strings) Translation: OpenWrt/LuCI/applications/radicale3 Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsradicale3/ja/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (102 of 102 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (3012 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (3012 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/ Translated using Weblate (Japanese) Currently translated at 6.6% (17 of 255 strings) Translation: OpenWrt/LuCI/applications/keepalived Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/ja/ Translated using Weblate (Japanese) Currently translated at 45.4% (15 of 33 strings) Translation: OpenWrt/LuCI/applications/v2raya Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsv2raya/ja/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (37 of 37 strings) Translated using Weblate (Lithuanian) Currently translated at 99.3% (150 of 151 strings) Translation: OpenWrt/LuCI/applications/usteer Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/lt/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 95.4% (42 of 44 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 50.9% (77 of 151 strings) Translation: OpenWrt/LuCI/applications/usteer Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 50.9% (77 of 151 strings) Translation: OpenWrt/LuCI/applications/usteer Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (197 of 197 strings) Translation: OpenWrt/LuCI/applications/ddns Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/zh_Hant/ Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 97.8% (45 of 46 strings) Translation: OpenWrt/LuCI/applications/xfrpc Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/zh_Hant/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (153 of 153 strings) Translation: OpenWrt/LuCI/applications/dawn Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdawn/zh_Hans/ Translated using Weblate (Portuguese) Currently translated at 100.0% (37 of 37 strings) Translated using Weblate (Portuguese) Currently translated at 91.6% (2759 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pt/ Translated using Weblate (Korean) Currently translated at 82.3% (2481 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ko/ Translated using Weblate (Portuguese) Currently translated at 100.0% (139 of 139 strings) Translated using Weblate (Portuguese) Currently translated at 98.4% (63 of 64 strings) Translation: OpenWrt/LuCI/applications/sqm Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssqm/pt/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.9% (3009 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pt_BR/ Translated using Weblate (Portuguese) Currently translated at 91.2% (385 of 422 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (75 of 75 strings) Translated using Weblate (Portuguese) Currently translated at 100.0% (16 of 16 strings) Translation: OpenWrt/LuCI/applications/pagekitec Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspagekitec/pt/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (3012 of 3012 strings) Translation: OpenWrt/LuCI/modules/luci-base Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/ Translated using Weblate (Portuguese) Currently translated at 64.5% (171 of 265 strings) Translation: OpenWrt/LuCI/applications/adblock Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/pt/ Translated using Weblate (Portuguese) Currently translated at 100.0% (196 of 196 strings) Translation: OpenWrt/LuCI/applications/unbound Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsunbound/pt/ Translated using Weblate (Portuguese) Currently translated at 100.0% (282 of 282 strings) Translated using Weblate (Portuguese) Currently translated at 98.9% (182 of 184 strings) Translated using Weblate (Portuguese) Currently translated at 100.0% (124 of 124 strings) Translation: OpenWrt/LuCI/applications/nlbwmon Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnlbwmon/pt/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (99 of 99 strings) Translation: OpenWrt/LuCI/applications/attendedsysupgrade Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsattendedsysupgrade/pt_BR/ Translated using Weblate (Russian) Currently translated at 100.0% (151 of 151 strings) Translation: OpenWrt/LuCI/applications/usteer Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/ru/ Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (31 of 31 strings) Translation: OpenWrt/LuCI/applications/wifischedule Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswifischedule/zh_Hans/ Co-authored-by: BigBossK <773733679@qq.com> Co-authored-by: CitrusCandy <fjlfjl2015@hotmail.com> Co-authored-by: DragonBluep <yangshiji66@outlook.com> Co-authored-by: Džiugas Januševičius <dziugas1959@hotmail.com> Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Hyeonjeong Lee <h9101654@gmail.com> Co-authored-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org> Co-authored-by: UDP <udp@users.noreply.hosted.weblate.org> Co-authored-by: Volenski <volenski@users.noreply.hosted.weblate.org> Co-authored-by: evan-yang <yws112358@vip.qq.com> Co-authored-by: konno_he <h3114931694@gmail.com> Co-authored-by: nKsyn <e.nksyn@gmail.com> Co-authored-by: ssantos <ssantos@web.de> Co-authored-by: yohru <yohru7@gmail.com> Signed-off-by: BigBossK <773733679@qq.com> Signed-off-by: CitrusCandy <fjlfjl2015@hotmail.com> Signed-off-by: DragonBluep <yangshiji66@outlook.com> Signed-off-by: Džiugas Januševičius <dziugas1959@hotmail.com> Signed-off-by: Hyeonjeong Lee <h9101654@gmail.com> Signed-off-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org> Signed-off-by: UDP <udp@users.noreply.hosted.weblate.org> Signed-off-by: Volenski <volenski@users.noreply.hosted.weblate.org> Signed-off-by: evan-yang <yws112358@vip.qq.com> Signed-off-by: konno_he <h3114931694@gmail.com> Signed-off-by: nKsyn <e.nksyn@gmail.com> Signed-off-by: ssantos <ssantos@web.de> Signed-off-by: yohru <yohru7@gmail.com> Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/ja/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/lt/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/pt/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfwknopd/ja/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfwknopd/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/pt/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/pt/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/pt/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/ja/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/ko/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsupnp/ja/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/pt/ Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/zh_Hant/ Translation: OpenWrt/LuCI/applications/coovachilli Translation: OpenWrt/LuCI/applications/firewall Translation: OpenWrt/LuCI/applications/fwknopd Translation: OpenWrt/LuCI/applications/nut Translation: OpenWrt/LuCI/applications/olsr Translation: OpenWrt/LuCI/applications/statistics Translation: OpenWrt/LuCI/applications/tinyproxy Translation: OpenWrt/LuCI/applications/transmission Translation: OpenWrt/LuCI/applications/upnp Translation: OpenWrt/LuCI/applications/watchcat
Example app for js based Luci
This app is meant to be a starting point for developing new LuCI apps using the modern JavaScript client-rendered approach.
Installation
In all cases, you'll want to log out of the web interface and back in to force a cache refresh after installing the new package.
From git
To install the luci-app-example to your OpenWrt instance (assuming your OpenWRT instance is on 192.168.1.1):
scp -r root/* root@192.168.1.1:/
scp -r htdocs/* root@192.168.1.1:/www/
# execute the UCI defaults script to create the /etc/config/example
ssh root@192.168.1.1 "sh /etc/uci-defaults/80_example"
From packages
Install the app on your OpenWrt installation. This can be an actual router/device, or something like a QEMU virtual machine.
apk add luci-app-example
Visit the web UI for the device/virtual machine where the package was installed. Log in to OpenWrt, and Example should be present in the navigation menu.
Application structure
See structure.md for details on how to lay out a LuCI application.
Code format
The LuCI Javascript code should be indented with tabs.
js-beautify/jsbeautifier can help with this.
The examples in this application were formatted with:
js-beautify -t -a -j -w 110 -r <filename>
Editing the code
You can either do direct editing on the device/virtual machine, or use something like sshfs to have remote access from your development computer.
By default, the code is minified by the build process, which makes editing it non-trivial. You can either change the build process, or just copy the file content from the git repository and replace the content on disk.
Javascript code can be found on the device/virtual machine in /www/luci-static/resources/view/example/.
form.js
This is a JS view that uses the form.Map approach to providing a form that can change the configuration.
It relies on UCI access, and the relevant ACL declarations are in root/usr/share/rpcd/acl.d/luci-app-example.json.
The declarations are luci-app-example > read > uci and luci-app-example > write > uci.
Note that for both permissions, the node name "example" is provided as a list argument to the interface type (uci); this maps to /etc/config/example.
Since form.Map and form.JSONMap create Promises, you cannot embed them inside a E()-built structure.
htmlview.js
This is a read-only view that uses E() to create DOM nodes.
Data is fetched via the function defined in load() - these loads are done as Promises, with the promise results stored in an array.
Multiple load functions results are available in the array, and can be accessed via a single argument passed to the render() function.
This code relies on the same ACL grants as form.js.
The signature for E() is E(node_type, {node attributes}, [child nodes]).
rpc.js
The RPC JS page is read-only, and demonstrates using RPC calls to get data. It also demonstrates using the JSONMap form object for mapping a configuration to a form, but makes the form read-only for display purposes.
The configuration is stored in /etc/config/example.
The file must exist and created on device boot by UCI defaults script in /root/etc/uci-defaults/80_example.
The developer guide has more details about UCI defaults.
The RPCd script is stored as /usr/libexec/rpcd/luci.example, and can be called via ubus.
It relies on RPC access, and the relevant ACL declarations are in root/usr/share/rpcd/acl.d/luci-app-example.json.
The declaration is luci-app-example > read > ubus > luci.example; the list of names under this key is the list of APIs that can be called.
ACLs
ACLs are global for the entire web UI - the declaration of luci-app-example in a file called acl.d/luci-app-example is just a naming convention.
Nothing enforces that only the code in luci-app-example is mutating /etc/config/example.
Once the ACL is defined to allow reads/writes to a UCI node, any code running from the web UI can make changes to that node.
YAML
You may wish to work with YAML data. See YAML.md for details on how to integrate YAML read support.
Translations
For a real world application (or changes to this example one that you wish to submit upstream), translations should be kept up to date.
To rebuild the translations file, from the root of the repository execute ./build/i18n-scan.pl applications/luci-app-example > applications/luci-app-example/po/templates/example.pot
If the scan command fails with an error about being unable to open/find msguniq, install the GNU gettext package for your operating system.