summaryrefslogtreecommitdiffstats
path: root/src/sdk/sdk.pro
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk/sdk.pro')
-rw-r--r--src/sdk/sdk.pro94
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 += \