Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: DarkHobbit от Ноябрь 13, 2024, 23:00



Название: Теневая сборка и lrelease
Отправлено: DarkHobbit от Ноябрь 13, 2024, 23:00
Добрый вечер.

Насколько я понимаю, если передать в lrelease имя файла проекта, она обойдёт все TRANSLATIONS и создаст выходные qm-файлы в том же каталоге, где были оригиналы.

Есть какой-то способ изменить это поведение? Когда я делаю теневую сборку, вызывая qmake и make из стороннего каталога, все промежуточные и выходные файлы создаются именно в теневом каталоге. И только *.qm генерируются рядом со своими исходниками (*.ts). Не смертельно, но обидно: теневая сборка же предназначена для того, чтобы не замусоривать дерево исходников...

P.S. Я в курсе, что сейчас вместо lrelease с передачей файла проекта рекомендуют lrelease-pro, но насколько я понимаю, логика там точно такая же...


Название: Re: Теневая сборка и lrelease
Отправлено: kambala от Ноябрь 14, 2024, 17:15
Код:
Usage:
    lrelease [options] -project project-file
    lrelease [options] ts-files [-qm qm-file]
во втором режиме можно указывать куда сохранить qm. конечно, тут придется самому передавать путь к нужным ts либо вручную парсить pro.

а так, иходники lrelease открыты, можно посмотреть что он там делает и как.


Название: Re: Теневая сборка и lrelease
Отправлено: DarkHobbit от Ноябрь 14, 2024, 20:18
Про второй режим я, конечно, знаю. Но это тогда надо автоматизировать каким-то скриптом, который ещё будет разным для разных ОС. Передача файла проекта хотя бы гарантировала, что этим занимается qmake...