|
| 1 | +TARGET_NAME = $$lower($$NAME) |
| 2 | +LANGUAGES = en ru de |
| 3 | +OUTPUT_DIR = $$TRANSLATIONS_OUT_PATH |
| 4 | + |
| 5 | +defineReplace(prependAll) { |
| 6 | + for(a,$$1):result += $$2$${a}$$3 |
| 7 | + return($$result) |
| 8 | +} |
| 9 | + |
| 10 | +TRANSLATIONS = $$prependAll(LANGUAGES, $${TRANSLATIONS_PATH}/$${TARGET_NAME}_, .ts) |
| 11 | +TRANSLATIONS_OUT = $$prependAll(LANGUAGES, $${OUTPUT_DIR}/$${TARGET_NAME}_, .qm) |
| 12 | + |
| 13 | +isEmpty(QMAKE_LUPDATE) { |
| 14 | + win32:QMAKE_LUPDATE = $$[QT_INSTALL_BINS]\lupdate.exe |
| 15 | + else:QMAKE_LUPDATE = $$[QT_INSTALL_BINS]/lupdate |
| 16 | +} |
| 17 | + |
| 18 | +for(a,TRANSLATIONS): { |
| 19 | + system($$QMAKE_LUPDATE $$join(QML_FILES, " ") -locations none -no-ui-lines -ts $${a}) |
| 20 | +} |
| 21 | + |
| 22 | +isEmpty(QMAKE_LRELEASE) { |
| 23 | + win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe |
| 24 | + else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease |
| 25 | +} |
| 26 | +updateqm.input = TRANSLATIONS |
| 27 | +updateqm.output = $${OUTPUT_DIR}/${QMAKE_FILE_BASE}.qm |
| 28 | +updateqm.commands = $$QMAKE_MKDIR $$shell_path($$dirname(updateqm.output)) $$escape_expand(\n\t) |
| 29 | +updateqm.commands = $$QMAKE_LRELEASE $$shell_path(${QMAKE_FILE_IN}) -qm $$shell_path($${OUTPUT_DIR}/${QMAKE_FILE_BASE}.qm) |
| 30 | +updateqm.CONFIG += no_link |
| 31 | +updateqm.variable_out = PRE_TARGETDEPS |
| 32 | +QMAKE_EXTRA_COMPILERS += updateqm |
| 33 | + |
| 34 | +updateqm_install.files = $$TRANSLATIONS_OUT |
| 35 | +updateqm_install.path = $$[QT_INSTALL_TRANSLATIONS] |
| 36 | +INSTALLS += updateqm_install |
| 37 | + |
| 38 | +OTHER_FILES += $$TRANSLATIONS_OUT |
0 commit comments