当前位置: 首页 > news >正文

河北省建设局网站网站建设设计公司+知乎

河北省建设局网站,网站建设设计公司+知乎,潜江网站开发,免费网站建设必择山东绘政科技Qt 国际化——创建中英文翻译步骤 说明#xff1a;之前我的csdn博客#xff0c;第一篇文章发表的就是Qt国际化的文章#xff08;点击打开#xff09;#xff0c;写的也过于简单了#xff1a; 今天#xff0c;这篇文章再详细的记录下#xff0c;中英文翻译的步骤。 一…Qt 国际化——创建中英文翻译步骤 说明之前我的csdn博客第一篇文章发表的就是Qt国际化的文章点击打开写的也过于简单了 今天这篇文章再详细的记录下中英文翻译的步骤。 一、环境介绍 本片以Qt 5.12.2编译器MinGWQt Creator 4.8.2为例 操作系统为Win 11 64位 二、Qt Linguist Qt对于多语言切换模块提供了专门的工具Qt LinguistQt语言家我们可以在安装Qt的目录下看到这个工具它分为32位和64位如果你的编译器是32位的你翻译的时候就是用32位的Linguist64位的编译器就对应64位的Linguist。 打开Qt Linguist如下所示 使用Qt Linguist打开一个文件的时候我们可以看到它支持的文件类型如下图所示 其中一个文件类型是.ts类型.ts类型就是存储程序翻译的内容信息有了这一个文件才可以生成.qm的二进制文件相应的语言文件供Qt程序加载从而实现多语言的切换。 三、配置生成ts文件 我们知道了需要先生成ts文件才能实现接下来的步骤。ts文件生成需要在pro文件中配置比如需要中英文切换这时在pro文件中添加的代码如下 TRANSLATIONS Language_CN.ts\Language_EN.ts Language_CN.ts表示中文ts文件Language_EN.ts表示英文ts文件。 在pro文件中添加完成后通过Qt Creator菜单栏“工具-外部(E)-Qt语言家-更新翻译(lupdate)”即可生成.ts文件。 ts文件内容格式大致如下所示 ?xml version1.0 encodingutf-8? !DOCTYPE TS TS version2.1 contextnameMainWindow/namemessagelocation filenamemainwindow.ui line14/sourceMainWindow/sourcetranslation typeunfinished/translation/messagemessagelocation filenamemainwindow.ui line27/sourcePushButton/sourcetranslation typeunfinished/translation/messagemessagelocation filenamemainwindow.ui line40/source中文/sourcetranslation typeunfinished/translation/messagemessagelocation filenamemainwindow.cpp line11/sourcelange/sourcetranslation typeunfinished/translation/messagemessagelocation filenamemainwindow.cpp line16/sourceEnglish/sourcetranslation typeunfinished/translation/messagemessagelocation filenamemainwindow.cpp line18/sourceChinese/sourcetranslation typeunfinished/translation/message /context /TS 其实就是xml形式的文本文件。这一步操作对应的命令是 lupdate xxxx.pro 如果是界面操作就不用管这个命令生成。 四、tr函数 在上一步中我们生成ts文件之前需要把我们需要翻译的内容使用tr函数进行包裹tr函数的原型是 static QString tr(const char *sourceText, const char * nullptr, int -1) 被tr处理的字符串可以使用工具提取出来翻译成其他语言。 如图代码中tr的使用 也可以看到和ts文件对应的内容 五、qm文件 在经过上面的步骤之后我们需要把ts文件翻译成中文并编译生成qm文件才能被Qt加载。 打开Qt 中安装的Linguist软件选择我们上面生成的ts文件如下图所示 选择需要翻译的项输入需要翻译的内容然后点击工具栏中的够好即可上面是翻译成中文的ts英文的步骤一样。 然后点击“文件-发布R”既可生成对应的qm文件。 可以看到qm文件的生成。 这一步如果使用命令行的生成的话代码如下 lrelease xxx.pro 六、qm文件的加载 编译生成qm文件后我们就可以调用我们的翻译文件了。 1、首先在界面上创建可以切换中英文的菜单栏你可以通过其他的控件来控制这一步操作 2、main函数中调用 QTranslator translator;//translator.load(:/qm/Language_EN.qm);a.installTranslator( translator );MainWindow w;w.setTranslator(translator);w.showMaximized(); 3、Mainwindow中调用 class MainWindow : public QWidget {Q_OBJECTpublic:explicit MainWindow(QWidget *parent nullptr);~MainWindow();private slots:void languageCNActionClickedSlot();void languageENActionClickedSlot();protected:void changeEvent(QEvent* event);public:void setTranslator(QTranslator* translator);private:void initMenuData();void translatorUI();private:Ui::MainWindow *ui;QMenu* mMenu nullptr;QAction *mLanguageCNAction nullptr;QAction *mLanguageENAction nullptr;QTranslator* mTranslator nullptr; };void MainWindow::setTranslator(QTranslator *translator) {mTranslator translator; }void MainWindow::changeEvent(QEvent *event) {switch (event-type()){case QEvent::LanguageChange:translatorUI();break;default:QWidget::changeEvent(event);} }void MainWindow::languageCNActionClickedSlot() {mTranslator-load(:/qm/Language_CN.qm); }void MainWindow::languageENActionClickedSlot() {mTranslator-load(:/qm/Language_EN.qm); }void MainWindow::translatorUI() {mLanguageCNAction-setText(tr(Chinese));mLanguageENAction-setText(tr(English));mHelpAction-setText(tr(Help));mAboutAction-setText(tr(About));ui-retranslateUi(this); } 以上的代码我们通过LanguageEvent事件来实现动态切换中英文。 本文原创作者冯一川ifeng12358163.com未经作者授权同意请勿转载。
http://www.zqtcl.cn/news/615058/

相关文章:

  • 电视网站后台管理系统漏洞淘客推广怎么做
  • 网站建设基础大纲文案丽江网站建设 莱芜
  • 程序员找工作的网站怎么给搞笑网站做文案
  • 网站flsh怎么做能被百度收录的建站网站
  • 娄底网站seo建平台网站费用
  • seo优化网站的注意事项WordPress伪静态公告404
  • 手机网站自动适应沈阳网站建设公司电话
  • 备案号网站下边苏州广告公司招聘
  • 企业网站设计模板js做网站
  • 福州最好的网站建设公司网络策划
  • 威宁做网站西部数码网站管理助手 没有d盘
  • 网站设计基础知识重庆seo博客推广
  • 中小企业商务网站建设wordpress dmeng
  • 关于网站建设总结公司网站购买主机
  • 定制网站与模板网站网页美工设计师工资
  • 丹棱县 网站建设wordpress公司主题破解版
  • 贾汪微网站开发百度推广登录账号首页
  • 网站开发和网站运营的区别嘉兴市秀洲区住房和建设局网站
  • 西安网站开发公司哪家强如何做付费阅读网站
  • ios认证 东莞网站建设天津企业网站建设方案
  • 高网站排名吗wordpress 拼音别名
  • 网站出现的问题杭州旅游网站建设
  • 陕西城乡建设部网站怎么用自己注册的域名做网站
  • 企业邮箱注册价格汕头做网站优化的公司
  • 高校工会网站建设网站静态页面生成
  • 辽宁省营商环境建设局 网站做网站前端后端ui什么意思
  • 合作社网站模板贵州安顺建设主管部门网站
  • 网站不备案能访问吗哪家做企业网站
  • 做网站写的代号好跟不好的区别企信网企业信用信息系统
  • 网站需要服务器吗手机网站解决方案