Есть почти готовый проект.
Все переводимые строки заключены в tr().
Сформированы файла перевода *.ts успешно созданы, переведены, скомпилированы бинарники.
Пытаюсь загрузить:
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QTranslator>
#include <QLocale>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// Кодировка
QTextCodec* codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings(codec);
QString bb = QApplication::applicationFilePath();
// Переводы
QTranslator appTranslator;
appTranslator.load(QString("app_en.qm"), bb);
a.installTranslator(&appTranslator);
// Запускаем от имени суперпользователя
bb.toLocal8Bit();
char *tmp1;
tmp1 = bb.toAscii().data();
char buf[BUFSIZ], command[200] = "kdesudo ";
strcat(command, tmp1);
bb.clear();
///////////////////////////
FILE *ptr;
int test=0;
if ((ptr = popen("id | grep uid=0", "r")) != NULL)
while (fgets(buf, BUFSIZ, ptr) != NULL)
test++;
pclose(ptr);
///////////////////////////
if(test==0) {
qDebug() << "USER: get ROOT ... ";
system(command);
a.exit();
} else {
qDebug() << "ROOT: ok. Begin ... ";
MainWindow w;
w.show();
return a.exec();
}
}
Но ни интерфейс, ни диалоговые окна не переводятся. Все строки идут в первоначальном варианте.
Что я забыл/не понял?
Заранее благодарен.