Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt инструментарий _ Перевод плагина

Автор: Гость_Дмитрий_* 29.8.2011, 21:08

Имеется приложение. Везде стоят tr(). Все переводится средствами Linguist.
После запуска подключается к приложению плагин, в котором реализован диалог. В плагине также используются tr(). Имеется файл перевода. Можно ли подключить этот файл перевода в момент подключения плагина? И как это сделать?

Автор: Litkevich Yuriy 30.8.2011, 5:45

загружай его в самом плагине

Автор: Гость_Дмитрий_* 30.8.2011, 22:43

Цитата(Litkevich Yuriy @ 30.8.2011, 5:45) *
загружай его в самом плагине

А как именно его надо загрузить и чего с ним делать?
Основное приложение переводится по классической, описанной в любой книжке схеме:

int main(int argc, char*argv[])
{
initStaticMembers();
QApplication app(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF8"));

QTranslator translator;
translator.load("CM_ru.qm","./tr/");
app.installTranslator(&translator);

CMMainWindow win;
win.init();
return app.exec();
}
В плагине имеется функция интерфейса типа createObject(), которая возвращает указатель на создаваемый объект. У которого в свою очередь есть функция show() для вывода виджета.
Его то и хотелось бы перевести.
А чего делать с файлом перевода плагина? В плагине же не создается объект QApplication? К тому же я где-то читал, что может быть загружен только один файл перевода?

Автор: Litkevich Yuriy 31.8.2011, 10:02

Цитата(Гость_Гость_Дмитрий_*_* @ 31.8.2011, 1:43) *
А чего делать с файлом перевода плагина?
тоже, что ты делаешь в функции main.
Цитата(Гость_Гость_Дмитрий_*_* @ 31.8.2011, 1:43) *
В плагине же не создается объект QApplication?
но он уже существует
Цитата(Гость_Гость_Дмитрий_*_* @ 31.8.2011, 1:43) *
К тому же я где-то читал, что может быть загружен только один файл перевода?
для одного переводчика (QTranslator) - да, но кол-во переводчиков не ограничено.
посмотри, например, функцию void setupTranslations() в файле %QTDIR%\tools\assistant\tools\assistant\main.cpp

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)