如何在ThingsBoard PE(白标版)中设置登录页面语言并自动适配用户区域?
实现ThingsBoard专业版(PE)登录页面自动根据区域设置切换语言
1. 确认语言包状态
先检查{TB_INSTALL_DIR}/ui/static/locales目录下是否存在目标语言的翻译文件(如中文zh.json、英文en.json),若缺少需要先补充对应语言包。
2. 修改登录页面语言检测逻辑
登录页面前端代码位于{TB_INSTALL_DIR}/ui/static/templates/login/login.html,替换原有语言初始化代码为以下逻辑,实现自动读取浏览器区域设置:
// 获取浏览器首选语言 const userLang = navigator.language || navigator.userLanguage; // 提取核心语言代码(如zh-CN提取zh,en-US提取en) const langCode = userLang.split('-')[0]; // 定义支持的语言列表,可根据实际情况调整 const supportedLangs = ['en', 'zh', 'ru', 'es']; // 匹配目标语言,无匹配则 fallback 到英文 const targetLang = supportedLangs.includes(langCode) ? langCode : 'en'; // 应用语言设置 tbLocalization.setLanguage(targetLang);
3. 后端默认语言配置(可选)
若需要后端同步适配语言,修改{TB_INSTALL_DIR}/conf/thingsboard.conf配置文件,添加或调整:
# 设置后端默认语言为自动检测(基于请求头Accept-Language) thingsboard.language.default=auto
4. 重启服务生效
修改完成后重启ThingsBoard服务:
sudo systemctl restart thingsboard
验证效果
调整浏览器的区域设置(如切换至中文),重新访问登录页面,页面将自动切换为对应语言。
内容的提问来源于stack exchange,提问作者betelgeuse
相关产品推荐
相关产品推荐

