ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Qt项目翻译汉化

2020-10-20 15:32:41  阅读:264  来源: 互联网

标签:文件 翻译 Qt translations ts 汉化 qt


Qt项目翻译中文化会涉及到qt基础库的汉化。

一、汉化步骤 - 针对普通汉化

1.在程序源码中标识需要翻译的文本信息

对用户可见的文本信息使用tr()进行封装。 举例如下:label->setText(tr("Hello"));

2.通过Qtcreator生成.ts翻译文件

如果翻译文件位置为 translations/kylin-scanner.zh_CN.ts,

在工程文件中添加: TRANSLATIONS = translations/kylin-scanner.zh_CN.ts工具->外部->Qt语言家->更新翻译(lupdate)

3.通过翻译工具(Linguist), 对.ts文件进行翻译, 发布生成.qm二进制文件

4.在源码中加载.qm文件, 实现汉化

   QTranslator translator;
   QString locale = "/usr/share/kylin-scanner/translations/kylin-scanner." 
   			+ QLocale::system().name();
   qDebug() << locale ;
   translator.load(locale);
   a.installTranslator(&translator);

二、汉化步骤 - 针对Qt5基础库汉化

在文件对话框,如保存文件对话框或者打开文件对话框,往往会出现部分未汉化的情况(未汉化“cancel”按钮)。

  1. 在qt基础库中找到源码的.ts翻译文件

我使用的qt版本为5.14.2,所以翻译文件目录为 Qt5.14.2/5.14.2/Src/qttranslations/translations/qt_zh_CN.ts

  1. 找到要复制翻译的内容并复制到负责的项目中

如要汉化项目中的“cancel”按钮和文件对话框中的内容,将 qt_zh_CN.ts 的相关内容复制到项目的translations/kylin-scanner.zh_CN.ts文件的末尾处。

3.通过翻译工具(Linguist), 对.ts文件进行翻译, 发布生成.qm二进制文件

<context>
    <name>QPlatformTheme</name>
    <message>
    …
    <message>
    <message>
        <location line="+18"/>
        <source>Cancel</source>
        <translation>取消</translation>
    <message>
<context>
<context>
   <name>QFileDialog</name>
   <message>
    …
    <message>
<context>

4.在源码中加载.qm文件, 实现汉化,见一中的第4步。

标签:文件,翻译,Qt,translations,ts,汉化,qt
来源: https://www.cnblogs.com/yusq77/p/13846727.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有