kanzi 3.9.8多国语实现

博客介绍了kanzi 3.9.8多国语的实现方案与测试。因类似HMI报警内容受语言影响,旧版本需字符串拼接,现版本可通过绑定快速实现。实现方案包括快速搭建界面、添加属性、多语言处理及绑定;测试部分有切换报警类型、切换语言及演示。

背景:类似HMI的报警内容因为语言不同,内容不同,会有复杂要求
例如:
报警1在中文下显示车速 100,在英文下显示100 speed。而数字是变化的,无法使用固定翻译来实现。在3.9.8版本以前需要用c++做字符串拼接,现在3.9.8版本可以通过绑定快速实现。

1. 实现方案

1.1 快速搭建界面

  • Empty Node 2D:报警文言父节点
  • Text Block 2D:报警文言节点
  • Stack Layout 2D:报警1~报警3测试按钮
  • Stack Layout 2D_1:中英文切换测试按钮
    在这里插入图片描述在这里插入图片描述

1.2 添加属性

Empty Node 2D 添加报警类型接口NewPropertyTypeText,范围[warn1,warn2,warn3…]
在这里插入图片描述
NewPropertyTypeValue1,表示可能的输入值1
NewPropertyTypeValue2,表示可能的输入值2

1.3 多语言

这里只演示有输入值的情况,输入值通过{}占位符代替
在这里插入图片描述

1.4 绑定

报警文言的绑定是关键

  • input1,input2...是可能的输入值
  • msg是通过acquire获取的多语言翻译后的字符串,比如{} speed
  • format把占位符{}替换为input*
    在这里插入图片描述

2. 测试

2.1 测试按钮 切换报警类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 测试按钮 切换语言

在这里插入图片描述

在这里插入图片描述

2.3 演示

请添加图片描述

参考资料:
https://docs.kanzi.com/3.9.7/en/working-with/bindings/using-bindings.html#using-bindings-to-split-text-into-parts

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值