LINUX.ORG.RU

Перевод qt-проекта с плагинами

 


0

2

Всем доброго времени суток! Есть ёмкий Qt-проект на основе плагинов (около 30 шт. плагинов и >1000 файлов исходного кода). Структура проекта скопирована с Qt Creator'a: в главном *.pro файле SUBDIRS += share src, в src - SUBDIRS += app libs plugins, в plugins - SUBDIRS += список плагинов. Сейчас переводы ВСЕГО хранятся в одном файле, причем делается это через faked.pro файл (как в Qt Creator), в котором в ручную прописываются пути к каждому плагину или библиотеке, которая должна переводиться. При добавлении нового плагина - надо добавлять строку в faked.pro и делать lupdate/lrelease для общего *.qm файла. Хочется сделать этот процесс более автоматизированным. Как это видится в идеале: Есть один файл translate.bat (он и сейчас есть, просто выполняет lupdate faked.pro / linguist / lrelease), который бы работал по следующим принципам: 1) У плагинов в *.pro файле может быть прописано TRANSLATIONS и в папке с плагином может лежать *.ts файл (и *.qm, если необходимо), так же TRANSLATIONS может и не быть, как и *.ts файла 2) lupdate должна создать один ts файл для всего проекта, в котором объединит переведенные строки плагинов с имеющимися ts и не переведенные строки плагинов без ts 3) lrelease должна сгенерировать qm файл для всего проекта


Я обычно всё это бахаю в INSTALLS - грязно, может быть, но работает.

Deleted
()
Ответ на: комментарий от Deleted

INSTALLS - это немного не то, дело не в автоматизации получения ts или qm файлов.
Если вызвать lupdate для главного *.pro файла без ключа -ts, то сгенерируются (или обновятся) все ts файлы плагинов, у которых прописано TRANSLATIONS.
Если вызвать lupdate с ключом -ts, то в полученный ts файл поместятся все строки из плагинов, у которых не определено TRANSLATIONS.
Итого я получу два -ts файла.
Вопрос в том, как запихнуть их в linguist?

linguist project.ts plugins.ts
При такой загрузке пишет, что файлы не связаны.

renzo
() автор топика

translate.bat

Это какой-то qt-шный bat?

orm-i-auga ★★★★★
()

я бы рекомендовал каждому плагину самостоятельно трансляцию подключать. Не гоже основному процессу хранить все трансляции сразу у себя.

MikeDM ★★★★★
()

И да кстати у меня есть опыт работы с переводами на больших проектах с плагинами.

MikeDM ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.