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

电脑当服务器做网站上海今天最新发布会

电脑当服务器做网站,上海今天最新发布会,网站建设应遵守的原则,再网站里做商家店铺文章目录 [toc]1 概述2 设置待翻译文本3 生成ts翻译源文件4 编辑ts翻译源文件5 生成qm翻译二进制文件6 加载qm翻译文件进行翻译 更多精彩内容👉内容导航 👈👉Qt开发经验 👈 1 概述 在 Qt 中,ts 文件和 qm 文件是用于国…

文章目录

    • @[toc]
    • 1 概述
    • 2 设置待翻译文本
    • 3 生成ts翻译源文件
    • 4 编辑ts翻译源文件
    • 5 生成qm翻译二进制文件
    • 6 加载qm翻译文件进行翻译


更多精彩内容
👉内容导航 👈
👉Qt开发经验 👈

1 概述

在 Qt 中,ts 文件和 qm 文件是用于国际化和本地化的关键文件。以下是它们的详细说明:

ts 文件

  • 用途: ts 文件是 Qt 的翻译源文件,存储了应用程序中需要翻译的字符串及其翻译内容。
  • 格式: 它是基于 XML 的文本文件,便于编辑和版本控制。
  • 内容:
    • 包含原始字符串(source)和翻译后的字符串(translation)。
    • 还可能包含上下文(context)信息,用于区分不同模块中的相同字符串。
  • 生成方式:
    • 使用 Qt 提供的工具 lupdate 从源代码中提取需要翻译的字符串,生成 .ts 文件。
    • 示例命令:lupdate myproject.pro -ts translations/myproject_zh_CN.ts
  • 编辑方式:
    • 可以使用 Qt 提供的翻译工具 Qt Linguist 进行翻译。
    • 也可以手动编辑,因为它是 XML 格式。

qm文件

  • 用途: qm 文件是 Qt 的翻译二进制文件,供应用程序运行时加载使用。
  • 格式: 它是 .ts 文件的编译版本,体积更小,加载速度更快。
  • 生成方式:
    • 使用 Qt 提供的工具 lrelease.ts 文件编译为 .qm 文件。
    • 示例命令:lrelease translations/myproject_zh_CN.ts

文件对比

特性TS文件QM文件
可编辑性可人工编辑不可编辑
文件格式XML文本二进制
生成阶段开发阶段构建/发布阶段
文件大小较大(含元数据)较小(优化存储)
运行时依赖不需要必需
环境说明
系统windows11
Qt5.14.2、6.8
IDEqtcreator14

2 设置待翻译文本

  1. 创建一个Qt工程;

    在这里插入图片描述

  2. 在UI文件中添加的文本都可以被翻译;

    在这里插入图片描述

  3. 如果在QObject类的子类中,需要使用tr()包含文本才可以被翻译;

    在这里插入图片描述

  4. 如果在普通函数、或者不是QObject子类的类中,就不能直接使用tr()函数包含待翻译的文本了,可以使用下面几种方式;

    在这里插入图片描述

3 生成ts翻译源文件

方法1:

  • 鼠标右键【添加新文件】;

    在这里插入图片描述

  • 选择【Qt】【Qt Translation File】;

    在这里插入图片描述

  • 选择语言,例如下图中选择English就可以将Qt中文本翻译位英文。

    在这里插入图片描述

方法2:

  • 打开.pro文件,添加如下所示代码,建议文件名包含语言和地区的代码(zh_CNen_US等),会更加名称中缩写推理出适用于什么语言翻译。

    TRANSLATIONS += \untitled9_en_US.ts\a_zh_CN.ts\b_zh_CN.ts
    
  • 然后鼠标选择【工具】【外部】【Linguist】【lupdate】;

    在这里插入图片描述

  • 就可以在工程路径下生成对应的ts文件了;

    在这里插入图片描述

4 编辑ts翻译源文件

  1. 鼠标选择ts文件,右键【Qt语言家】打开ts文件;

    在这里插入图片描述

  2. 如下图所示,Qt UI界面中的文本或者使用tr() QCoreApplication::translate()包含的文件就可以在语言家中呈现。

    在这里插入图片描述

  3. 然后如下图所示,将中文文本翻译为英文文本,填入对应位置;

    在这里插入图片描述

  4. 填写完翻译后,点击工具栏中的,就可以将选中的文本标记为已完成。

    在这里插入图片描述

5 生成qm翻译二进制文件

  1. 编写完成ts文件后,鼠标点击【工具】【外部工具】【Linguist】【lrelease】,就可以将ts文件生成为qm文件。

    在这里插入图片描述

  2. 生成的qm文件如下所示;

    在这里插入图片描述

6 加载qm翻译文件进行翻译

  • 如下所示,使用QTranslator加载qm翻译文件;

    #include "widget.h"#include <QApplication>
    #include <QDebug>
    #include <QTranslator>int main(int argc, char* argv[])
    {QApplication a(argc, argv);QTranslator translator;if (translator.load("E:/test/untitled9/untitled9_en_US.qm")){qDebug() << "加载成功";QCoreApplication::installTranslator(&translator);}else{qDebug() << "加载失败";}qDebug() << "main函数1";qDebug() << QObject::tr("main函数2");qDebug() << QCoreApplication::tr("main函数3", "描述信息");qDebug() << QCoreApplication::translate("main", "main函数4");qDebug() << QCoreApplication::translate("main", "main函数5", "描述信息");Widget w;w.show();return a.exec();
    }
  • 注意:

    • 必须先调用installTranslator()再创建UI对象;
    • 多个翻译器会叠加生效,后加载的优先;
  • 也可以使用QString locale = QLocale::system().name(); // 获取系统语言,例如 "zh_CN"获取操作系统语言来选中使用的qm文件;

  • 加载qm翻译文件成功后如下所示,在ts文件中填写了翻译信息的就会被翻译。

    在这里插入图片描述

  • 如果在程序运行时动态切换语言,需要调用 retranslateUi() 方法刷新界面。例如:

    ui->retranslateUi(this);
    


http://www.dtcms.com/wzjs/283957.html

相关文章:

  • 电影网站如何做seo排名长沙seo全网营销
  • 网页制作 页面链接其他网站 杭州百度开户
  • 做网站那个平台seo没什么作用了
  • 公司内网网站建设外贸推广是做什么的
  • 经营性网站需要什么手续离我最近的广告公司
  • 海南省建设培训与注册中心网站网页设计模板素材图片
  • 策划书word模板范文抖音seo怎么做的
  • 如果建设网站深圳网络营销的公司哪家好
  • excel做网页放进网站电商网站项目
  • 黑马网站建设百度公司排名多少
  • win2003建设网站软文网站大全
  • 专业做包装设计网站给网站做seo的价格
  • 公司做网站是管理费用by网站域名
  • 一个vps可以建多少网站全球十大搜索引擎排名
  • 网站下载地址安卓aso优化排名
  • 菏砖网站建设宣传方式有哪些
  • 建网站价格多少西安做网站哪家好
  • 网站制作客户寻找长沙网络营销公司
  • 网站大图分辨率做多大一般网络推广应该怎么做
  • 网站建设属于技术服务吗怎么做电商卖东西
  • 8图片这样的网站怎么做的网页设计与制作教程
  • uc网站怎么做郑州网络营销公司哪个好
  • 手机不想访问指定网站怎么做推广网站的文案
  • 网站要素什么是优化师
  • 贵阳手机网站建设费用微信腾讯会议
  • 网站整站开发网络营销方案案例
  • 网站备案幕布 下载semir是什么品牌
  • 做网站交钱后以后还要教吗新手运营从哪开始学
  • 引导企业做网站百度帐号登录入口
  • 商务网站建设项目的技术可行性湖南正规关键词优化报价