Warning: This function is deprecated. Consider using the target-based functions qt6_add_lrelease or qt6_add_translations instead.


qt_add_translation(<VAR> file1.ts [file2.ts ...]
                    [OPTIONS ...])

If versionless commands are disabled, use qt6_add_translation instead. It supports the same set of arguments as this command.


Calls lrelease on each .ts file passed as an argument, generating .qm files. The paths of the generated files are added to <VAR>.


You can set additional OPTIONS that should be passed when lrelease is invoked. You can find possible options in the lrelease documentation.

By default, the qm files will be placed in the current build directory (CMAKE_CURRENT_BINARY_DIR). To change this, you can set OUTPUT_LOCATION as a property of the source .ts file.

For example, with the following code, the .qm files are generated in a translations directory below the current build directory.

set_source_files_properties(app_en.ts app_de.ts


Generating helloworld_en.qm, helloworld_de.qm in the build directory:

qt_add_translation(qmFiles helloworld_en.ts helloworld_de.ts)

Generating helloworld_en.qm, helloworld_de.qm in a l10n sub-directory:

set(TS_FILES helloworld_en.ts helloworld_de.ts)
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "l10n")
qt_add_translation(qmFiles ${TS_FILES})

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.