0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

多语言开发的流程详解

玩转单片机 来源:玩转单片机 2023-11-30 09:08 次阅读

现在不少应用都是要求有多语言切换的,使用QT开发上位机也同样需要做多语言功能,不过QT是自带了多语言翻译功能,可以很方便的借助原生工具进行, 下面就简单来看看多语言开发的流程!

|创建页面

根据下方页面创建一个简单的页面,布局哪些就不要太在意,只有能体现出效果即可!

96a1eed8-8f1c-11ee-939d-92fbcf53809c.png

| 生成资源

在PRO文件中加入一段配置,增加语言文件生成脚本:

TRANSLATIONS+=
cn.ts
en.ts

图片如下:

975665d4-8f1c-11ee-939d-92fbcf53809c.png

文件结构:

97674a5c-8f1c-11ee-939d-92fbcf53809c.png

点击更新翻译:

977339de-8f1c-11ee-939d-92fbcf53809c.png

查看资源:

97984fee-8f1c-11ee-939d-92fbcf53809c.png

|翻译语言

根据自己项目构建选择合适的工具,下图就是根据本项目构建选择的,读者根据自己项目选择即可:

97b515ca-8f1c-11ee-939d-92fbcf53809c.png

导入文件,中文语言就选中文相关配置:

97c5a1d8-8f1c-11ee-939d-92fbcf53809c.png

导入文件,英文语言就选择英文相关配置:

97f1928e-8f1c-11ee-939d-92fbcf53809c.png

分别对不同语言进行翻译, 需要对全部语言进行翻译:

984128b2-8f1c-11ee-939d-92fbcf53809c.png

点击生成语言包:

985c9e30-8f1c-11ee-939d-92fbcf53809c.png

在文件结构中可以看到生成的语言包:

9871d78c-8f1c-11ee-939d-92fbcf53809c.png

| 编写代码

1、绑定触发事件, 中文和英文都要绑定, 下图只体现了中文, 英文也是一样的道理:

98bd1116-8f1c-11ee-939d-92fbcf53809c.png

2、编写代码:

#include"mainwindow.h"
#include"ui_mainwindow.h"
#include"QTranslator"
#include"QDebug"

MainWindow::MainWindow(QWidget*parent)
:QMainWindow(parent)
,ui(newUi::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
deleteui;
}


voidMainWindow::on_action_triggered()
{
QTranslator*translator=newQTranslator;
if(translator->load("../project/cn.qm"))
{
qApp->installTranslator(translator);
qDebug()<< "ok";
    }
    ui->retranslateUi(this);
}

voidMainWindow::on_action_2_triggered()
{
QTranslator*translator=newQTranslator;
if(translator->load("../project/en.qm"))
{
qApp->installTranslator(translator);
qDebug()<< "ok";
    }
    ui->retranslateUi(this);
}

注意: 如果语言包加载不成功,看看路径是否是正确的,再看看生成的文件是否有问题!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 上位机
    +关注

    关注

    26

    文章

    861

    浏览量

    54049
  • Qt
    Qt
    +关注

    关注

    1

    文章

    299

    浏览量

    37340
  • 多语言
    +关注

    关注

    0

    文章

    6

    浏览量

    6519
  • 脚本
    +关注

    关注

    1

    文章

    372

    浏览量

    14636

原文标题:QT|多语言切换

文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    这个多语言包 怎么搜不到

    大家好,这个多语言包怎么搜不到 seven language lib 谁有离线包不 感谢分享,
    发表于 03-24 10:06

    串口屏能否支持全球多语言功能?

    串口屏能否支持全球多语言功能?
    发表于 03-27 15:11

    串口屏MODBUS教程9_控件显示和隐藏功能和多语言功能的使用教程

    串口屏MODBUS教程9_控件显示和隐藏功能和多语言功能的使用教程1、本文主要讲述控件显示和隐藏功能和多语言功能在MODBUS协议的串口屏的应用。2、本文适合大彩基本型、经济型、商业型、F型、物联型
    发表于 08-15 15:18

    HarmonyOS低代码开发-多语言支持及屏幕适配

    多语言支持:低代码页面支持多语言能力,让应用开发者无需开发多个不同语言的版本。开发者可以通过定义
    发表于 05-23 14:37

    多语言综合信息服务系统研究与设计

    基于多语言的综合信息服务正成为信息服务领域的一个重要的发展方向。该文提出面向2010年上海世博会和城市信息服务的多语言综合信息服务应用的总体架构,该系统基于下一代网
    发表于 04-01 09:41 24次下载

    华硕 P5PL2 C主板多语言版说明书

    华硕 P5PL2 C主板多语言版说明书.zip
    发表于 02-04 15:15 0次下载

    Aldec 多语言仿真器锁定主流用户

    Aldec 多语言仿真器锁定主流用户   Aldec 公司日前推出了一款新型 Active-HDL 多语言仿真器,定价为 1,995 美元,据称仿真速度是 FPGA 厂家提供的 RTL 仿真器的两倍。
    发表于 02-08 10:09 1098次阅读
    Aldec <b class='flag-5'>多语言</b>仿真器锁定主流用户

    SoC多语言协同验证平台技术研究

    SoC基于IP设计的特点使验证项目中多语言VIP(Verification IP)协同验证的需求不断增加,给验证工作带来了很大的挑战。为了解决多语言VIP在SoC验证环境灵活重用的问题。提出了一种
    发表于 12-31 09:25 12次下载

    基于Toradex多语言image的编译与MUI切换演示

      Windows Embedded CE提供多语言用户界面(Multilingual User Interface,MUI)功能,允许用户在设备上更改用户界面的显示语言。您可以针对不同的地区语言
    发表于 09-18 10:59 8次下载

    《零起点学习单片机多语言编程》pdf

    《零起点学习单片机多语言编程》pdf
    发表于 02-08 15:30 17次下载

    Multilingual多语言预训练语言模型的套路

    Facebook在Crosslingual language model pretraining(NIPS 2019)一文中提出XLM预训练多语言模型,整体思路基于BERT,并提出了针对多语言预训练的3个优化任务。后续很多多语言
    的头像 发表于 05-05 15:23 2561次阅读

    蚂蚁集团开源高性能多语言序列化框架Fury解读

    Fury 是一个基于 JIT 动态编译和零拷贝的多语言序列化框架,支持 Java/Python/Golang/JavaScript/C++ 等语言,提供全自动的对象多语言 / 跨语言
    的头像 发表于 08-25 17:05 740次阅读
    蚂蚁集团开源高性能<b class='flag-5'>多语言</b>序列化框架Fury解读

    串口屏Modbus教程9-控件隐藏和多语言V1.0

    串口屏Modbus教程9-控件隐藏和多语言V1.0
    发表于 04-29 13:38 13次下载

    如何在TSMaster面板和工具箱中实现多语言切换

    TSMaster软件平台已经提供了多语言的支持,对于软件内部用户二次开发的模块如Panel和工具箱模块,TSMaster也提供了多语言的支持。这一特性让基于TSMaster开发的工程只
    的头像 发表于 11-11 08:21 330次阅读
    如何在TSMaster面板和工具箱中实现<b class='flag-5'>多语言</b>切换

    语言模型(LLMs)如何处理多语言输入问题

    研究者们提出了一个框架来描述LLMs在处理多语言输入时的内部处理过程,并探讨了模型中是否存在特定于语言的神经元。
    发表于 03-07 14:44 147次阅读
    大<b class='flag-5'>语言</b>模型(LLMs)如何处理<b class='flag-5'>多语言</b>输入问题