luci/applications/luci-app-example
Hosted Weblate fc90e666dc Translated using Weblate (Ukrainian)
Currently translated at 2.5% (1 of 40 strings)

Translation: OpenWrt/LuCI/applications/cloudflared
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/uk/

Translated using Weblate (Ukrainian)

Currently translated at 12.3% (10 of 81 strings)

Translation: OpenWrt/LuCI/applications/email
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsemail/uk/

Translated using Weblate (Ukrainian)

Currently translated at 3.0% (1 of 33 strings)

Translation: OpenWrt/LuCI/applications/v2raya
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsv2raya/uk/

Translated using Weblate (Ukrainian)

Currently translated at 2.7% (2 of 74 strings)

Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/uk/

Translated using Weblate (Ukrainian)

Currently translated at 5.0% (1 of 20 strings)

Translated using Weblate (Ukrainian)

Currently translated at 6.6% (1 of 15 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/uk/

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (83 of 83 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (26 of 26 strings)

Translation: OpenWrt/LuCI/applications/dcwapd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdcwapd/lt/

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (2370 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/lt/

Translated using Weblate (Ukrainian)

Currently translated at 80.6% (50 of 62 strings)

Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/uk/

Translated using Weblate (Hebrew)

Currently translated at 5.8% (2 of 34 strings)

Translation: OpenWrt/LuCI/applications/wifischedule
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswifischedule/he/

Translated using Weblate (Hebrew)

Currently translated at 1.6% (3 of 186 strings)

Translation: OpenWrt/LuCI/applications/unbound
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsunbound/he/

Translated using Weblate (Ukrainian)

Currently translated at 8.6% (16 of 186 strings)

Translation: OpenWrt/LuCI/applications/unbound
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsunbound/uk/

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (7 of 7 strings)

Translation: OpenWrt/LuCI/applications/squid
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssquid/uk/

Translated using Weblate (Ukrainian)

Currently translated at 18.2% (15 of 82 strings)

Translation: OpenWrt/LuCI/applications/shadowsocks-libev
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsshadowsocks-libev/uk/

Translated using Weblate (Ukrainian)

Currently translated at 9.6% (12 of 125 strings)

Translation: OpenWrt/LuCI/applications/privoxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsprivoxy/uk/

Translated using Weblate (Hebrew)

Currently translated at 9.6% (6 of 62 strings)

Translation: OpenWrt/LuCI/applications/ocserv
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsocserv/he/

Translated using Weblate (Ukrainian)

Currently translated at 32.2% (20 of 62 strings)

Translation: OpenWrt/LuCI/applications/ocserv
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsocserv/uk/

Translated using Weblate (Hebrew)

Currently translated at 20.1% (25 of 124 strings)

Translation: OpenWrt/LuCI/applications/nlbwmon
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnlbwmon/he/

Translated using Weblate (Ukrainian)

Currently translated at 15.3% (19 of 124 strings)

Translation: OpenWrt/LuCI/applications/nlbwmon
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnlbwmon/uk/

Translated using Weblate (Hebrew)

Currently translated at 10.1% (6 of 59 strings)

Translation: OpenWrt/LuCI/applications/nft-qos
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnft-qos/he/

Translated using Weblate (Ukrainian)

Currently translated at 21.7% (37 of 170 strings)

Translation: OpenWrt/LuCI/applications/mwan3
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmwan3/uk/

Translated using Weblate (Ukrainian)

Currently translated at 20.4% (10 of 49 strings)

Translation: OpenWrt/LuCI/applications/mjpg-streamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmjpg-streamer/uk/

Translated using Weblate (Ukrainian)

Currently translated at 51.6% (16 of 31 strings)

Translation: OpenWrt/LuCI/applications/dynapoint
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdynapoint/uk/

Translated using Weblate (Ukrainian)

Currently translated at 8.9% (5 of 56 strings)

Translation: OpenWrt/LuCI/applications/dump1090
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdump1090/uk/

Translated using Weblate (Hebrew)

Currently translated at 4.6% (3 of 65 strings)

Translation: OpenWrt/LuCI/applications/dnscrypt-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdnscrypt-proxy/he/

Translated using Weblate (Ukrainian)

Currently translated at 42.3% (11 of 26 strings)

Translation: OpenWrt/LuCI/applications/dcwapd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdcwapd/uk/

Translated using Weblate (Ukrainian)

Currently translated at 48.0% (12 of 25 strings)

Translation: OpenWrt/LuCI/applications/cshark
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscshark/uk/

Translated using Weblate (Ukrainian)

Currently translated at 24.4% (12 of 49 strings)

Translation: OpenWrt/LuCI/applications/bmx7
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbmx7/uk/

Translated using Weblate (Ukrainian)

Currently translated at 11.0% (27 of 244 strings)

Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/uk/

Translated using Weblate (Ukrainian)

Currently translated at 19.0% (32 of 168 strings)

Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/uk/

Translated using Weblate (Ukrainian)

Currently translated at 32.9% (65 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/uk/

Translated using Weblate (Ukrainian)

Currently translated at 98.3% (61 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 30.4% (7 of 23 strings)

Translated using Weblate (Ukrainian)

Currently translated at 17.6% (20 of 113 strings)

Translated using Weblate (Hebrew)

Currently translated at 34.0% (46 of 135 strings)

Translated using Weblate (Ukrainian)

Currently translated at 15.6% (16 of 102 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Ukrainian)

Currently translated at 16.9% (31 of 183 strings)

Translated using Weblate (Ukrainian)

Currently translated at 17.5% (13 of 74 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (83 of 83 strings)

Translated using Weblate (Ukrainian)

Currently translated at 15.5% (9 of 58 strings)

Translated using Weblate (Ukrainian)

Currently translated at 81.5% (1932 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/uk/

Translated using Weblate (Ukrainian)

Currently translated at 1.3% (1 of 74 strings)

Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/uk/

Translated using Weblate (Ukrainian)

Currently translated at 2.0% (1 of 48 strings)

Translation: OpenWrt/LuCI/applications/openwisp
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenwisp/uk/

Translated using Weblate (Ukrainian)

Currently translated at 2.1% (1 of 46 strings)

Translation: OpenWrt/LuCI/applications/xfrpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/uk/

Translated using Weblate (Ukrainian)

Currently translated at 5.8% (1 of 17 strings)

Translation: OpenWrt/LuCI/applications/eoip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationseoip/uk/

Translated using Weblate (Ukrainian)

Currently translated at 2.5% (1 of 40 strings)

Translation: OpenWrt/LuCI/applications/example
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsexample/uk/

Translated using Weblate (Ukrainian)

Currently translated at 3.0% (2 of 66 strings)

Translation: OpenWrt/LuCI/applications/sshtunnel
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/uk/

Translated using Weblate (Ukrainian)

Currently translated at 1.1% (1 of 88 strings)

Translation: OpenWrt/LuCI/applications/mosquitto
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmosquitto/uk/

Translated using Weblate (Ukrainian)

Currently translated at 5.2% (1 of 19 strings)

Translation: OpenWrt/LuCI/applications/irqbalance
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsirqbalance/uk/

Translated using Weblate (Ukrainian)

Currently translated at 1.0% (2 of 198 strings)

Translation: OpenWrt/LuCI/applications/smartdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssmartdns/uk/

Translated using Weblate (Ukrainian)

Currently translated at 4.7% (1 of 21 strings)

Translation: OpenWrt/LuCI/applications/tor
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstor/uk/

Translated using Weblate (Ukrainian)

Currently translated at 3.0% (1 of 33 strings)

Translation: OpenWrt/LuCI/applications/alist
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsalist/uk/

Translated using Weblate (Ukrainian)

Currently translated at 13.3% (17 of 127 strings)

Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/uk/

Translated using Weblate (Ukrainian)

Currently translated at 21.3% (19 of 89 strings)

Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/uk/

Translated using Weblate (Ukrainian)

Currently translated at 21.5% (14 of 65 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/uk/

Translated using Weblate (Ukrainian)

Currently translated at 50.0% (1 of 2 strings)

Translation: OpenWrt/LuCI/applications/olsr-viz
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr-viz/uk/

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (6 of 6 strings)

Translation: OpenWrt/LuCI/applications/olsr-services
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr-services/uk/

Translated using Weblate (Ukrainian)

Currently translated at 96.0% (49 of 51 strings)

Translated using Weblate (Ukrainian)

Currently translated at 78.3% (29 of 37 strings)

Translated using Weblate (Ukrainian)

Currently translated at 75.0% (210 of 280 strings)

Translated using Weblate (Ukrainian)

Currently translated at 81.1% (1923 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/uk/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (280 of 280 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2370 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2370 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2370 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2370 of 2370 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 95.1% (156 of 164 strings)

Translation: OpenWrt/LuCI/applications/adblock-fast
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock-fast/lt/

Translated using Weblate (Lithuanian)

Currently translated at 78.4% (51 of 65 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/lt/

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (194 of 194 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (376 of 376 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (211 of 211 strings)

Translation: OpenWrt/LuCI/applications/dockerman
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/lt/

Translated using Weblate (Lithuanian)

Currently translated at 89.6% (174 of 194 strings)

Translated using Weblate (Lithuanian)

Currently translated at 97.8% (2320 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/lt/

Translated using Weblate (German)

Currently translated at 100.0% (164 of 164 strings)

Translation: OpenWrt/LuCI/applications/adblock-fast
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock-fast/de/

Translated using Weblate (Lithuanian)

Currently translated at 89.6% (174 of 194 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (German)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (83 of 83 strings)

Translated using Weblate (German)

Currently translated at 100.0% (83 of 83 strings)

Translated using Weblate (German)

Currently translated at 91.6% (2173 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (74 of 74 strings)

Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (81 of 81 strings)

Translation: OpenWrt/LuCI/applications/email
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsemail/zh_Hans/

Translated using Weblate (Lithuanian)

Currently translated at 89.1% (173 of 194 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (48 of 48 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (177 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/zh_Hans/

Translated using Weblate (Chinese (Simplified))

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))

Currently translated at 100.0% (183 of 183 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (194 of 194 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2370 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (40 of 40 strings)

Translation: OpenWrt/LuCI/applications/cloudflared
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/zh_Hans/

Translated using Weblate (Chinese (Simplified))

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 (Simplified))

Currently translated at 100.0% (15 of 15 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (17 of 17 strings)

Translation: OpenWrt/LuCI/applications/eoip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationseoip/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (120 of 120 strings)

Translation: OpenWrt/LuCI/applications/usteer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (88 of 88 strings)

Translation: OpenWrt/LuCI/applications/mosquitto
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmosquitto/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (20 of 20 strings)

Translation: OpenWrt/LuCI/applications/crowdsec-firewall-bouncer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscrowdsec-firewall-bouncer/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (33 of 33 strings)

Translation: OpenWrt/LuCI/applications/alist
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsalist/zh_Hans/

Translated using Weblate (Romanian)

Currently translated at 98.5% (66 of 67 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (17 of 17 strings)

Translation: OpenWrt/LuCI/applications/udpxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsudpxy/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (82 of 82 strings)

Translation: OpenWrt/LuCI/applications/shadowsocks-libev
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsshadowsocks-libev/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (40 of 40 strings)

Translation: OpenWrt/LuCI/applications/clamav
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsclamav/zh_Hans/

Translated using Weblate (Chinese (Simplified))

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))

Currently translated at 100.0% (186 of 186 strings)

Translation: OpenWrt/LuCI/applications/unbound
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsunbound/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2370 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2370 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Romanian)

Currently translated at 91.5% (2170 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ro/

Translated using Weblate (Spanish)

Currently translated at 94.9% (2250 of 2370 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/es/

Co-authored-by: Džiugas J <dziugas1959@hotmail.com>
Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tianling Shen <i@cnsztl.eu.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: try496 <pinghejk@gmail.com>
Co-authored-by: Костянтин Серьогін <seryoginki@gmail.com>
Signed-off-by: Džiugas J <dziugas1959@hotmail.com>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Tianling Shen <i@cnsztl.eu.org>
Signed-off-by: Yaron Shahrabani <sh.yaron@gmail.com>
Signed-off-by: ssantos <ssantos@web.de>
Signed-off-by: try496 <pinghejk@gmail.com>
Signed-off-by: Костянтин Серьогін <seryoginki@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci_modules_luci-mod-dsl/ro/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsahcp/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsminidlna/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/he/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/lt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopkg/de/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopkg/lt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopkg/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopkg/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspolipo/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsradicale2/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsrp-pppoe-server/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/lt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsuhttpd/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsupnp/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/de/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/zh_Hans/
Translation: OpenWrt/LuCI/applications/ahcp
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/minidlna
Translation: OpenWrt/LuCI/applications/natmap
Translation: OpenWrt/LuCI/applications/nut
Translation: OpenWrt/LuCI/applications/olsr
Translation: OpenWrt/LuCI/applications/openvpn
Translation: OpenWrt/LuCI/applications/opkg
Translation: OpenWrt/LuCI/applications/polipo
Translation: OpenWrt/LuCI/applications/radicale2
Translation: OpenWrt/LuCI/applications/rp-pppoe-server
Translation: OpenWrt/LuCI/applications/statistics
Translation: OpenWrt/LuCI/applications/tinyproxy
Translation: OpenWrt/LuCI/applications/transmission
Translation: OpenWrt/LuCI/applications/uhttpd
Translation: OpenWrt/LuCI/applications/upnp
Translation: OpenWrt/LuCI/applications/watchcat
Translation: OpenWrt/LuCI/modules/luci-mod-dashboard
Translation: OpenWrt/LuCI/modules/luci-mod-dsl
2024-02-25 10:28:54 +02:00
..
htdocs/luci-static/resources/view/example luci-app-example: Update with more documentation, more examples (#6503) 2023-12-04 22:12:28 +01:00
po Translated using Weblate (Ukrainian) 2024-02-25 10:28:54 +02:00
root luci-app-example: Update with more documentation, more examples (#6503) 2023-12-04 22:12:28 +01:00
BUILDING.md luci-app-example: improve docs formatting 2024-01-23 09:29:12 +02:00
Makefile luci-app-example: Update with more documentation, more examples (#6503) 2023-12-04 22:12:28 +01:00
README.md luci-app-example: improve docs formatting 2024-01-23 09:29:12 +02:00
structure.md luci-app-example: replace NBSP with a space 2024-01-23 09:29:12 +02:00
YAML.md luci-app-example: improve docs formatting 2024-01-23 09:29:12 +02:00

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. Previously the LuCI used a Lua server-side render approach which id deprecated now.

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.

opkg install 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.