ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

openwrt web中文语言支持,并设置默认中文

2022-03-01 10:58:54  阅读:535  来源: 互联网

标签:web 中文 zh cn po base lmo luci openwrt


OPENWRT WEB中文语言支持,并设置默认中文

在menuconfig中先选择支持luci-i18n-zh_ch

然后修改配置文件:

修改配置文件,配置默认中文

vim feeds/luci/modules/luci-base/root/etc/config/luci
修改 option lang 'auto' 为 option lang 'zh_cn'

或者直接执行sed语句

sed -i 's/option lang auto/option lang zh_cn/g' feeds/luci/modules/luci-base/root/etc/config/luci

上面说的是修改方案,这个接下来再说一下后面的细节

代码中,语言包的存在是.po后缀的文件,里面包含了

msgid "Mode"
msgstr "模式"

我这边修改支持了一个luci-base的中文包,修改的文件是这个:

luci/modules/luci-base/po/zh_cn/base.po

那么接下来编译,编译ipk软件包最终打包的文件是

book@book:~/openwrt/build_dir/target-arm_cortex-a7_musl_eabi/luci-base/ipkg-all/luci-i18n-base-zh-cn$ tree -L 6 .
.
├── CONTROL
│   ├── control
│   ├── postinst
│   ├── postinst-pkg
│   └── prerm
├── etc
│   └── uci-defaults
│       └── luci-i18n-base-zh-cn
└── usr
    └── lib
        └── lua
            └── luci
                └── i18n
                    └── base.zh-cn.lmo

8 directories, 6 files

在设备上识别的是lmo文件,因为openwrt只能识别紧凑型的lmo文件,所以中间是经过转换的,转换的方式是 po2lmo xxx.po xxx.lmo

其中po2lmo的文件位置是在:

~/openwrt/build_dir/target-arm_cortex-a7_musl_eabi/luci-base/po2lmo

后续测试的时候可以直接手动生成并替换测试,不需要再编译版本进行测试。

刚刚测试了上述说的手动验证的方法:

#编译
book@book:~/luci/modules/luci-base/po/zh_cn$ ~/openwrt/build_dir/target-arm_cortex-a7_musl_eabi/luci-base/po2lmo base.po base.zh-cn.lmo
#上传测试
book@book:~/luci/modules/luci-base/po/zh_Hans$ scp base.zh-cn.lmo admin@192.168.125.83:/usr/lib/lua/luci/i18n/base.zh-cn.lmo

标签:web,中文,zh,cn,po,base,lmo,luci,openwrt
来源: https://blog.csdn.net/u010307522/article/details/123200608

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有