aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-24 14:31:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-24 14:54:45 +0200
commitaca1143cb9eed16cf37f04e475e4257418dd18ac (patch)
tree76a01e647c1f391e66d0e7288aa95f9a482108dd /Makefile
parent214ccac2d45fa67bddca87e0daf010a3e31bab36 (diff)
simplify translations build system
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile41
1 files changed, 14 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index 42f11b3ab..ae82c3825 100644
--- a/Makefile
+++ b/Makefile
@@ -1,20 +1,19 @@
src = src
-ts = $(shell git ls-files $(src) | grep '\.tsx\?$$')
poname = taler-wallet-webex
gulp = node_modules/gulp/bin/gulp.js
tsc = node_modules/typescript/bin/tsc
-po2json = node_modules/po2json/bin/po2json
+pogen = node_modules/pogen/pogen.js
-.PHONY: pogen src/i18n/strings.ts yarn-install
+.PHONY: src/i18n/strings.ts yarn-install
-package-stable: tsc yarn-install
+package-stable: i18n
$(gulp) package-stable
-package-unstable: tsc yarn-install
+package-unstable: i18n
$(gulp) package-unstable
-tsc: tsconfig.json yarn-install src/i18n/strings.ts
+tsc: tsconfig.json yarn-install
$(tsc)
yarn-install:
@@ -23,32 +22,20 @@ yarn-install:
tsconfig.json: gulpfile.js yarn-install
$(gulp) tsconfig
-pogen/pogen.js: pogen/pogen.ts pogen/tsconfig.json
- cd pogen; ../$(tsc)
+dist:
+ $(gulp) srcdist
-pogen: $(ts) pogen/pogen.js yarn-install
+i18n: yarn-install
+ # extract translatable strings
find $(src) \( -name '*.ts' -or -name '*.tsx' \) ! -name '*.d.ts' \
- | xargs node pogen/pogen.js \
+ | xargs node $(pogen) \
| msguniq \
| msgmerge src/i18n/poheader - \
> src/i18n/$(poname).pot
-
-msgmerge:
+ # merge existing translations
@for pofile in src/i18n/*.po; do \
echo merging $$pofile; \
msgmerge -o $$pofile $$pofile src/i18n/$(poname).pot; \
- done; \
-
-dist:
- $(gulp) srcdist
-
-src/i18n/strings.ts: pogen msgmerge
- cp src/i18n/strings-prelude src/i18n/strings.ts
- for pofile in src/i18n/*.po; do \
- b=`basename $$pofile`; \
- lang=$${b%%.po}; \
- $(po2json) -F -f jed1.x -d $$lang $$pofile $$pofile.json; \
- (echo -n "strings['$$lang'] = "; cat $$pofile.json; echo ';') >> $@; \
- rm $$pofile.json; \
- done
-
+ done;
+ # generate .ts file containing all translations
+ $(gulp) po2js