QML皮肤 界面汉化


移植现有的QML皮肤,界面均为英文,试图将其汉化,但发现有如下问题:

1. 界面上的文字竟然写死在源代码中,界面设计时没有多语言支持的规划

2. 汉语仅支持UTF-8编码格式,对于中文通用的GB2312等编码格式不支持,显示乱码

3. 对于部分字符串,类型和字面显示共用之,而QML对汉语字符串作为类型标识支持不完善。

对于如上的汉化,有两种途径,其一为笨方法,即在程序中用汉语字符串替换法,其二为稍好些的方法,即将所有QML字符串用变量替换,将变量统一放在一个js

文件中,采用import的方式引用

第一种办法需要注意,如果在windows下的sourceInsight等环境下写程序,默认的编码格式如果不是UTF-8,会导致显示乱码,可以用记事本打开,选择另存为,

在另存为的格式中选择UTF格式,保存、替换即可。记事本会将文件转码存储。如果再linux下,采用vi等方式改写,则有可能默认既是UTF-8编码,此时直接替换即

可。

 

如果需要更改很多文件,则需要将每一个源代码文件均做修改,这样明显不合适,可采用第二种办法,将所有的界面显示的英文摘录出来,原位置用变量替换,统

一在一个js文件中用汉语为变量赋值,然后再所有需要汉化的原文件中import这个js文件即可。如果在GB2312等编码支持的环境下编写,则仅需要将此js文件转码

为UTF编码即可,方法如第一种办法中所述。

 

此方法也不完美,没有解决问题 3 ,即对类型和显示共用的字符串,还不能进行汉化,另:还没有找到动态更改界面语言转换的办法,也没有实现支持多种编码汉语,还需要其他工作。

若有更好的实现方式,望大侠们指点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值