zoukankan      html  css  js  c++  java
  • 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步。

    作者:yusq77

    -------------------------------------------

    Wish you all the best and good health in 2021.

  • 相关阅读:
    dlo,学习清单
    OO第一单元优化博客
    BUAA Summer Practice 2017 #1 字符串专场
    OO第一次博客作业
    2018.12.16程设串讲
    助教工作总结 3-22
    软件工程助教3.15总结
    大数据应用技术课程实践--选题与实践方案
    第十五次作业-手写数字识别-小数据集
    第十四次作业-深度学习-卷积
  • 原文地址:https://www.cnblogs.com/yusq77/p/13846727.html
Copyright © 2011-2022 走看看