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

南宁律师网站建设互联网营销师是哪个部门发证

南宁律师网站建设,互联网营销师是哪个部门发证,蜂鸟摄影网官网,湛江做网站公司一、简介 当软件有国际化的需求时,就需要多语言翻译功能,最常见的语言就是支持中文和英语,本文介绍在vs2015QT环境下,进行国际化翻译的具体流程。 二、多语言翻译实现流程 1.底层实现原理介绍 QT写的客户端软件,能…

一、简介

当软件有国际化的需求时,就需要多语言翻译功能,最常见的语言就是支持中文和英语,本文介绍在vs2015+QT环境下,进行国际化翻译的具体流程。

二、多语言翻译实现流程

1.底层实现原理介绍

QT写的客户端软件,能够将文字显示为不同的语言,底层实现就是为每一个单词或者标识准备多个翻译,分别存储在不同的二进制文件中,需要切换语言时,加载对应语言的二进制文件,该文件以.qm后缀结尾,在程序运行时,根据该文件中的翻译内容进行显示。

QT提供了专门的类和接口来读取.qm文件中的翻译,QTranslator类和installTranslator()接口.举例如下:

QApplication a(argc, argv);
strPath = QCoreApplication::applicationDirPath() + "/translations/ZH/tetool_zh.qm";
QTranslator* m_pTranslator = new QTranslator(&a);
m_pTranslator->load(strPath);	//strPath是.qm文件的路径
qApp->installTranslator(m_pTranslator);

QTranslator类对象负责读取翻译文件中的具体内容, load(strPath)就是.qm文件所在路径;

installTranslator(m_pTranslator) 负责将翻译后的内容装载到程序界面中。

所以要实现语言切换,只需要控制QTranslator类对象去读取不同的qm文件即可。

2.qm文件的来源和ts文件的创建步骤介绍

2.1 qm二进制文件是由.ts文件生成的,qm存储的是二进制格式的翻译内容,.ts文件则以xml的形式进行展现,存储的是人可以看懂的翻译内容,大致内容如下:

<context><name>CMyClass</name><message><location filename="../../MyClass.cpp" line="45"/><source>hello</source><translation>你好</translation></message>
</context>

其中:<name>CWaitingPopup</name> 表示的是类名;

一个<message>节点代表了一个要翻译的字符相关内容;

location节点显示的内容是该字符在MyClass.cpp文件中的45行;

source节点表示的是需要翻译的字符是 hello;

translation 节点表示hello对应的翻译是你好;

QT提供了工具可以根据ts文件中的翻译内容生成二进制格式qm文件,而且生成的文件和ts在同级目录下;在vs2015+QT的环境下,在编辑器中找到一个.ts文件,右键弹出菜单栏,点击lrelease即根据ts文件生成一个qm文件。所以我们只需要创建一个ts文件,并在ts文件中添加对应的翻译即可。

2.2ts文件的创建步骤

在vs2015环境中,要创建QT项目,必须要安装的插件就是Qt VS Tools,安装好之后会在vs2015菜单栏中有对应选项;
点击Qt VS Tools选项,弹出列表,点击Create New translation file列表项;
弹出弹框,选择一种语言,并输入一个文件名,该文件就是以.ts结尾的。

例如选择中文并输入MyClass_zh.ts,点击确认按钮之后,就会在项目结构中多出一个MyClass_zh.ts的文件;如下图

​​

2.3ts文件相关操作

当项目中已经有一个ts文件之后,可以右键选择lupdate和lrelease, 执行lupdate指令,会自动更新ts文件中的所有需要翻译的单词或标识,这些标识是需要在代码中标记出来的,使用QString自带的tr("")方法进行标记.
例如新增代码 tr("hello"),执行lupdate指令,使用Qt Lingusit工具打开ts文件(双击ts文件,默认使用Qt Lingusit打开),在Qt Lingusit工具中进行手动翻译,翻译好之后执行lrelease,程序再次运行时,加载新生成的qm文件,界面上显示最新的翻译后的内容。

三、总结

进行多语言翻译基本步骤如下:
1.代码中使用tr()包含需要标识的源符号(一般用英文)。

2.创建ts文件并更新到最新,并对源符号进行翻译。

3.执行lrelease命令生成对应的qm二进制文件;

4.在程序中使用QTranslator类对象读取qm文件,获取翻译内容;

5.使用installTranslator()函数将翻译内容装载到应用程序中;

如果需要翻译成其他语言的内容,只需要新建ts文件时,选择其他的语言,在调用installTranslator()函数时,入参换成新语言对应的QTranslator类对象即可。

http://www.dinnco.com/news/82233.html

相关文章:

  • 网站网页制作电话公众号软文推广多少钱一篇
  • 如何更改网站标题广告投放公司
  • 网页设计网站免费友链交换
  • asp网站合法核心关键词如何优化
  • 郑州网站制作公司名单免费域名注册永久
  • 广东商城网站建设多少钱网络服务商在哪咨询
  • 北京给公司做网站多少钱百度指数app
  • 专业的赣州网站建设新手怎么开始做电商
  • php动态网站开发难吗百度添加到桌面
  • crazyuncle WordPress北京做seo的公司
  • 南京凯盛建设集团官方网站天津seo外包平台
  • 宁波住房城乡建设局网站网站排名优化需要多久
  • 合肥网站关键词推广搜狗友链交换
  • 番禺网站建设设计广州网站营销seo费用
  • 天津网站建设推广百度怎么免费推广自己的产品
  • 域名购买网站有哪些网页制作app手机版
  • 郑州有做彩票网站的吗优化什么建立生育支持政策体系
  • 公司企业vi设计seo优化与sem推广有什么关系
  • 日本 网站设计什么网站可以免费推广
  • 企业互联网公司以优化为理由裁员合法吗
  • 做cpa怎么建立自己网站百度指数的主要功能有
  • 怎么做自己的公司网站优化网站推广
  • 网站建设推广费怎么做账长沙企业网站设计
  • 满山红网站建设公司岳阳seo快速排名
  • 如何做网上水果网站系统桂林网站设计
  • 中小企业网站开发成都最新疫情
  • 奥运网站模板百度资源共享
  • 廊坊网站建设团队微博营销推广策划方案
  • 靠比免费的软件下载网站郑州seo技术外包
  • 网站建设前后台语言信阳网络推广公司