Hello, Am Dienstag, 7. November 2023, 15:54:07 CET schrieb Robert Hairgrove via Interest: > On 07.11.23 14:59, Petric Frank wrote: > > Hello, > > > > in my app i have translation files. I added them to the qrc-file because i > > > > want to load the translations from resource: > > <file>app-de_DE.qm</file> > > <file>app-en_US.qm</file> > > > > They are are generated from *.ts files. In *.pro i added > > > > CONFIG += lrelease > > TRANSLATIONS = app-de_DE.ts \ > > > > app-en_US.ts > > > > The problem is when i build the app it breaks at compiling the qrc-file: > > make: *** No rule to make target '../app/app-de_DE.qm', needed by > > > > 'qrc_app.cpp'. Stop. > > > > I think that the lrelease step comes too late. > > > > So the question is how to overcome this ? > > For example executing lrelease earlier - maybe at first - at make run. How > > i have to modify the *.pro file ? > > > > kind regards > > > > Petric > > I always thought that 'lupdate' and 'lrelease' needed to run as external > applications? Adding it to the CONFIG variable will most likely not do > anything.
They are documented in the qmake manual. I found the solution after more digging into the qmake variables documentation and some tests. Do not manually add the qm-files to the qrc file. Instead add following to the *.pro file: CONFIG += lrelease embed_translations which will embed the compiled translations into the resource prefixed by "/ i18n/". This prefix can changed by the variable QM_FILES_RESOURCE_PREFIX. In the code you can access the file under ":/i18n/app-de_DE.pm". Hope that help others. regards Petric _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest