diff options
Diffstat (limited to 'src/sdk/sdk.pro')
-rw-r--r-- | src/sdk/sdk.pro | 94 |
1 files changed, 46 insertions, 48 deletions
diff --git a/src/sdk/sdk.pro b/src/sdk/sdk.pro index 86973648e..6af36feb2 100644 --- a/src/sdk/sdk.pro +++ b/src/sdk/sdk.pro @@ -22,95 +22,93 @@ CONFIG(static, static|shared) { DESTDIR = $$IFW_APP_PATH exists($$LRELEASE) { - QT_LANGUAGES = qtbase_de qt_es qt_fr qtbase_it qtbase_ja qt_pl qtbase_ru qt_zh_CN - IB_LANGUAGES = de en es fr it ja pl ru zh_cn - defineReplace(prependAll) { - for(a,$$1):result += $$2$${a}$$3 - return($$result) - } - - defineTest(testFiles) { - for(file, $$1) { - !exists($$file):return(false) - } - return(true) - } - - SUCCESS = false - IB_TRANSLATIONS = $$prependAll(IB_LANGUAGES, $$PWD/translations/,.ts) - QT_TRANSLATIONS = $$prependAll(QT_LANGUAGES, $$[QT_INSTALL_TRANSLATIONS]/,.ts) + IB_TRANSLATIONS = $$files($$PWD/translations/??.ts) $$files($$PWD/translations/??_??.ts) + IB_TRANSLATIONS -= $$PWD/translations/en.ts wd = $$toNativeSeparators($$IFW_SOURCE_TREE) sources = src lupdate_opts = -locations relative -no-ui-lines -no-sort - for(file, IB_TRANSLATIONS) { + IB_ALL_TRANSLATIONS = $$IB_TRANSLATIONS $$PWD/translations/untranslated.ts + for(file, IB_ALL_TRANSLATIONS) { lang = $$replace(file, .*/([^/]*)\\.ts, \\1) v = ts-$${lang}.commands $$v = cd $$wd && $$LUPDATE $$lupdate_opts $$sources -ts $$file QMAKE_EXTRA_TARGETS += ts-$$lang } - ts-all.commands = cd $$wd && $$LUPDATE $$lupdate_opts $$sources -ts $$IB_TRANSLATIONS + ts-all.commands = cd $$wd && $$LUPDATE $$lupdate_opts $$sources -ts $$IB_ALL_TRANSLATIONS QMAKE_EXTRA_TARGETS += ts-all isEqual(QMAKE_DIR_SEP, /) { commit-ts.commands = \ cd $$wd; \ - git add -N src/sdk/translations/*_??.ts && \ - for f in `git diff-files --name-only src/sdk/translations/*_??.ts`; do \ + git add -N src/sdk/translations/??.ts src/sdk/translations/??_??.ts && \ + for f in `git diff-files --name-only src/sdk/translations/??.ts src/sdk/translations/??_??.ts`; do \ $$LCONVERT -locations none -i \$\$f -o \$\$f; \ done; \ - git add src/sdk/translations/*_??.ts && git commit + git add src/sdk/translations/??.ts src/sdk/translations/??_??.ts && git commit } else { commit-ts.commands = \ cd $$wd && \ - git add -N src/sdk/translations/*_??.ts && \ - for /f usebackq %%f in (`git diff-files --name-only src/sdk/translations/*_??.ts`) do \ + git add -N src/sdk/translations/??.ts src/sdk/translations/??_??.ts && \ + for /f usebackq %%f in (`git diff-files --name-only src/sdk/translations/??.ts src/sdk/translations/??_??.ts`) do \ $$LCONVERT -locations none -i %%f -o %%f $$escape_expand(\\n\\t) \ - cd $$wd && git add src/sdk/translations/*_??.ts && git commit + cd $$wd && git add src/sdk/translations/??.ts src/sdk/translations/??_??.ts && git commit } QMAKE_EXTRA_TARGETS += commit-ts - if (!testFiles(QT_TRANSLATIONS)) { - QT_COMPILED_TRANSLATIONS = $$prependAll(QT_LANGUAGES, $$[QT_INSTALL_TRANSLATIONS]/,.qm) - if (testFiles(QT_COMPILED_TRANSLATIONS)) { - SUCCESS = true - copyqm.input = QT_COMPILED_TRANSLATIONS - copyqm.output = $$PWD/translations/${QMAKE_FILE_BASE}.qm - unix:copyqm.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} - win32:copyqm.commands = $$QMAKE_COPY \"${QMAKE_FILE_IN}\" \"${QMAKE_FILE_OUT}\" - copyqm.name = COPY ${QMAKE_FILE_IN} - copyqm.CONFIG += no_link target_predeps - QMAKE_EXTRA_COMPILERS += copyqm + empty_ts = "<TS></TS>" + write_file($$OUT_PWD/translations/en.ts, empty_ts)|error("Aborting.") + IB_TRANSLATIONS += $$OUT_PWD/translations/en.ts + QMAKE_DISTCLEAN += translations/en.ts + + qrc_cont = \ + "<RCC>" \ + " <qresource prefix=\"/\">" + for (file, IB_TRANSLATIONS) { + lang = $$replace(file, .*/([^/]*)\\.ts, \\1) + qfile = $$[QT_INSTALL_TRANSLATIONS]/qtbase_$${lang}.qm + !exists($$qfile) { + qfile = $$[QT_INSTALL_TRANSLATIONS]/qt_$${lang}.qm + !exists($$qfile) { + warning("No Qt translation for '$$lang'; skipping.") + next() + } } - } else { - SUCCESS = true - IB_TRANSLATIONS += $$QT_TRANSLATIONS + qrc_cont += \ + " <file>translations/$${lang}.qm</file>" \ + " <file alias=\"translations/qt_$${lang}.qm\">$$qfile</file>" + ACTIVE_IB_TRANSLATIONS += $$file + RESOURCE_DEPS += $$qfile translations/$${lang}.qm } - - if (contains(SUCCESS, true)) { - updateqm.input = IB_TRANSLATIONS - updateqm.output = $$PWD/translations/${QMAKE_FILE_BASE}.qm + qrc_cont += \ + " </qresource>" \ + "</RCC>" + RESOURCE = $$OUT_PWD/installerbase.qrc + write_file($$RESOURCE, qrc_cont)|error("Aborting.") + QMAKE_DISTCLEAN += $$RESOURCE + + !isEmpty(ACTIVE_IB_TRANSLATIONS) { + updateqm.input = ACTIVE_IB_TRANSLATIONS + updateqm.output = translations/${QMAKE_FILE_BASE}.qm updateqm.commands = $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT} updateqm.name = LRELEASE ${QMAKE_FILE_IN} updateqm.CONFIG += no_link target_predeps QMAKE_EXTRA_COMPILERS += updateqm exists($$RCC) { - RESOURCE_IB_TRANSLATIONS = $$prependAll(IB_LANGUAGES, $$PWD/translations/,.qm) - RESOURCE_QT_TRANSLATIONS = $$prependAll(QT_LANGUAGES, $$PWD/translations/,.qm) - RESOURCE = $$PWD/installerbase.qrc runrcc.input = RESOURCE - runrcc.output = $$PWD/qrc_installerbase.cpp + runrcc.output = qrc_${QMAKE_FILE_BASE}.cpp runrcc.commands = $$RCC -name ${QMAKE_FILE_BASE} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} runrcc.name = RCC ${QMAKE_FILE_IN} runrcc.CONFIG += no_link explicit_dependencies - runrcc.depends = $$RESOURCE_IB_TRANSLATIONS $$RESOURCE_QT_TRANSLATIONS + runrcc.depends = $$RESOURCE_DEPS runrcc.variable_out = SOURCES QMAKE_EXTRA_COMPILERS += runrcc } } } + FORMS += settingsdialog.ui HEADERS += \ |