Advertisement

Qt国际化静态翻译(Visual Studio + Qt插件)

阅读量:

静态翻译流程

一、在cpp中将待翻译字段使用tr()

复制代码
>       1. labTotal->setText(QString(tr("Total:%1")).arg(rows));

>  
>       2. QMenu* pMenuHelp = new QMenu(tr("Help"));
>  
>       3. QMenu* pMenuLanguage = new QMenu(tr("Language"));
>  
>  
>  
>  
>     cpp
>  
>     

二、生成pro文件

三、在 pro 中加上 TRANSLATIONS

在 Pro 环境中配置 TRANSLATIONS 设置,请使用以下命令添加新的 translations 文件:TRANSLATIONS += trans_zh_CN.ts。你可以根据需求添加多个 translations文件,并确保每个 translations文件对应生成相应的.ts 文件。

复制代码
 TRANSLATIONS += qrc/language/en_CN.ts\

    
     qrc/language/zh_CN.ts
    
    
    
    
    cpp

四、生成ts文件

五、打开Liguist进行翻译并生成 qm文件

1、翻译未翻译项,并确认
2、保存当前翻译
3、发布生成qm文件

六、加载qm文件到进程中

国际化多语言翻译知识点

翻译非Qt类

如果一个字符串类型的类想实现国际化功能,则该类必须继承自QObject基类或使用Q_OBJECT宏进行扩展。而对于非Qt框架类来说,则需要通过在类定义前声明Q_DECLARE_TR_FUNCTIONS宏来实现其翻译功能。

复制代码
 class MyClass

    
 {
    
     Q_DECLARE_TR_FUNCTIONS(MyClass)
    
  
    
 public:
    
     MyClass();
    
     ...
    
 }
    
    
    
    
    cpp

tr 多个相同的源内容需要翻译成不同的 目标翻译

程序安装qm文件

全部评论 (0)

还没有任何评论哟~