qtPrepareTool(LCONVERT, lconvert) | |
qtPrepareTool(LUPDATE, lupdate) | |
LUPDATE += -locations relative -no-ui-lines | |
TS_TARGETS = | |
# meta target name, target name, lupdate base options, files | |
defineTest(addTsTarget) { | |
cv = $${2}.commands | |
$$cv = cd $$QT_SOURCE_TREE/src && $$LUPDATE $$3 -ts $$4 | |
export($$cv) | |
dv = $${1}.depends | |
$$dv += $$2 | |
export($$dv) | |
TS_TARGETS += $$1 $$2 | |
export(TS_TARGETS) | |
} | |
# target basename, lupdate base options | |
defineTest(addTsTargets) { | |
files = $$files($$PWD/$${1}_??.ts) $$files($$PWD/$${1}_??_??.ts) | |
for(file, files) { | |
lang = $$replace(file, .*_((.._)?..)\\.ts$, \\1) | |
addTsTarget(ts-$$lang, ts-$$1-$$lang, $$2, $$file) | |
} | |
addTsTarget(ts-untranslated, ts-$$1-untranslated, $$2, $$PWD/$${1}_untranslated.ts) | |
addTsTarget(ts-all, ts-$$1-all, $$2, $$PWD/$${1}_untranslated.ts $$files) | |
} | |
addTsTargets(qt, -I../include -I../include/Qt \ | |
3rdparty/phonon \ | |
3rdparty/webkit \ | |
activeqt \ | |
corelib \ | |
declarative \ | |
gui \ | |
multimedia \ | |
network \ | |
opengl \ | |
plugins \ | |
qt3support \ | |
script \ | |
scripttools \ | |
sql \ | |
svg \ | |
xml \ | |
xmlpatterns \ | |
) | |
addTsTargets(designer, ../tools/designer/designer.pro) | |
addTsTargets(linguist, ../tools/linguist/linguist.pro) | |
addTsTargets(assistant, ../tools/assistant/tools/tools.pro) | |
addTsTargets(qt_help, ../tools/assistant/lib/lib.pro) | |
addTsTargets(qtconfig, ../tools/qtconfig/qtconfig.pro) | |
addTsTargets(qvfb, ../tools/qvfb/qvfb.pro) | |
check-ts.commands = (cd $$PWD && perl check-ts.pl) | |
check-ts.depends = ts-all | |
isEqual(QMAKE_DIR_SEP, /) { | |
commit-ts.commands = \ | |
cd $$PWD/..; \ | |
for f in `git diff-files --name-only translations/*_??.ts`; do \ | |
$$LCONVERT -locations none -i \$\$f -o \$\$f; \ | |
done; \ | |
git add translations/*_??.ts && git commit | |
} else { | |
wd = $$replace(PWD, /, \\)\\.. | |
commit-ts.commands = \ | |
cd $$wd && \ | |
for /f usebackq %%f in (`git diff-files --name-only translations/*_??.ts`) do \ | |
$$LCONVERT -locations none -i %%f -o %%f $$escape_expand(\\n\\t) \ | |
cd $$wd && git add translations/*_??.ts && git commit | |
} | |
ts.commands = \ | |
@echo \"The \'ts\' target has been removed in favor of more fine-grained targets.\" && \ | |
echo \"Use \'ts-<target>-<lang>\' or \'ts-<lang>\' instead. To add a language,\" && \ | |
echo \"use \'untranslated\' for <lang>, rename the files and re-run \'qmake\'.\" | |
QMAKE_EXTRA_TARGETS += $$unique(TS_TARGETS) ts commit-ts check-ts |