VisualHMI 多언어与字库:30 种언어전환、字库裁剪、문자串 ID 维护铁律

무료무료 기술 자료

이 글은 바로 읽을 수 있으며 기초 학습과 검색 유입에 적합합니다.

VisualHMI 的多언어方案很省事:一套 UI,多언어词条,一个레지스터전환。不用给每种언어做一套화면。这篇把字库、文字标签、문자串 ID 维护讲透——最后那节"문자串 ID 维护"是设备出货后最容易踩的坑,务必看完。

1. 多언어怎么工作

核心思路:UI 上的文字不放死,用控件引用언어词条;엔지니어링属性里설정언어数(最大 30 种);运行时设置多언어系统레지스터,一键전환所有词条。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图

多언어功能取决于字库(*.ttf 矢量字库)里是否含有该문자。字库不含这个字,전환到该언어就显示方块/空白。系统自带的字库都是무료字库,自己추가字库时注意版权。

2. 字库管理

2.1 系统自带字库

软件自带 5 个字库:

字库콘텐츠
DroidSans.ttf只含字母数字
DS-DIGIB.ttf数码管风格,大写字母、数字
fangsong_GB2312.ttf仿宋,支持中英文
songti_GB2312.ttf宋体,支持中英文
wqyMicroHeiMono.ttf文泉默认字库,支持中/繁/英/俄/法/日/韩/葡/西/德/意,多언어首选

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图1

2.2 추가字库

字库设置里点【추가】→ 选 ttf 文件。新字库会在엔지니어링目录下新建 font 文件夹并放入该文件。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图2

추가的字库文件命名:字母、数字、-、_ 组成,길이不超过 32 个문자。

2.3 替换字库

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

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图3

新加的字库替换原字库后,需要저장엔지니어링、重新열기,편집界面才会새로고침显示。

2.4 삭제字库

系统自带字库不支持삭제;用户추가的字库可以删。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图4

2.5 裁剪字库(省 Flash 空间)

VisualHMI 통합字库裁剪도구:【엔지니어링】→【字库裁剪】。选择要裁剪的字库 → 불러오기需要保留的문자集合(txt 必须 UTF-8 编码)→ 开始裁剪,生成 xxx_cut.ttf。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图5

신버전还支持엔지니어링문자裁剪:编译生成下载文件时自动裁剪,有四种모드:

모드效果
禁用不裁剪,保留完整字库
엔지니어링문자只保留엔지니어링用到的문자
엔지니어링문자+GB2312엔지니어링문자 + GB2312 编码전체문자
엔지니어링문자+GBK엔지니어링문자 + GBK 编码전체문자
⚠️ 裁剪的坑:시리얼 포트动态수신的文本、LUA 스크립트运行时设置的문자串,不在裁剪문자集里,不会被自动纳入裁剪后的字库,运行时可能显示乱码/方块。用裁剪功能前,把所有可能动态显示的문자显式加进保留문자集。

3. 文字标签(多언어的正确열기방식)

文字标签 = 一个词条容器,含所有언어的译文。控件引用同一个文字标签,改一处、全언어生效,不用重复写文字。

菜单栏【文字标签】열기管理窗口,支持新增、修改、삭제、导出、导入。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图6

3.1 추가文字标签

点【新增】,默认名 text1,可改成有含义的名字(如"온도设定"),把各언어译文填到对应언어列。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图7

3.2 EXCEL 편집

点【EXCEL 편집】,标签以表格形式열기,直接편집,저장닫기后回到文字标签窗口确认即可。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图8

3.3 导出 / 导入

支持导出 xml、csv、xlsx 修改,再导入。适合批量翻译和多人协作。

4. 문자串 ID 维护(出货后最重要,必看)

编译时生成一张最终문자串表。문자串출처:

  • 文字标签表里的文字:用户主动维护,每条有固定 ID,用 $ 引用(如 $온도设定)
  • 直接填写的文字:控件里直接写的文字,编译时自动加入문자串表末尾(无固定 ID)
  • 告警설정的문자串:告警콘텐츠,用 $ 引用则用固定 ID,直接填写则自动追加

关键:历史记录不저장文字,只저장문자串 ID:

历史记录 = 时间 + 문자串ID
操作记录 = 时间 + 操作문자串ID + 值变化
告警记录 = 告警时间 + 告警문자串ID

显示历史时,设备用저장的 ID 到当前버전的문자串表里查文字。所以문자串表是历史데이터的解释字典——一旦发布,ID 的含义不能变。

VisualHMI 多语言与字库:30 种语言切换、字库裁剪、字符串 ID 维护铁律插图9

⚠️ 例子:原버전「150 = 设定온도修改」,设备记录一条操作记录「2026-05-11 10:20:30 设定온도修改 20 -> 25」。如果后续엔지니어링把 150 改成「风机모드修改」,同一条记录会显示成「风机모드修改 20 -> 25」——含义全错。

5. 문자串 ID 维护规则(照做不翻车)

  1. 会被设备저장的文字必须用固定文字标签 ID:操作记录콘텐츠、매개변수설명、历史记录引用的文字、告警콘텐츠
  2. 已发布使用过的 ID 不能삭제:即使这条以后不用了,也要保留原 ID
  3. 已发布的 ID 不能复用:旧 ID 不能分配给新的콘텐츠
  4. 已发布的 ID 不能改含义:可修正错别字、补翻译,但不能把"设定온도修改"改成"风机모드修改"
  5. 不再使用的 ID 保留占位:기호为废弃/Reserved/Deprecated,但不要삭제
  6. 新增콘텐츠只用新 ID:从没用过的 ID 往后追加
  7. 不要依赖自动追加的문자串 ID:直接填写的文字只适合当前버전界面显示,不适合作为历史记录引用依据
  8. 업그레이드前检查문자串表兼容性:对比新旧버전,确认已发布 ID 含义没变
  9. 建立문자串 ID 维护表:记录每个 ID 的用途、中英文、활성화状态、首次使用버전

整理自 广州大彩科技 VisualHMI 개발문서(hmi-doc.gz-dc.com)자료介绍「多언어(字库、文字标签)」,版权归大彩科技所有。

실제 프로젝트에 이 자료를 활용하시겠습니까?

도구 센터에서 프레임 분석, CRC 검증, 장비 디버깅을 진행하거나 요청을 제출하여 선정 및 연동 제안을 받아보세요.

엔지니어 회원

이 글을 실행 가능한 디버깅 자료로 활용하세요

가입하면 고급 프레임 분석, 자료 패키지 다운로드, 코드 예제, 엔지니어링 사례, 우선 기술 지원을 이용할 수 있어 실제 프로젝트 납품에 적합합니다.

고급 도구 무제한 이용
자료 패키지와 코드 패키지
완전한 엔지니어링 사례 라이브러리
우선 기술 지원 채널

답글 작성

이메일 주소는 공개되지 않습니다. 必填项已用 * 标注