[SOLVED] Qt translation not working
-
I tried to add multilanguage support in my new program so I just added same code as in my other program where translations were working. But in this case everything remains untranslated... TRANSLATIONS += translation-pl_PL.ts added to .pro file, .ts translated, .qm generated and added to resources (/translations/translation-pl_PL.qm) so I don't think I forgot about doing something necessary...
main.cpp where translation is loaded:
@
#include "mainwindow.h"
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));//checking available program translations QFile tempFile(":/translations/translation-"+QLocale::system().name()+".qm"); if(tempFile.exists()) { //program is translated to system default language qDebug("translation to system default language available"); //Qt translations qDebug("loading qt translations"); QTranslator qtTranslator; bool check; check=qtTranslator.load("qt_"+QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); if(check) { qDebug("qtTranslator load true"); }else{ qDebug("qtTranslator load false"); } a.installTranslator(&qtTranslator); //program translations qDebug("loading program translations"); QTranslator programTranslator; check=programTranslator.load(":/translations/translation-"+QLocale::system().name()); if(check) { qDebug("programTranslator load true"); }else{ qDebug("programTranslator load false"); } a.installTranslator(&programTranslator); } MainWindow w; w.show(); return a.exec();
}
@Debug info:
@
translation to system default language available
loading qt translations
qtTranslator load true
loading program translations
programTranslator load true
@
So everything is loading but translation is not working...What can be wrong here?
-
Hi and welcome to devnet,
Are you sure that you are not getting the english translator ?
Did you add tr() around your texts ?
-
pl_PL translator is loaded. I have tr().
-
The are you sure that the translation file contains the correct texts ?
-
.ts is translated - I can see translations inside it. .qm is generated from it so I think that it should be ok too.
-
If you have the translation files from your other programs handy, can you try to use one of them to see if it behaves better ?
-
I found what was the problem... I defined qtTranslator and programTranslator in if...
-
Great you found out !
Don't forget to update the thread's title so that other forum users may know that a solution has been found :)