Initial QSfera import
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Tools
|
||||
|
||||
PNPM ?= pnpm
|
||||
MSGCAT ?= msgcat
|
||||
MSGMERGE ?= msgmerge
|
||||
MSGFMT ?= msgfmt
|
||||
|
||||
# Variables
|
||||
|
||||
POT = translation.pot
|
||||
POS ?= $(wildcard *.po)
|
||||
|
||||
# Translations
|
||||
|
||||
.PHONY: build
|
||||
build: json
|
||||
|
||||
.PYTHON: json
|
||||
json:
|
||||
@for po in $(POS); do \
|
||||
lang=$$(echo $$po | sed "s/\.po//"); \
|
||||
$(PNPM) i18next-conv -K --skipUntranslated -l $$lang -s i18n/$$po -t ../src/locales/$$lang/translation.json; \
|
||||
done
|
||||
$(PNPM) node i18n/build-json.js ../src/locales/locales.json $(POS)
|
||||
|
||||
dev-translation.json: FORCE
|
||||
$(PNPM) i18next --fail-on-warnings
|
||||
|
||||
.PHONY: extract
|
||||
extract: pot
|
||||
|
||||
.PHONY: pot
|
||||
pot: dev-translation.json
|
||||
@tmpfile1=$(shell mktemp).po; \
|
||||
tmpfile2=$(shell mktemp).po; \
|
||||
trap 'rm -f "$$tmpfile1" "$$tmpfile2"' EXIT; \
|
||||
$(PNPM) i18next-conv --project "LibreGraph Connect Identifier" -K -l en -s i18n/dev-translation.json -t $$tmpfile1; \
|
||||
$(PNPM) node i18n/build-pot.js $$tmpfile1 $$tmpfile2; \
|
||||
$(MSGCAT) --no-wrap -o $(POT) $$tmpfile2
|
||||
|
||||
.PHONY: merge
|
||||
merge: $(POS)
|
||||
|
||||
$(POS): FORCE $(POT)
|
||||
@echo -n "$@ " && \
|
||||
$(MSGMERGE) -U \
|
||||
--backup=none \
|
||||
--no-wrap \
|
||||
--sort-output \
|
||||
$@ $(POT)
|
||||
|
||||
.PHONY: stats
|
||||
stats:
|
||||
$(foreach po, $(POS), $(shell $(MSGFMT) -v --statistics $(po)))
|
||||
@- true
|
||||
|
||||
FORCE:
|
||||
Reference in New Issue
Block a user