Я использую Qt-лингвист для перевода своего приложения (файл пользовательского интерфейса и остальной код). Все идет хорошо, проблема в том, что все переводы (в пользовательском интерфейсе) работают нормально, за исключением элемента, добавленного не из дизайнера, вот мой код для дальнейшего объяснения:
tableWidget = new MyDropTableWidget(ui->verticalLayoutWidget_2);
if (tableWidget->columnCount() < 1)
tableWidget->setColumnCount(1);
tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem(tr("My non translated text"))); if (tableWidget->rowCount() < 21)
tableWidget->setRowCount(21);
...
ui->verticalLayout_2->addWidget(tableWidget);
...
все тексты в ui переведены нормально, только "Мой непереведенный текст" не был. Файл *.ts в порядке ("Мой непереведенный текст" был обнаружен и проверен), файл .qm хорошо расположен, я перестраиваю re lupdate re lrelease мое приложение, но в напрасно: при выполнении моего приложения все тексты переводятся, за исключением «Мой непереведенный текст», все еще на исходном языке.
Любая помощь будет оценена.
Редактировать:
в основном файле:
QTranslator Translator ;
qDebug()<<"Translator->load( lang)"<< Translator.load(":/"+language);
app.installTranslator( &Translator );
в конструкторе главного окна:
ui->retranslateUi(this);