]> git.proxmox.com Git - proxmox-i18n.git/blame - Makefile
update traditional Chinese translations
[proxmox-i18n.git] / Makefile
CommitLineData
5c0bd157 1include /usr/share/dpkg/pkg-info.mk
3f7b1143 2
82cf3f70 3LINGUAS=de it fr ja es sv ru tr zh_CN zh_TW da ca pl sl nb nn pt_BR eu fa gl hu he ar nl kr
3f7b1143 4
5c0bd157
TL
5PVE_I18N_DEB=pve-i18n_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
6PMG_I18N_DEB=pmg-i18n_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
31f04d6b 7PBS_I18N_DEB=pbs-i18n_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
3f7b1143 8
31f04d6b 9DEBS=${PMG_I18N_DEB} $(PVE_I18N_DEB) $(PBS_I18N_DEB)
3f7b1143
DM
10
11PMGLOCALEDIR=${DESTDIR}/usr/share/pmg-i18n
12PVELOCALEDIR=${DESTDIR}/usr/share/pve-i18n
31f04d6b 13PBSLOCALEDIR=${DESTDIR}/usr/share/pbs-i18n
3f7b1143
DM
14
15PMG_LANG_FILES=$(patsubst %, pmg-lang-%.js, $(LINGUAS))
16PVE_LANG_FILES=$(patsubst %, pve-lang-%.js, $(LINGUAS))
31f04d6b 17PBS_LANG_FILES=$(patsubst %, pbs-lang-%.js, $(LINGUAS))
3f7b1143 18
ee60f2d8 19all:
3f7b1143
DM
20
21.PHONY: deb
22deb: $(DEBS)
31f04d6b
TL
23$(PMG_I18N_DEB): $(PVE_I18N_DEB)
24$(PBS_I18N_DEB): $(PVE_I18N_DEB)
25$(PVE_I18N_DEB): | submodule
3f7b1143 26 rm -rf dest
ee60f2d8 27 rsync -a * dest
3f7b1143 28 cd dest; dpkg-buildpackage -b -us -uc
ee60f2d8 29 lintian $(DEBS)
3f7b1143 30
42d82cd2
DM
31.PHONY: submodule
32submodule:
26220b7e
TL
33 test -f pmg-gui/Makefile -a -f proxmox-backup/Makefile -a -f pve-manager/Makefile \
34 || git submodule update --init
42d82cd2 35
3f7b1143 36.PHONY: install
31f04d6b 37install: ${PMG_LANG_FILES} ${PVE_LANG_FILES} ${PBS_LANG_FILES}
3f7b1143
DM
38 install -d ${PMGLOCALEDIR}
39 install -m 0644 ${PMG_LANG_FILES} ${PMGLOCALEDIR}
40 install -d ${PVELOCALEDIR}
41 install -m 0644 ${PVE_LANG_FILES} ${PVELOCALEDIR}
31f04d6b
TL
42 install -d ${PBSLOCALEDIR}
43 install -m 0644 ${PBS_LANG_FILES} ${PBSLOCALEDIR}
3f7b1143
DM
44
45
c1ae7daa
DC
46pmg-lang-%.js: %.po
47 ./po2js.pl -t pmg -v "${VERSION}-${PKGREL}" -o pmg-lang-$*.js $?
3f7b1143 48
c1ae7daa
DC
49pve-lang-%.js: %.po
50 ./po2js.pl -t pve -v "${VERSION}-${PKGREL}" -o pve-lang-$*.js $?
51
31f04d6b
TL
52pbs-lang-%.js: %.po
53 ./po2js.pl -t pbs -v "${VERSION}-${PKGREL}" -o pbs-lang-$*.js $?
54
c1ae7daa
DC
55# parameter 1 is the name
56# parameter 2 is the directory
57define potupdate
58 ./jsgettext.pl -p "$(1) $(shell cd $(2);git rev-parse HEAD)" -o $(1).pot $(2)
59endef
3f7b1143 60
ee60f2d8
TL
61.PHONY: update update_pot
62update_pot: submodule
c1ae7daa
DC
63 git submodule foreach 'git pull --ff-only origin master'
64 $(call potupdate,proxmox-widget-toolkit,proxmox-widget-toolkit/)
65 $(call potupdate,pve-manager,pve-manager/www/manager6/)
66 $(call potupdate,proxmox-mailgateway,pmg-gui/js/)
31f04d6b 67 $(call potupdate,proxmox-backup,proxmox-backup/www/)
ee60f2d8
TL
68
69update: | update_pot messages.pot
c1ae7daa 70 for i in $(LINGUAS); do echo -n "$$i: "; msgmerge -s -v $$i.po messages.pot >$$i.po.tmp && mv $$i.po.tmp $$i.po; done;
3f7b1143 71
16b20080
RV
72stats:
73 @for i in $(LINGUAS); do echo -n "$$i: "; msgfmt --statistics -o /dev/null $$i.po; done
74
ee60f2d8
TL
75init-%.po: messages.pot
76 msginit -i $^ -l $^ -o $*.po --no-translator
77
78.INTERMEDIATE: messages.pot
31f04d6b 79messages.pot: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot proxmox-backup.pot
ee60f2d8 80 msgcat $^ > $@
cbc629ce
DM
81
82.PHONY: distclean
83distclean: clean
84
3f7b1143
DM
85.PHONY: clean
86clean:
87 find . -name '*~' -exec rm {} ';'
ee60f2d8 88 rm -rf dest *.po.tmp *.js.tmp *.deb *.buildinfo *.changes *.js messages.pot
cbc629ce 89
31f04d6b 90.PHONY: upload-pve upload-pmg upload-pbs
cbc629ce 91upload-pve: ${PVE_I18N_DEB}
31f04d6b 92 tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pve --dist buster
cbc629ce 93upload-pmg: ${PMG_I18N_DEB}
31f04d6b
TL
94 tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist buster
95upload-pbs: ${PBS_I18N_DEB}
96 tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pbs --dist buster