- 1. 1. 多语言怎么工作
- 2. 2. 字库管理
- 3. 2.1 系统自带字库
- 4. 2.2 添加字库
- 5. 2.3 替换字库
- 6. 2.4 删除字库
- 7. 2.5 裁剪字库(省 Flash 空间)
- 8. 3. 文字标签(多语言的正确打开方式)
- 9. 3.1 增加文字标签
- 10. 3.2 EXCEL 编辑
- 11. 3.3 导出 / 导入
- 12. 4. 字符串 ID 维护(出货后最重要,必看)
- 13. 5. 字符串 ID 维护规则(照做不翻车)
VisualHMI 的多语言方案很省事:一套 UI,多语言词条,一个寄存器切换。不用给每种语言做一套画面。这篇把字库、文字标签、字符串 ID 维护讲透——最后那节”字符串 ID 维护”是设备出货后最容易踩的坑,务必看完。
1. 多语言怎么工作
核心思路:UI 上的文字不放死,用控件引用语言词条;工程属性里配置语言数(最大 30 种);运行时设置多语言系统寄存器,一键切换所有词条。

2. 字库管理
2.1 系统自带字库
软件自带 5 个字库:
| 字库 | 内容 |
|---|---|
| DroidSans.ttf | 只含字母数字 |
| DS-DIGIB.ttf | 数码管风格,大写字母、数字 |
| fangsong_GB2312.ttf | 仿宋,支持中英文 |
| songti_GB2312.ttf | 宋体,支持中英文 |
| wqyMicroHeiMono.ttf | 文泉默认字库,支持中/繁/英/俄/法/日/韩/葡/西/德/意,多语言首选 |

2.2 添加字库
字库设置里点【添加】→ 选 ttf 文件。新字库会在工程目录下新建 font 文件夹并放入该文件。

2.3 替换字库
控件显示的字库和索引关联。把 Arabic.ttf 替换成 wqyMicroHeiMono:把 Arabic 索引改为 0,取消勾选 wqy 即可。

2.4 删除字库
系统自带字库不支持删除;用户添加的字库可以删。

2.5 裁剪字库(省 Flash 空间)
VisualHMI 集成字库裁剪工具:【工程】→【字库裁剪】。选择要裁剪的字库 → 加载需要保留的字符集合(txt 必须 UTF-8 编码)→ 开始裁剪,生成 xxx_cut.ttf。

新版还支持工程字符裁剪:编译生成下载文件时自动裁剪,有四种模式:
| 模式 | 效果 |
|---|---|
| 禁用 | 不裁剪,保留完整字库 |
| 工程字符 | 只保留工程用到的字符 |
| 工程字符+GB2312 | 工程字符 + GB2312 编码全部字符 |
| 工程字符+GBK | 工程字符 + GBK 编码全部字符 |
3. 文字标签(多语言的正确打开方式)
文字标签 = 一个词条容器,含所有语言的译文。控件引用同一个文字标签,改一处、全语言生效,不用重复写文字。
菜单栏【文字标签】打开管理窗口,支持新增、修改、删除、导出、导入。

3.1 增加文字标签
点【新增】,默认名 text1,可改成有含义的名字(如”温度设定”),把各语言译文填到对应语言列。

3.2 EXCEL 编辑
点【EXCEL 编辑】,标签以表格形式打开,直接编辑,保存关闭后回到文字标签窗口确认即可。

3.3 导出 / 导入
支持导出 xml、csv、xlsx 修改,再导入。适合批量翻译和多人协作。
4. 字符串 ID 维护(出货后最重要,必看)
编译时生成一张最终字符串表。字符串来源:
- 文字标签表里的文字:用户主动维护,每条有固定 ID,用
$引用(如$温度设定) - 直接填写的文字:控件里直接写的文字,编译时自动加入字符串表末尾(无固定 ID)
- 告警配置的字符串:告警内容,用
$引用则用固定 ID,直接填写则自动追加
关键:历史记录不保存文字,只保存字符串 ID:
历史记录 = 时间 + 字符串ID 操作记录 = 时间 + 操作字符串ID + 值变化 告警记录 = 告警时间 + 告警字符串ID
显示历史时,设备用保存的 ID 到当前版本的字符串表里查文字。所以字符串表是历史数据的解释字典——一旦发布,ID 的含义不能变。

5. 字符串 ID 维护规则(照做不翻车)
- 会被设备保存的文字必须用固定文字标签 ID:操作记录内容、参数描述、历史记录引用的文字、告警内容
- 已发布使用过的 ID 不能删除:即使这条以后不用了,也要保留原 ID
- 已发布的 ID 不能复用:旧 ID 不能分配给新的内容
- 已发布的 ID 不能改含义:可修正错别字、补翻译,但不能把”设定温度修改”改成”风机模式修改”
- 不再使用的 ID 保留占位:标记为废弃/Reserved/Deprecated,但不要删除
- 新增内容只用新 ID:从没用过的 ID 往后追加
- 不要依赖自动追加的字符串 ID:直接填写的文字只适合当前版本界面显示,不适合作为历史记录引用依据
- 升级前检查字符串表兼容性:对比新旧版本,确认已发布 ID 含义没变
- 建立字符串 ID 维护表:记录每个 ID 的用途、中英文、启用状态、首次使用版本
整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)资源介绍「多语言(字库、文字标签)」,版权归大彩科技所有。
发表回复