1、语言菜单在:System-System- System Properties- Language and Style- auto。
默认是auto。
2、进入System-Software- 在这个页面的前几行可以看到:
Download and install package: 和Actions
先点击:Actions下方的,Update lists,可能需要几分钟,更新。
3、Download and install package 的下方输入:luci-i18n-base-zh-cn,并点击 OK。 几秒钟后就可以看到中文。
可以回到语言设置为中文,在中文环境下如果是auto,也会显示中文。
将语言设置为中文后,请点击右下方的:保存或应用(Save &Apply)
完成中文的设置的。
注意,官方的文档可能是针对老版本的, https://openwrt.org/zh-cn/doc/howto/luci.essentials
用的是:opkg install luci-i18n-chinese (在op19里,没有luci-i18n-chinese这个包)
这个问题比较碎,慢慢说吧
LuCi是用Lua写的Web框架,所以你要修改这些文字就需要修改Lua脚本或者Lua脚本获得的信息
在中间的“系统名称”和“路由型号”是定义在/usr/lib/lua/luci/sys.lua这个文件里,在这个文件里你会找到一个函数叫做sysinfo()
function sysinfo()local cpuinfo = fs.readfile("/proc/cpuinfo")
local meminfo = fs.readfile("/proc/meminfo")
local memtotal = tonumber(meminfo:match("MemTotal:%s*(%d+)"))
local memcached = tonumber(meminfo:match("\nCached:%s*(%d+)"))
local memfree = tonumber(meminfo:match("MemFree:%s*(%d+)"))
local membuffers = tonumber(meminfo:match("Buffers:%s*(%d+)"))
local bogomips = tonumber(cpuinfo:match("[Bb]ogo[Mm][Ii][Pp][Ss].-: ([^\n]+)")) or 0
local swaptotal = tonumber(meminfo:match("SwapTotal:%s*(%d+)"))
local swapcached = tonumber(meminfo:match("SwapCached:%s*(%d+)"))
local swapfree = tonumber(meminfo:match("SwapFree:%s*(%d+)"))
local system =
cpuinfo:match("system type\t+: ([^\n]+)") or
cpuinfo:match("Processor\t+: ([^\n]+)") or
cpuinfo:match("model name\t+: ([^\n]+)")
local model =
luci.util.pcdata(fs.readfile("/tmp/sysinfo/model")) or
cpuinfo:match("machine\t+: ([^\n]+)") or
cpuinfo:match("Hardware\t+: ([^\n]+)") or
luci.util.pcdata(fs.readfile("/proc/diag/model")) or
nixio.uname().machine or
system
return system, model, memtotal, memcached, membuffers, memfree, bogomips, swaptotal, swapcached, swapfree
end
这段代码里,model这个变量的结果就是你看到“路由型号”,所以你只要修改这个变量,或是这个变量指向的文件(/tmp/sysinfo/model),页面上看到的产品型号就会变化
那“系统名称”呢,英文版里更清晰,其实是指的“Hostname”,也就是你的路由器在局域网内的名字。这个的值很明白,是Linux系统决定的,具体修改的文件是/etc/config/system,里面有hostname一项。LuCI开机时从nixio.so这个动态库里的函数调用显示了这个值。从hostname(newname)这个函数里能看出来Lua使用的hostname暂存在内存的/proc/sys/kernel/hostname这里
function hostname(newname)if type(newname) == "string" and #newname > 0 then
fs.writefile( "/proc/sys/kernel/hostname", newname )
return newname
else
return nixio.uname().nodename
end
end
我在命令行里运行echo "lalala" >/proc/sys/kernel/hostname之后,又修改了设备名称文件(tmp/sysinfo/model),将TP-Link WDR4300 V1后面的型号去掉,看起来就是这样子
(我的是新版的LuCI,界面看起来不太一样但是代码一样的)
至于固件版本,这个变量的脚本存在/usr/lib/lua/luci/version.lua。具体内容你进去看一眼应该就对上号了
记得/proc/sys/kernel/hostname和/tmp/sysinfo/model都是临时文件(都在内存里,重启或者断电就消失了)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)