Qt Lingusit 用法

Qt提供了便捷的多语言处理工具Linguist, 用法如下:

1、在项目文件.pro中添加语言文件名:

TRANSLATIONS += QQ_zh.ts QQ_en.ts

2、使用lupdate工具生成.ts文件。
      Lupdate在安装位置或者QCreator: Tools -> External -> Linguist->Update Translations (lupdate)。

Qt Lingusit 用法_第1张图片

      单击后会在工程目录下生成QQ_zh.ts QQ_en.ts。

3、使用Linguist打开.ts文件,翻译。

      Linguist命令在安装目录下,为了便于在QCreator中使用,进行如下配置:

      Tools -> External ->Configure, 在Linguist目录下And Tool :

      设置Executable: %{CurrentProject:QT_INSTALL_BINS}\linguist.

Qt Lingusit 用法_第2张图片

      使用该工具可直接打开Linguist。读入.ts文件进行翻译,注意:只有包含在ts()中的字符串才能在.ts中出现。所以,待翻译的字符串应该放在tr()中。

4、发布。翻译完成后,点击发布,生成对应的.qm文件。

5、安装翻译器,需在窗口创建之前:

    QApplication a(argc, argv);

    QTranslator translator;
    translator.load(":/qm/QQ_zh.qm");
    a.installTranslator(&translator);

    LoginDialog w;
    w.show();

    return a.exec();

以上步骤之后,即可实现多语言化。

 

以上方法只能在程序开始前切换语言。想要在程序打开且不关闭程序时动态的切换语言,需要重新调用需要翻译的字符串。为了方便起见,一般将需要多语化的设置语言放在一个固定的函数中,切换时再调用一遍。如下:

void SystemTray::retranslate()
{
    showAction->setText(tr("show"));
    quitAction->setText(tr("quit"));
}


 


 

 

你可能感兴趣的:(qt,linguist)