2017-06-06 55 views
0

所以我製作了一個* .qm文件,通過QLinguist進行翻譯。現在我試圖通過點擊按鈕來翻譯​​程序,但沒有任何反應。我想在Qt中翻譯我的應用程序,但出錯了,沒有結果

它的文件層次

QTranslator translator; 
void ChatWindow::on_actionRussian_triggered() 
{ 
    translator.load(":/chApp_ru.qm"); 
    qApp->installTranslator(&translator); 
    ui->retranslateUi(this); 
} 
+0

我已經測試代碼顯示並運行良好。也許錯誤是在你的代碼的另一部分,請你通過github,驅動器,dropbox或類似的程序分享你的代碼。 – eyllanesc

+0

@eyllanesc這裏是鏈接爲我的github https://github.com/tia337/ownProgbase(克隆聊天文件夾) –

+0

@eyllanesc如果你發現一些寫在這裏請或建議在github拉請求。 –

回答

1

的問題是,因爲這是chApp_ru.ts轉換,你必須將生成的文件的路徑,你的情況Translations/chApp_ru.qm,後者文件佔用作爲參考的相對路徑:

<?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> 
[...] 

我建議添加到您的qresource的.qm文件,日在翻譯文件夾中。

其添加爲圖所示:

enter image description here

而且你必須修改代碼以:

void ChatWindow::on_actionRussian_triggered() 
{ 
    translator.load(":/Translations/chApp_ru.qm"); 
    qApp->installTranslator(&translator); 
    ui->retranslateUi(this); 
} 

輸出:

enter image description here

相關問題