C++ I';我试图在Qt中翻译我的应用程序,但出现了一些问题,没有结果

C++ I';我试图在Qt中翻译我的应用程序,但出现了一些问题,没有结果,c++,qt,qt5,qtranslate,C++,Qt,Qt5,Qtranslate,因此,我制作了一个*.qm文件,通过QLinguist进行翻译。现在我试图通过点击按钮来翻译程序,但什么也没发生 这是文件层次结构 问题是,您必须放置生成文件的路径,在您的示例中是翻译/chApp_ru.qm,因为这是chApp_ru.ts的转换,而后一个文件以相对路径作为参考: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.1" language="ru_RU"> &

因此,我制作了一个*.qm文件,通过QLinguist进行翻译。现在我试图通过点击按钮来翻译程序,但什么也没发生

这是文件层次结构


问题是,您必须放置生成文件的路径,在您的示例中是
翻译/chApp_ru.qm
,因为这是
chApp_ru.ts
的转换,而后一个文件以相对路径作为参考:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
    <name>ChatWindow</name>
    <message>
        <location filename="../chatwindow.ui" line="14"/>
        <location filename="../chatwindow.ui" line="266"/>
        <source>chApp</source>
        <extracomment>by tia</extracomment>
        <translation></translation>
    </message>
[...]
输出:


我已经测试了代码,它显示了良好的效果。可能错误在代码的另一部分,请您通过github、驱动器、dropbox或类似工具共享代码。@Eylandesc此处是我的github(克隆聊天文件夹)的链接@Eylandesc如果您发现有什么东西,请在此处写入或建议在github上请求拉取。@m7913d俄语one。实际上,它在.ts文件中,而.qm文件是由lrelease自动生成的
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
    <name>ChatWindow</name>
    <message>
        <location filename="../chatwindow.ui" line="14"/>
        <location filename="../chatwindow.ui" line="266"/>
        <source>chApp</source>
        <extracomment>by tia</extracomment>
        <translation></translation>
    </message>
[...]
void ChatWindow::on_actionRussian_triggered()
{
     translator.load(":/Translations/chApp_ru.qm");
     qApp->installTranslator(&translator);
     ui->retranslateUi(this);
}