qt 多语言相送

Qt/6.2.4/gcc_64/bin/lupdate src/ -ts ts/appname_ca_ES.ts
Qt/6.2.4/gcc_64/bin/lrelease ts/appname_ca_ES.ts

生成ts和qm 在qt creator里操作不知道为什么会异常,但在终端上正常
如果qmake或cmake的 api不好使的话,就加构建后命令调终端处理

一般是生成到src的transaction目录,加到git版本控制上,否则不小心重生成一下覆盖了就哭死
qm生成后,复制到程序目录,让程序加载

    QTranslator translator;
    const QStringList uiLanguages = QLocale::system().uiLanguages();
    for (const QString& locale : uiLanguages)
    {
        const QString baseName = "prismDemo_" + QLocale(locale).name();
        qDebug() << baseName;
        if (translator.load("prismDemo_zh_CN.qm"))
        {
            //app.removeTranslator(&translator)
            app.installTranslator(&translator);
            break;
        }
       // engine.retranslate();
       // ui->retransactionUI();
    }
posted @ 2023-06-18 02:34  马肯尼煤牙巴骨  阅读(26)  评论(0)    收藏  举报